Всем привет. Подскажите как пакетно можно изменить название клана, а так-же передать клан к примеру на другого персонажа (не заходя в игру) Возможно с помощью скриптов.
Наверное это глупая идея но попытка не пытка, попробуй покопаться в сервере там где ты узнаешь командой id клана и там же ID мастера home/gamedbd ./gamedbd gamesys.conf listfaction Посредством редактирование файла мб получитсч изменить айди мастера клана. Ну а айди мастера клана я думаю ты найдёшь как.
Не знаю есть тут или нет такой скрипт Код: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>Веб-панель редактор должностей в клане v1.3(C) webserverok.com</title> </head> <body style='text-align: left;'> <? $lvl = array(0=>1,1=>2,2=>3); function SocketSender($Data, $host, $port){ $Socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); if(socket_connect($Socket,$host,$port)) { socket_set_block($Socket); $send = socket_send($Socket,$Data,8192,0); $recv = socket_recv($Socket,$buf,8192,0); socket_set_nonblock($Socket); socket_close($Socket); } else { getErrorMessage(7,'die','feedback'); } } function dbread($table){ $bdlen = pack("n*", strlen($table)+32768); $data = pack('N', -1).$bdlen.$table.pack('N', 0); $Socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); $Data = cuint(3055).cuint(strlen($data)).$data; if(socket_connect($Socket,"127.0.0.1","29400")) { socket_set_block($Socket); $send = socket_send($Socket,$Data,8192,0); $recv = socket_recv($Socket,$buf,8192,0); socket_set_nonblock($Socket); socket_close($Socket); } return $buf; } function cuint($data) { if($data < 64) return strrev(pack("C", $data)); else if($data < 16384) return strrev(pack("S", ($data | 0x8000))); else if($data < 536870912) return strrev(pack("I", ($data | 0xC0000000))); return strrev(pack("c", -32) . pack("i", $data)); } echo "<fieldset style='width: 50%; height: 500px; font-size:20px;'><legend>PW-CHANGE-APPOINTMENT-FACTION v1.3 by wsok.net</legend>"; if($_POST['getfaction'] != ""){ $cfaction = explode(",", $_POST['getfaction']); echo "<form method='post'> <input type='hidden' style='width: 40%; height: 35px; font-size:20px;' min='1' name='roleid1' required placeholder='ID ROLE CURRENT MASTER' value='{$cfaction[3]}'> <input type='number' style='width: 40%; height: 35px; font-size:20px;' min='1' name='roleid2' required placeholder='ID ROLE FOR EDIT'> ID игрока (должен состоять в этом клане!)<br><br> <select name='nedit' style='width: 40%; height: 35px; font-size:20px;'><option value='6'>Член</option><option value='5'>Капитан</option><option value='4'>Майор</option><option value='3'>Маршал [ Заменит текущего маршала! ]</option> <option value='2'>Мастер [ Заменит текущего мастера! ]</option></select> Выбор должности<br><br> <fieldset><legend>Информация о клане</legend> <pre> <b>НАЗВАНИЕ КЛАНА: </b> <font color=red>[ {$cfaction[0]} ] {$cfaction[1]} </font> <b>КОЛИЧЕСТВО ИГРОКОВ: </b> <font color=red>{$cfaction[5]} </font> <b>УРОВЕНЬ КЛАНА: </b> <font color=red>{$lvl[$cfaction[2]]} </font> <b>МАСТЕР КЛАНА (IdRole): </b> <font color=red>{$cfaction[3]}</font> </pre> </fieldset> <fieldset><legend>Анонс клана</legend> <pre>{$cfaction[4]}</pre> </fieldset> </fieldset> <input type='hidden' style='width: 40%; height: 35px; font-size:20px;' min='1' name='fid' required placeholder='ID FACTION' value='{$cfaction[0]}'> <input type='submit' value='ВЫПОЛНИТЬ НАЗНАЧЕНИЕ' style='width: 35%; height: 35px; font-size:20px;'></form> <a href=''>Вернуться к выбору клана</a><br><br>"; }else{ $buf = dbread("factioninfo"); $strlarge = unpack( "H", substr( $buf, 2, 1 ) ); if(substr($strlarge[1], 0, 1) == "8"){$start = 13;}else{$start = 12;} $clancount = unpack( "c", substr( $buf, $start, 4 ) ); $start +=7; for($c=0; $i<$clancount[1]; $c++) { $i++; $clanid = unpack( "N*", substr( $buf, $start, 4 ) ); $start += 4; $namelarge = unpack( "C", substr( $buf, $start, 1 ) ); $start +=1; $clanname = iconv( "UTF-16", "UTF-8", substr( $buf, $start, $namelarge[1] ) ); $start +=$namelarge[1]; $lvl = unpack( "C", substr( $buf, $start, 1 ) ); $start +=1; $masterid = unpack( "N*", substr( $buf, $start, 4 ) ); $start +=4; $master_role = unpack( "C", substr( $buf, $start, 1 ) ); $start +=1; $numroles = unpack( "C", substr( $buf, $start, 4) ); $start += (5*$numroles[1])+1; $namelarge2 = unpack( "C", substr( $buf, $start, 1 ) ); $start +=1; $news = iconv( "UTF-16", "UTF-8", substr( $buf, $start, $namelarge2[1] ) ); $start +=$namelarge2[1]+7; $options .= "<option value='{$clanid[1]},{$clanname},{$lvl[1]},{$masterid[1]},{$news},{$numroles[1]}'>[ {$clanid[1]} ] {$clanname}</option>"; } if($i > 0){ echo "<form method='post'> Выберите клан: <select name='getfaction' style='width: 40%; height: 35px; font-size:20px;'>$options</select><br><br> <input type='submit' value='ВЫБРАТЬ КЛАН' style='width: 35%; height: 35px; font-size:20px;'></form>"; }else{ echo "Кланов не найдено, если Вы считаете, что кланы должны быть - проверьте запущен ли игровой сервер и выданы ли права на файлы и папки."; } } echo "</fieldset>"; if (isset($_POST['roleid1']) && isset($_POST['roleid2']) && isset($_POST['fid'])) { $Pocket = pack("N*",-1).pack('N',$_POST['fid']).pack('N',$_POST['roleid1']).pack('N',$_POST['roleid2']).pack('C',2).pack('C',$_POST['nedit']).pack("N*",12); $Data = cuint(4611).cuint(strlen($Pocket)).$Pocket; SocketSender($Data, $host="127.0.0.1", $port = "29400"); echo"<br><b>Запрос успешно выполнен! Указанные персонажи должны перезайти в игру.</b><br><br>"; }else{ echo"<b>Введите данные в форму</b><br><br>"; } echo "<br> <hr>Веб-панель редактор должностей в клане v1.3 (C) webserverok.com<br>"; echo "</body></html>"; В общем тут можно управлять кланами, но нельзя изменить мастера, или внести человека в клан) Может подскажет кто, или допишет скрипт, чтобы это было осуществимо. Автор Wsok как-раз)
Он мне для 1.5.1 делал скрипт управления кланом, за определенную плату. Задача была - сменить "мертвого мастера" на "живого". Добавить тело в клан или поменять название клану - нет. А вот поменять должность - запросто. Пару раз игроки обращались с просьбой: сменить мастера который не играет более, на активного игрока. Так что обращайся к нему, запилит. Сам ему заявку делал. Платно это будет или нет - как договоритесь.
Переносим в реальный мир. — Испортил страницу с лекцией — Перепиши её заново — Разве это что-то даст? ... спустя час ... — Попробовал, не помогло Абсурд? Именно! Редактирование бд ВСЕГДА даёт результат — данным неоткуда браться, кроме как из бд.