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

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

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

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

Показ сообщения, помощь с set_task

Статус пользователя BornToBeFree
сообщение 28.10.2014, 21:38
Сообщение #1


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Подскажите, как сделать, чтобы сообщение показывалось постоянно мертвым игрокам?
Через set_task вроде как-то подсказывали, сейчас у меня сообщение пропадает сразу же

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

// Координаты
#define Y -1.0
#define X 0.15

new const g_szText[] ={ "Ваш текст для мертвых игроков" };

new g_iMaxPlayers;
new g_syncHudMessage;

public plugin_init()
{
register_plugin("HUD Message", "1.1", "neygomon");
register_event("HLTV", "eventRoundStart", "a","1=0","2=0");
register_event("DeathMsg", "eventDeathMsg", "a", "1>0");
g_iMaxPlayers = get_maxplayers();
g_syncHudMessage = CreateHudSyncObj();
}

public eventRoundStart()
{
ClearSyncHud(0, g_syncHudMessage);
CheckSpec();
}
public eventDeathMsg()
{
static id;
id = read_data(2);
if(is_user_connected(id)) hud_message(id);
}

public CheckSpec()
{
if(get_playersnum() == 0) return;
static i;
for(i=1; i < g_iMaxPlayers; i++)
{
switch(_:cs_get_user_team(i))
{
case 3:
{
ClearSyncHud(i, g_syncHudMessage);
hud_message(i);
}
}
}
}

stock hud_message(id)
{
set_hudmessage(random_num(0, 255, 0, Y, X, 0, 0.0, 0.0, 0.0, 0.2, -1);
ShowSyncHudMsg(id, g_syncHudMessage, "%s", g_szText);
}


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя KaJIbIBaH
сообщение 29.10.2014, 15:12
Сообщение #2


Стаж: 19 лет

Сообщений: 151
Благодарностей: 142
Полезность: 929

set_task
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 29.10.2014, 15:41
Сообщение #3


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

Выдерни нужны код от сюда. Можешь вообще его использовать

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

#define Y -1.00 // Координата игрик у живого игрока
#define X 0.02 // Координата икс у живого игрока
#define Y_DEAD 0.02 // Координата игрик у мертвого игрока
#define X_DEAD 0.2 // Координата икс у мертвого игрока
#define TIMESHOW 30.0 // Время отображения HUD сообщения

new const g_szText_alive[][] =
{
"Сообщение живого 1",
"Сообщение живого 2",
"Сообщение живого 3",
"Сообщение живого 4",
"Сообщение живого 5"
};

new const g_szText_dead[] ={ "Сообщение мертвого [строка 1]^nСообщение мертвого [строка 2]^nСообщение мертвого [строка 3]" }; // ^n - перенос на новую строку

new g_Alive[33];

public plugin_init()
{
register_plugin("HUD Message", "1.5", "neygomon");
RegisterHam(Ham_Spawn, "player", "Ham_PlayerSpawnPost", 1);
RegisterHam(Ham_Killed, "player", "Ham_PlayerKilled_Post", 1);
set_task(TIMESHOW, "hud_message", .flags="b")
}

public Ham_PlayerSpawnPost(id) g_Alive[id] = is_user_alive(id);

public Ham_PlayerKilled_Post(id) g_Alive[id] = 0;

public hud_message()
{
static g_iNumberMessage[33], g_syncHudMessage, players[32], pnum;
if(!g_syncHudMessage) g_syncHudMessage = CreateHudSyncObj();
get_players(players, pnum, "ch");
for(new i; i < pnum; i++)
{
ClearSyncHud(players[i], g_syncHudMessage);
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), g_Alive[players[i]] ? Y : Y_DEAD, g_Alive[players[i]] ? X : X_DEAD, 0, 10.0, TIMESHOW, 0.0, 0.0, -1);
ShowSyncHudMsg(players[i], g_syncHudMessage, "%s", g_Alive[players[i]] ? (g_szText_alive[g_iNumberMessage[players[i]] == charsmax(g_szText_alive) ? (g_iNumberMessage[players[i]] = 0) : ++g_iNumberMessage[players[i]]]) : g_szText_dead);
}
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BornToBeFree
сообщение 29.10.2014, 19:31
Сообщение #4


Стаж: 12 лет

Сообщений: 741
Благодарностей: 287
Полезность: 602

Меценат Меценат

Что означает данное предупреждение при компиляции?

Исходник и скриншот

Прикрепленное изображение
Код:
#include <amxmodx>
#include <cstrike>

#define REPEAT 30.0

new const g_szText[] ={ "Ваше сообщение" };
new g_syncHudMessage;
new players[32], pnum;

public plugin_init()
{
register_plugin("HUD Message", "1.1", "neygomon");
register_logevent("eRoundStartPost", 2, "1=Round_Start");
g_syncHudMessage = CreateHudSyncObj();
set_task(REPEAT, "CheckSpec");
}

public eRoundStartPost()
{
get_players(players, pnum, "ch");
for(new i; i < pnum; i++)
{
switch(get_user_team(players[i]))
{
case 1, 2: ClearSyncHud(players[i], g_syncHudMessage);
}
}
}

public CheckSpec()
{
get_players(players, pnum, "ch");
for(new i; i < pnum; i++)
{
if(cs_get_user_team(players[i]) != 3)
continue;
ClearSyncHud(players[i], g_syncHudMessage);
set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 0.0, REPEAT+0.03, 0.0, 0.2, -1);
ShowSyncHudMsg(players[i], g_syncHudMessage, g_szText);
}
}


Скидка 5% при заказе сервера
Чтобы получить 5% скидку при заказе сервера на хостинге Serva4ok.ru
Необходимо ввести это кодовое слово gKUt-FENO-ZonE-aIaa
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ex3m777
сообщение 29.10.2014, 21:16
Сообщение #5


Стаж: 13 лет
Город: Москва

Сообщений: 2037
Благодарностей: 1135
Полезность: 968

Меценат Меценат

http://amx-x.ru/viewtopic.php?f=9&t=10
Неверно указанно какое-то из значений функции..

Отредактировал: ex3m777, - 29.10.2014, 21:23


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