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

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

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

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

14 страниц V  « 2 3 4 ... 12 13 »

Crux Ansata. Плагин добавляет талисман жизни.

Статус пользователя tato2013
сообщение 8.6.2015, 16:19
Сообщение #41


Стаж: 10 лет

Сообщений: 331
Благодарностей: 121
Полезность: 185

Цитата(ssx @ 8.6.2015, 18:02) *
Подпилил под ХЛДМ
Скрытый текст
Код:
#include <amxmodx>
#include <engine>

//#define MIN_PLAYERS 1
//#define ROUND_ACCESS 0
#define GIVE_HEALTH 5
#define INTERVAL_REGENERATION 2.0

new const g_szModel[] = "models/crux_ansata.mdl";

new g_iPlayerId, szName[32];

public plugin_init()
{
register_plugin("Crux Ansata", "1.0", "DUKKHAZ0R");
register_cvar("crux_ansata", "1.0", FCVAR_SERVER|FCVAR_SPONLY);

register_touch("crux_ansata", "player", "fw_TouchEntity");

// register_event("HLTV", "eRoundStart", "a", "1=0", "2=0");
register_event("DeathMsg", "eDeathMsg", "a", "1>0");
// register_event("TextMsg", "eRoundRestart", "a", "2&#Game_C", "2&#Game_w");

set_task(INTERVAL_REGENERATION, "RegenerationHealth", .flags="b");

set_task(10.1, "eRoundStart");
}

public plugin_precache()
{
precache_model(g_szModel);
}

public client_disconnect(id)
if(g_iPlayerId == id) g_iPlayerId = 0;

//public eRoundRestart()
// g_iRoundCounter = 0;

public eRoundStart()
{
client_print(0,print_chat,"eRoundStart")
// if(++g_iRoundCounter < ROUND_ACCESS || get_playersnum() < MIN_PLAYERS)
// return;

static iEnt;

while((iEnt = find_ent_by_class(iEnt, "crux_ansata")))
remove_entity(iEnt);

static apPlayers[32], iPlayers;
get_players(apPlayers, iPlayers, "ach");

g_iPlayerId = random_num(1, iPlayers);
get_user_name(g_iPlayerId, szName, charsmax(szName));

// ChatColor(0, "^4[CA] ^3%s ^1выпал талисман жизни.", szName);
client_print(0,print_chat,"%s have the talisman!", szName)
}

public eDeathMsg()
{
static pVictim, Float:flOrigin[3]; pVictim = read_data(2);

if(pVictim == g_iPlayerId)
{
new iEnt = create_entity("info_target");

if(!is_valid_ent(iEnt))
return;

entity_get_vector(pVictim, EV_VEC_origin, flOrigin);
entity_set_vector(iEnt, EV_VEC_origin, flOrigin);
entity_set_string(iEnt, EV_SZ_classname, "crux_ansata");
entity_set_int(iEnt, EV_INT_solid, SOLID_TRIGGER);
entity_set_int(iEnt, EV_INT_movetype, MOVETYPE_NONE);
entity_set_int(iEnt, EV_INT_effects, 8);
entity_set_model(iEnt, g_szModel);
entity_set_size(iEnt, Float:{-16.0,-16.0,-16.0}, Float:{16.0,16.0,16.0});
// ChatColor(g_iPlayerId = 0, "^4[CA] ^3%s ^1потерял талисман жизни.", szName);
client_print(0,print_chat,"%s lost the talisman!", szName)
}
}

public fw_TouchEntity(iEnt, id)
{
if(!is_valid_ent(iEnt))
return;

get_user_name(g_iPlayerId = id, szName, charsmax(szName));
// ChatColor(0,"^4[CA] ^3%s ^1поднял талисман жизни.",szName);
client_print(0,print_chat,"%s took the talisman!", szName)

entity_set_int(iEnt, EV_INT_flags, FL_KILLME);
}

public RegenerationHealth()
{
// if(!g_iPlayerId || get_playersnum() < MIN_PLAYERS)
if(!g_iPlayerId)
return;

static Float:fHealth, MsgId_Health; fHealth = entity_get_float(g_iPlayerId, EV_FL_health);

if(!MsgId_Health) MsgId_Health = get_user_msgid("Health");

if(fHealth + GIVE_HEALTH < 100 && is_user_alive(g_iPlayerId))
{
entity_set_float(g_iPlayerId, EV_FL_health, (fHealth + float(GIVE_HEALTH)));

message_begin(MSG_ONE_UNRELIABLE, MsgId_Health, _, g_iPlayerId);
write_byte(floatround(fHealth) + GIVE_HEALTH);
message_end();

message_begin(MSG_ONE_UNRELIABLE, 98, _, g_iPlayerId);
write_short(1<<10);
write_short(1<<10);
write_short(0x0000);
write_byte(0);
write_byte(255);
write_byte(0);
write_byte(40);
message_end();
}
}


Но работает с багами:
Как бы при смерьте теряет талисман и тут же его дает (в чате пишет сразу два сообщения lost и took )
Бывает что при смерьте только теряет , но при возрождении ХП все равно дает (если меньше 100 хп)

[BY] sallvation have the talisman!
Как только его убили - написало в чат сразу 3 сообщения
[BY] sallvation lost the talisman!
[BY] sallvation took the talisman!
[BY] sallvation took the talisman!
При следующей смерти с него все же вылетел талисман:
[BY] sallvation lost the talisman!
[MY] T3RM1NAT0R took the talisman! - подобрал.

При этом мне ни разу не попадался талисман но ХП выдавало ..

тоже самое
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 8.6.2015, 16:28
Сообщение #42
Стаж: 11 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(gamerman @ 8.6.2015, 17:44) *
Я понимаю что моделей много разных.
Предложил бы кто по смыслу подходящую для таклисмана.

как вам вариант с подковой?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 7entol
сообщение 8.6.2015, 16:34
Сообщение #43


Стаж: 9 лет

Сообщений: 143
Благодарностей: 66
Полезность: 214

Цитата(exec1337 @ 8.6.2015, 21:28) *
как вам вариант с подковой?

Талисман жизни же) а не счастья)
Моделька бутылки самое то pardon.gif

Отредактировал: 7entol, - 8.6.2015, 16:37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 8.6.2015, 16:38
Сообщение #44
Стаж: 12 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Простой игровой итем который выпадает после смерти. Ничего не обычно и ничем не удивил. Зачем такое создавать я хочу спросить создателя? (может кому то пригодится - не разумный ответ)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Kasper55
сообщение 8.6.2015, 16:41
Сообщение #45
Стаж: 13 лет

Сообщений: 1145
Благодарности: выкл.

Legend21, ну санлерус сделал и продаёт , а у них бесплатно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 8.6.2015, 16:43
Сообщение #46
Стаж: 8 лет 10 месяцев

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Подкова не годится - да и мелкая она.
Тут бы какой-то драгоценный камень со знаком аптечки на нём или что-то в этом духе.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
exec1337
сообщение 8.6.2015, 16:47
Сообщение #47
Стаж: 11 лет

Сообщений: 6490
Благодарностей: 2558
Полезность: 491

Цитата(7entol @ 8.6.2015, 18:34) *
Талисман жизни же) а не счастья)
Моделька бутылки самое то pardon.gif

ну хз, вам виднее, а по-мне дак дак норм)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dukkhaz0r
сообщение 8.6.2015, 16:54
Сообщение #48


Стаж: 10 лет

Сообщений: 343
Благодарностей: 294
Полезность: 812

Legend21, Что ты здесь хотел увидеть?


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 8.6.2015, 16:55
Сообщение #49
Стаж: 8 лет 10 месяцев

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Цитата(exec1337 @ 8.6.2015, 20:47) *
ну хз, вам виднее, а по-мне дак дак норм)


Драгоценный камень, сундук с жизнями, элексир в ампулах, как-то так...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legend21
сообщение 8.6.2015, 16:58
Сообщение #50
Стаж: 12 лет
Город: Винница

Сообщений: 604
Благодарностей: 229
Полезность: 561

Dukkhaz0r, ты ответь на мой вопрос, а я отвечу на твой. : )

Отредактировал: Legend21, - 8.6.2015, 16:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 8.6.2015, 16:59
Сообщение #51
Стаж: 8 лет 10 месяцев

Сообщений: 186
Благодарностей: 12
Полезность: < 0

Цитата(exec1337 @ 8.6.2015, 20:47) *
ну хз, вам виднее, а по-мне дак дак норм)


Драгоценный камень, сундук с жизнями, элексир в ампулах, как-то так...
То есть что-то таинственное содержащее ауру жизни.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
gamerman
сообщение 8.6.2015, 17:48
Сообщение #52
Стаж: 8 лет 10 месяцев

Сообщений: 186
Благодарностей: 12
Полезность: < 0

В плагине с 1 поста какой-то глюк с рандомностью.
Проиграл 10 раундов, из них талисман 5 раз выпал одному игроку, и 3 раза другому игроку, а третьему и четвертому по 1 разу.
И это при 20 игроках на сервере. Какой-то рандом кривой. Можете глянуть что не так??
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Kasper55
сообщение 8.6.2015, 17:58
Сообщение #53
Стаж: 13 лет

Сообщений: 1145
Благодарности: выкл.

вот и ваше бесплатное , сделают на коленки , нет что бы конфиг сделать нормальный и ланг , а тут еще баг за багом . БРАВО
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Norman111
сообщение 8.6.2015, 17:59
Сообщение #54


Стаж: 11 лет

Сообщений: 328
Благодарностей: 230
Полезность: 403

Kasper55, иди отсюда а, надоел уже

Отредактировал: GOOD FELLOW, - 8.6.2015, 18:55
Причина: Выдано устное предупреждение!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя 7entol
сообщение 8.6.2015, 18:09
Сообщение #55


Стаж: 9 лет

Сообщений: 143
Благодарностей: 66
Полезность: 214

Цитата(gamerman @ 8.6.2015, 21:48) *
В плагине с 1 поста какой-то глюк с рандомностью.
Проиграл 10 раундов, из них талисман 5 раз выпал одному игроку, и 3 раза другому игроку, а третьему и четвертому по 1 разу.
И это при 20 игроках на сервере. Какой-то рандом кривой. Можете глянуть что не так??

Такая же история. Девочка вип и уже минут 30 тока ей даётся талисман хД
Я просто в шоке))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Nixon
сообщение 8.6.2015, 18:15
Сообщение #56


Стаж: 10 лет

Сообщений: 399
Благодарностей: 192
Полезность: 589

Цитата(7entol @ 8.6.2015, 16:33) *
Так же если банишь игрока, то талисман пропадает вместе с ним(


Нужно при дисконнекте тоже дропать.
А на счёт рандома, там он не очень. Возьмите код рандома от Safety1st'a.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя neygomon
сообщение 8.6.2015, 18:19
Сообщение #57


Стаж: 12 лет

Сообщений: 1644
Благодарностей: 515
Полезность: 363

Nixon, просто никто не догадался посмотреть, что он "рандомит" в функции, которая вызывается когда игроки мертвы =)
ему как минимум надо ловить logevent Round_Start, когда игроки уже живые
ну и собсна надо проверять, был ли этот игрок уже с талисманом, скажем, за последние n раундов или нет.

ps.gif
Код:
g_iPlayerId = random_num(1, iPlayers);

->
Код:
g_iPlayerId = apPlayers[random(iPlayers-1)];


Отредактировал: neygomon, - 8.6.2015, 18:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 8.6.2015, 18:22
Сообщение #58


Стаж: 10 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

Kasper55, тестирование и фиксы, не не слышал?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Kasper55
сообщение 8.6.2015, 18:42
Сообщение #59
Стаж: 13 лет

Сообщений: 1145
Благодарности: выкл.

Bloo, зачем тестировать то , что люди тупо скопировали то что работает на ура ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Takashi Murakami
сообщение 8.6.2015, 18:54
Сообщение #60
Стаж: 12 лет

Сообщений: 797
Благодарностей: 459
Полезность: 514

Цитата(Kasper55 @ 8.6.2015, 11:58) *
Да ребят , вы не чего не можете своего делать а только копировать . Жаль вас .


Зато у санлеруса будет стимул совершенствовать свой плагин) Его ведь перестанут покупать из за паблик версии.. Так что это только на пользу. ok.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
14 страниц V  « 2 3 4 ... 12 13 »
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: