1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Любая версия PHP - Получение списка персонажей

Тема в разделе 'PW Web', создана пользователем wsok, 20 июн 2013.

  1. TopicStarter Overlay

    wsok Программист Пользователи

    Сообщения:
    606
    Лайки:
    173
    Пол:
    Мужской
    Репутация:
    3
    Вот потому не люблю выкладывать файлы на сторонние(чужие) форумы, где администрация не отличается компетентностью и при обновлении форума не следят за целостностью контента. Хорошо, что я давно не чистил папки от старых файлов и данный архив со скриптом перезаливаю на форум по Вашей просьбе.

    Вложения:

    devbola нравится это.
  2. LemanRass1234 Пользователи

    Сообщения:
    21
    Лайки:
    1
    Репутация:
    0
    Огромное спасибо :)
  3. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    PHP:

    <form method="post">
    <input type="text" name="userid">
    <input type="submit">
    </form>
    <?php
    if (!isset($_POST["userid"]))
       return;

    include(
    "packet_class.php");

    $GetUserRolesArg = new WritePacket();
    $GetUserRolesArg -> WriteUInt32(-1); // always
    $GetUserRolesArg -> WriteUInt32(intval($_POST["userid"])); // userid
    $GetUserRolesArg -> Pack(0xD49);

    if (!
    $GetUserRolesArg -> Send("localhost"29400)) // send to gamedbd
       
    return;
     
    $GetUserRolesRes = new ReadPacket($GetRoleBase); // reading packet from stream
    $GetUserRolesRes -> ReadPacketInfo(); // read opcode and length
    $GetUserRolesRes -> ReadUInt32(); // always
    $GetUserRolesRes -> ReadUInt32(); // retcode
    $count $GetUserRolesRes -> ReadCUInt32();
    for (
    $i 0$i $count$i++)
    {
       
    $roleid $GetUserRolesRes -> ReadUInt32();
       
    $rolename $GetUserRolesRes -> ReadUString();
       echo 
    "[{$roleid}{$rolename}<br>";
    }
    ?>
    По поводу реткода, здесь есть для retcode == 4 эксепшн (из аута).
    Последнее редактирование: 20 фев 2016
    shadowvzs нравится это.
  4. shadowvzs Пользователи

    Сообщения:
    57
    Лайки:
    28
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Romania Romania
    simple listing roles from first post worked but with this php code
    for me if i wrote account id and submitted then nothing happened except the refresh, whats wrong? [1.4.2 v27]
    простые роли листинга из первого поста работал, но с этим кодом PHP
    для меня, если я написал идентификатор учетной записи и представил тогда ничего не произошло , за исключением обновления , что не так ?
  5. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Класс для работы с пакетами закинь в папку со скриптом http://mmorpg-devs.ru/threads/packet-class-pw.17789/
    shadowvzs нравится это.
  6. shadowvzs Пользователи

    Сообщения:
    57
    Лайки:
    28
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Romania Romania
    it is in same folder, editing roleid work (ex. 1024), but getting roles on account not working, $count ="" or unset i not know
    он находится в той же папке, редактирование работы (Идентификатор роли напр. 1024), но получение ролей на счету не работает, $ Count = "" или отключенное я не знаю

    Вложения:

  7. shadowvzs Пользователи

    Сообщения:
    57
    Лайки:
    28
    Пол:
    Мужской
    Репутация:
    0
    Страна:
    Romania Romania
    output for print_r

    --- добавлено: 6 янв 2017 в 23:07 ---
    Код:
    $GetUserRolesRes = new ReadPacket($GetRoleBase);
    =>

    Код:
    $GetUserRolesRes = new ReadPacket($GetUserRolesArg);
    :))
    Последнее редактирование модератором: 14 янв 2017
  8. Joe Пользователи

    Сообщения:
    53
    Лайки:
    15
    Репутация:
    0
    Команда:
    WebDecode
    В место имени персонажа выводит "䌄䄄䄄", хотя должно выводить "Русс"
    При работе на одном сервере все хорошо, а когда подключаюсь с локалхоста - такая вот ерунда)
    Подскажите, в чем может быть проблема?
  9. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Ты про чьё решение спрашиваешь?
  10. Joe Пользователи

    Сообщения:
    53
    Лайки:
    15
    Репутация:
    0
    Команда:
    WebDecode
    Это pw_packet, только разделенный под неймспейсы) скрипт рабочий, все ок) вот только выводит в место логина юзера китайские иероглифы
    Потом вызываю метод в контроллере)
    PHP:
    <?php
    namespace App\Http\Controllers\GM;
    use 
    Illuminate\Http\Request;
    use 
    App\Http\Controllers\Controller;
    use 
    App\User;
    use 
    App\pw\User as UsrAPI;

    class 
    UserController extends Controller
    {
        public function 
    index() {
            
    $dt = Array();
            
    $dt['userlist'] = User::paginate(30);
            return 
    view('gm.users'$dt);
        }
      
        public function 
    viewUser(Request $request) {
            
    $dt = Array();
            
    $accaunt User::find($request->id);
            if ( 
    $accaunt->id ) {
                
    $uapi = new UsrAPI;
                
    $tm = Array();
                foreach (
    $uapi->getPlayersList($accaunt->gameid) as $player) {
                    
    $tm[] = $uapi->getPlayerInfo($player[0]);
                }
                
    //    print_r($tm); exit;
                
    $dt['players'] = $tm;
                
    $dt['userinfo'] = $accaunt;
            }
            return 
    view('gm.users'$dt);
        }
      
      
    }
    Работает все, кроме логина) пробовал играться с кодировками, все бестолку

    Вложения:

    • pw.zip
      Размер файла:
      3,7 КБ
      Просмотров:
      7
  11. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Проверь порядок байт.
  12. Joe Пользователи

    Сообщения:
    53
    Лайки:
    15
    Репутация:
    0
    Команда:
    WebDecode
    Это очень странно, но скрипт не работает только у меня на локалке) так все ок
  13. JonMagon Программист Пользователи Open Source Contributor

    Сообщения:
    805
    Лайки:
    809
    Пол:
    Мужской
    Репутация:
    5
    Страна:
    Germany Germany
    Так я же и говорю: проверь, что принимает на локале и сравни.
  14. RolleR Пользователи

    Сообщения:
    10
    Лайки:
    11
    Репутация:
    0
    Пытаюсь запустить триггер из npcgen
    PHP:
    $Packet = new WritePacket();
            
    $Packet -> WriteUInt32(66); //xid? triggerid?/trigger_gm_id?
            
    $Packet -> WriteUInt32(1);    // worldtag 1 for world?
            
    $Packet -> WriteOctets(""); //Data
            
    $Packet -> Pack(0x17c); //Opcode
            
    $Packet -> Send("localhost"29100);
    Что я делаю не так?
Черновик сохранён Черновик удалён
Similar Threads
  1. Chaos13
    Ответов:
    6
    Просмотров:
    2.342
  2. Misha900005
    Ответов:
    11
    Просмотров:
    2.805
  3. LemanRass1234
    Ответов:
    5
    Просмотров:
    2.042
  4. LemanRass1234
    Ответов:
    2
    Просмотров:
    1.416
  5. Tails
    Ответов:
    6
    Просмотров:
    2.208
Загрузка...

Поделиться этой страницей