PW-CHANGE-MASTER-FACTION

wsok

WebServerOK
Пользователь
20 Янв 2013
121
49
28
47
какой ещё адрес? оО =)
wsok.net
Данный инструмент позволит переназначить мастера клана. Достаточно заполнить 3 поля, айди текущего мастера, айди нового мастера, айди клана... После чего нажимаем кнопку и все, мастер переназначен, если игроки, которым переназначали права были в сети, то нужно перезайти. Если не перезаходить, то надпись мастер, у старого мастера и надпись член(или любое другое звание) у нового мастера лишь визуально, на деле старый мастер уже не сможет управлять, а новому нужно перезайти в игру, чтоб разблокировались кнопки управления в панели клана.

34448.jpg


Это пока первая версия скрипта и не исключены ошибки. Проверен был на версии 1.4.4, но есть вероятность, что будет работать на более поздних версиях. За обновлениями можете следить на моем форуме. Принимаются предложения по доработке, конструктивная критика, постараемся учесть все.

С уважением команда вебсерверок.
 

Вложения

  • mfaction.zip
    1,3 KB · Просмотры: 44
Последнее редактирование:

Vieraw

Администратор
Команда форума
Администратор
12 Май 2012
273
145
43
27
Принимаются предложения по доработке, конструктивная критика, постараемся учесть все.
PHP:
$retcode = pack('N',-1);
$fid = pack('N',1);
$superior = pack('N',1024);
$roleid = pack('N',1040);
$suprole = pack('C',2);
$newrole = pack('C',2);
$max = pack('N',0);
$data = $retcode.$fid.$superior.$roleid.$suprole.$newrole.$max;
$data = cuint(4611).cuint(strlen($data)).$data;
Пакет номер: 4611.
Название: DBFactionPromote.
Структура:
PHP:
	unsigned int fid;
	unsigned int superior;
	unsigned int roleid;
	char suprole;
	char newrole;
	int max;
Изменение звания любого персонажа из клана:
PHP:
 $retcode = pack('N',-1);
$fid = pack('N',1);
$rid = pack('N',1024);
$operation = pack('C',1);
$role = pack('C',1);
$loyalty = pack('n',-1);
$nickname = PackString('nickname');
$data = $retcode.$fid.$rid.$operation.$role.$loyalty.$nickname;
$data = cuint(4604).cuint(strlen($data)).$data;
Пакет номер: 4604.
Название: UpdateUserFaction
Структура:
PHP:
	unsigned int fid;
	unsigned int rid;
	char operation;
	char role;
	short loyalty;
	Octets nickname;
 

wsok

WebServerOK
Пользователь
20 Янв 2013
121
49
28
47
какой ещё адрес? оО =)
wsok.net
Скрипт обновлен, учитывая пример от Vieraw, однако пришлось кое что оставить по причине, что последние 4 байта пакета оказались в его примере нерабочими. А именно в последний сегмент пакета пришлось запаковать значение "12" для работы скрипта, значение "0" оказалось нерабочим.

Теперь скрипт может не только переназначать мастера, но и назначать на любую должность указанного игрока в клане.

mfaction1.1.jpg
 

Вложения

  • mfaction_v1.1.zip
    1,5 KB · Просмотры: 25

wsok

WebServerOK
Пользователь
20 Янв 2013
121
49
28
47
какой ещё адрес? оО =)
wsok.net
кое что уточню, так как вижу автор примера немного меня побранил в чате из за нуля в конце пакета ))

вот вариант из последней версии скрипта, что я выложил:

PHP:
$retcode = pack("N*",-1);
$fid = pack('N',$_POST['fid']); //выбираем ид клана
$superior = pack('N',$_POST['roleid1']); //текущий мастер
$roleid = pack('N',$_POST['roleid2']); //игрок, которого редактируем
$suprole = pack('C',2);
$newrole = pack('C',$_POST['nedit']); //новая должность выбранного игрока
$ni = pack("N*",12); // тут в примере от вирав был 0, но что то не заработало, привел тогда к виду из прошлого своего скрипта, т.е. значение 12 в конце поставил...
 
$Data = $retcode.$fid.$superior.$roleid.$suprole.$newrole.$ni;
$Data = cuint(4611).cuint(strlen($Data)).$Data;
 
вот и все
 

Пользователи онлайн

Сейчас на форуме нет ни одного пользователя.

Последние ресурсы

Статистика форума

Темы
3.838
Сообщения
21.199
Пользователи
7.611
Новый пользователь
Shenia