Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Натив не передает значения

[РЕШЕНО]
Статус пользователя DeMNiX
сообщение 3.4.2017, 8:12
Сообщение #1


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Решено
нужен был натив для zp победы одной из команд. Вроде всё просто, но вот незадача, значение функции не хочет передаваться

zp_gamemodes
Код:

new g_Winteam;
public plugin_natives()
{
register_native("zp_gamemodes_get_winteam", "native_get_winteam");
}

public native_get_winteam(ID, params)
{
return g_WinTeam;
}

public Logevent_Round_End()
{
ExecuteForward(g_Forwards[FW_GAME_MODE_END], g_Forward_Result, g_Current_Game_Mode);

new Zombie = 0, Humans = 0;

for (new id = 1; id<=g_iMax_Clients; id++)
{
if(BIT_NOT_VALID(g_iBit_Connected, id))
continue;

if(BIT_NOT_VALID(g_iBit_Alive, id))
continue;

if(zp_core_is_zombie(id))
Zombie++;
else
Humans++;
}

if(Zombie>0 && Humans>0)
g_WinTeam = None;
else
{
if (Zombie > 0)
g_WinTeam = Team_Zombies;
else
if(Humans>0)
g_WinTeam = Team_Humans;
else
g_WinTeam = None;
}

#if defined TEST
client_print(0, print_chat, "[winteam] Zombie = %d; Humans = %d", Zombie, Humans)
if(g_WinTeam == 2)
client_print(0, print_chat, "[winteam] Winteam = Zombies")
else
if(g_WinTeam == 1)
client_print(0, print_chat, "[winteam] Winteam = Humans")
else
client_print(0, print_chat, "[winteam] Winteam = None")
#endif


.inc
Код:

#define None 0
#define Team_Humans 1
#define Team_Zombies 2

native zp_gamemodes_get_winteam()


testplug
Код:

public zp_fw_gamemodes_end(game_mode_id)
{
client_print(0, print_chat, "[test] winteam == %d",zp_gamemodes_get_winteam());
}


В конце раунда выводит значение победы людей или зм в зависимости от ситуации, т.е. он работает хорошо в плагине с рег. нативом, а вот в тестовом плагине значение не передается и показывает 0. Что не так?

*add*
zp50-plugins
Код:

zp50_gamemodes.amxx debug
...
...
test.amxx


Отредактировал: DeMNiX, - 3.4.2017, 9:48
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя fl0werD
сообщение 3.4.2017, 9:20
Сообщение #2
Стаж: 9 лет 2 месяца

Сообщений: 155
Благодарностей: 114
Полезность: 692

Совсем не хочет?
Попробуй ExecuteForward(g_Forwards[FW_GAME_MODE_END], g_Forward_Result, g_Current_Game_Mode);
В конце функции поставить.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DeMNiX
сообщение 3.4.2017, 9:41
Сообщение #3


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

я не внимательный
спасибо smile.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: