RegConsoleCmd и Unknown command

Тема в разделе "Программирование / Скриптинг", создана пользователем CrazyHackGUT, 3 окт 2015.

  1. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    Регистрирую команды следующим образом:
    Код:
    RegConsoleCmd("sm_unusualhats", ConCmd:UnusualHatsCMD);
    RegConsoleCmd("sm_uhats", ConCmd:UnusualHatsCMD);
    RegConsoleCmd("sm_hats", ConCmd:UnusualHatsCMD);
    (если пишу без ConCmd, то функция якобы не найдена при компиляции)

    Далее, при тестах в игре, происходит следующая хрень: если я мёртв, то команда доступна, всё ок, пишет мол я умер. Оживаю - "unknown command".
    [​IMG]
    Как исправить такой баг?
     
  2. R1KO

    R1KO Супер-модератор

    Сообщения:
    5.970
    Симпатии:
    2.977
    CrazyHackGUT, всё там норм. Просто в каллбеке нужно вернуть хандлед
     
  3. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.961
  4. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    У меня и так идёт возврат Plugin_Handled'а.

    Добавлено через 7 часов 35 минут
    Вот так сейчас выглядит мой код (часть закоментированного подрезал и перенёс в другой файл):
    [​IMG]
     
    Последнее редактирование: 3 окт 2015
  5. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.961
    У тебя там вывод сообщений везде, а в консоли его нет (ещё жив). Выходит, код завершился ошибкой. Проверь лог ошибок.
     
  6. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    Я проверял. Там пусто. Будто плагин даже и не запускался.
     
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.961
    Я видел такие хостинги, где порой логи вообще не создаются - "Технические неполадки". Если запускаешь не на своём ПК, то лучше сделай больше контрольных сообщений и найдёшь ошибку.
     
  8. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    С момента того поста мой код, если честно, сильно изменился. Сейчас у меня выполнение кода ступорится на этом моменте:
    Код:
    	new AccessoryList[3];
    	new iplayerhat, iEntity = -1;
    	while( ( iEntity = FindEntityByClassname( iEntity, "tf_wearable" ) ) )
    	{
    		iplayerhat = GetEntPropEnt( iEntity, Prop_Send, "m_hOwnerEntity" );
    		if( iplayerhat == iCli )
    		{
    			if (AccessoryList[0] == 0)
    				AccessoryList[0] = iEntity;
    			else if (AccessoryList[1] == 0)
    			{
    				AccessoryList[1] = iEntity;
    			}
    			else if (AccessoryList[2] == 0)
    			{
    				AccessoryList[2] = iEntity;
    			}
    		}
    	}
    
     
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.961
    У тебя бесконечный цикл. Поставь условие: != -1. Оффтоп
     
  10. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    Спасибо. Сейчас попробую.

    Всё отлично работает. Спасибо.
     
    Последнее редактирование: 3 окт 2015
  11. CrazyHackGUT

    CrazyHackGUT Меня здесь нет

    Сообщения:
    817
    Симпатии:
    519
    Продолжая тему проблемы с этим плагином...
    Реально ли заставить клиента повторно запросить весь пакет данных энтити? Без этого, эффект, наложенный плагином, не отображается без record 1;stop у самого клиента.
     
  12. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.505
    Симпатии:
    1.961
    То есть? Отправить команду от его имени? FakeClientCommand может и в чат написать, будто это сделал сам игрок.