Half-Life и Adrenaline Gamer форум

Всё об игре в Халф-Лайф и АГ
Текущее время: 28 мар 2024, 23:13

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: replace decal player
СообщениеДобавлено: 14 сен 2017, 18:12 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
Hi
i try to replace decal players but i cant see the new decal ?
Код:
#include < amxmodx >

public plugin_init( )
{
   register_message( SVC_TEMPENTITY, "ReplaceTempEntity" );
}

public ReplaceTempEntity( )
{
   if( get_msg_arg_int(1) == TE_PLAYERDECAL  )
   {
      set_msg_arg_int( 5, get_msg_argtype( 5 ), 45 );// 45 = "{biohaz" decal
      
      return PLUGIN_HANDLED
   }
   return PLUGIN_CONTINUE
}

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 14 сен 2017, 21:49 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Not sure why you are changing 5th argument, its a COORD:
Код:
   MESSAGE_BEGIN( MSG_BROADCAST, SVC_TEMPENTITY );
1      WRITE_BYTE( TE_PLAYERDECAL );
2      WRITE_BYTE ( playernum );
3      WRITE_COORD( pTrace->vecEndPos.x );
4      WRITE_COORD( pTrace->vecEndPos.y );
5      WRITE_COORD( pTrace->vecEndPos.z );
6      WRITE_SHORT( (short)ENTINDEX(pTrace->pHit) );
7      WRITE_BYTE( index );
   MESSAGE_END();


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 14 сен 2017, 22:25 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
lol
I had forgotten it because I was experimenting with TE_WORLDDECAL
Should be 7 argument
I have not got the result yet

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 15 сен 2017, 12:02 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
I tried this plug-in but it did not work either

Код:
#include <amxmodx>
#include <fakemeta>

#define VERSION "0.0.1"

#define write_coord_f(%1) engfunc(EngFunc_WriteCoord, %1)

new g_iUniqueDecal

public plugin_init()
{
    register_plugin("All Player Same Tag", VERSION, "ConnorMcLeod")

    g_iUniqueDecal = engfunc( EngFunc_DecalIndex , "{biohaz" )

    register_message(SVC_TEMPENTITY, "Message_TempEntity")
}

public Message_TempEntity()
{
    if( get_msg_arg_int(1) == TE_PLAYERDECAL )
    {
        message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
        write_byte(TE_WORLDDECAL)
        write_coord_f(get_msg_arg_float(2))
        write_coord_f(get_msg_arg_float(3))
        write_coord_f(get_msg_arg_float(4))
        write_byte(g_iUniqueDecal)
        message_end()
        return PLUGIN_HANDLED
    }
    return PLUGIN_CONTINUE
}
What is the explanation?

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 15 сен 2017, 22:21 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
I am afraid, you can't send another message inside message-handler. You should block it, and send another. Probably with task. Not sure, actually, need testing.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 15 сен 2017, 22:45 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
When they are delayed (task)
server crashed


Вложения:
Capture.JPG
Capture.JPG [ 17.14 КБ | Просмотров: 3046 ]

_________________
https://vk.com/kgbaghl
Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 15 сен 2017, 23:53 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Sounds impossible. Task can't start in the middle of some message.


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 16 сен 2017, 01:49 
Не в сети
Зарегистрирован:
23 июл 2012, 18:33
Последнее посещение:
29 окт 2017, 13:38
Сообщения: 82
Откуда: Рига
You cannot send a new message before other message has not sent it's message_end().
Your first post is actually correct, except one thing - why are you using PLUGIN_HANDLED. You alter the message argument and then you block the whole message???


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 16 сен 2017, 02:29 
Не в сети
Аватара пользователя
Зарегистрирован:
22 окт 2014, 19:26
Последнее посещение:
20 мар 2024, 19:47
Сообщения: 1018
NiHiLaNTh писал(а):
why are you using PLUGIN_HANDLED
Just to cancel the old message.
NiHiLaNTh писал(а):
You alter the message argument and then you block the whole message???
Should be replaced without block the old message? No!

 

_________________
https://vk.com/kgbaghl


Вернуться к началу
 Профиль 
  
 Заголовок сообщения: Re: replace decal player
СообщениеДобавлено: 16 сен 2017, 03:17 
Не в сети
Site Admin
Зарегистрирован:
01 июн 2010, 01:27
Последнее посещение:
26 мар 2024, 21:42
Сообщения: 6864
Depends on what you are trying to achive. If to change decal index, then just replacing the arg is the way. Only the question will be "replacing with what?"


Вернуться к началу
 Профиль 
  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB