|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
Zombie Plague Advanced Classes
|
|
HoRRoR | Дата: Суббота, 11.07.2009, 23:36:04 | Сообщение # 16 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| хм.... может оставить это фишкой?
|
|
| |
CHyCMyMpNk | Дата: Суббота, 11.07.2009, 23:49:27 | Сообщение # 17 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Я думаю не стоит , хотя тебе решать . У нас уже есть зомби который респавнится сам = )
вечное спасибо r013x'y : )
|
|
| |
HoRRoR | Дата: Суббота, 11.07.2009, 23:52:33 | Сообщение # 18 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| исправил ![:)](http://amxmodx.ucoz.ru/Smiles/smile.gif) Добавлено (2009-07-11, 11:52 Pm) --------------------------------------------- кстати. как хантер? не слишком ли много он успевает пробежать?
|
|
| |
CHyCMyMpNk | Дата: Воскресенье, 12.07.2009, 00:52:05 | Сообщение # 19 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Других пока не пробовал Как насчёт некро , сделать воскрешение не всех умерших . А подойдя к трупу и при нажатии что бы только он воскрес = )
вечное спасибо r013x'y : )
|
|
| |
HoRRoR | Дата: Воскресенье, 12.07.2009, 12:14:26 | Сообщение # 20 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| проблемма в том, что труп то пропадает через некоторое время
|
|
| |
CHyCMyMpNk | Дата: Воскресенье, 12.07.2009, 14:06:08 | Сообщение # 21 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Ну или хотябы рандомно пару человек .
вечное спасибо r013x'y : )
|
|
| |
HoRRoR | Дата: Воскресенье, 12.07.2009, 14:09:57 | Сообщение # 22 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| геморно и лень пока так делать =) я вижу два способа: 1. цикл - проверяем дохлый ли игрок и зомби ли он, записываем его id, рандомно из этих id респавним кого нить 2. цикл - проверяем дохлый ли игрок и зомби ли он, делаем рандом число, если почученное число например не то что надо - идем дальше, если то - респавним игрока i и завершаем цикл.
|
|
| |
CHyCMyMpNk | Дата: Воскресенье, 12.07.2009, 17:46:51 | Сообщение # 23 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Воскрешение всех это как то жестоко , особенно когда остался один = ) Добавлено (2009-07-12, 5:46 Pm) --------------------------------------------- У танка где менять секунды ослепления ? Тут ? const FFADE_STAYOUT = 0x0004 И процент как увеличить ?Тут ? new g_chance_to_cast = 25
вечное спасибо r013x'y : )
Сообщение отредактировал CHyCMyMpNk - Воскресенье, 12.07.2009, 17:52:21 |
|
| |
AlMod | Дата: Воскресенье, 12.07.2009, 19:05:30 | Сообщение # 24 |
Сонный кодер
Группа: Админы
Сообщений: 600
Статус: Не в сети
| Сделай массив 3хмерный 1 - ид игрока, 2 - координата х, 3 - координата у. Дальше я думаю все понятно И по координатам уже можно сделать путевую воскрешалку Проблемы будут только на многоэтажных картах
|
|
| |
HoRRoR | Дата: Воскресенье, 12.07.2009, 19:44:36 | Сообщение # 25 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| set_task(4.0,"wake_up",attacker) забыл вывести в config =/ g_chance_to_cast = 25 - да, он. тут 2.5%. Имхо, оптимальное значение. какие есть советы по оптимизации? Добавлено (2009-07-12, 7:44 Pm) --------------------------------------------- вот тут я вывел переменную, + теперь танк отжирается на 20%, ото было не ощутимо как-то Code #include <amxmodx> #include <zombieplague> #include <fun>
#define PLUGIN "[ZP] Class - Tank" #define VERSION "1.1" #define AUTHOR "HoRRoR"
new const zclass_name[] = { "Tank" } new const zclass_info[] = { "- Can force to sleep" } new const zclass_model[] = { "zombie_big" } new const zclass_clawmodel[] = { "v_zombie.mdl" } const zclass_health = 2500 const zclass_speed = 255 const Float:zclass_gravity = 1.0 const Float:zclass_knockback = 0.25
new g_zclass_tank new g_chance[33] new g_msgScreenFade const FFADE_IN = 0x0000 const FFADE_STAYOUT = 0x0004 const UNIT_SECOND = (1<<12)
new g_maxplayers new is_cooldown_time[33] = 0 new is_cooldown[33] = 0
// --- config ------------------------ // new Float:g_revenge_cooldown = 45.0 //cooldown time new Float:g_sleep_time = 3.0 //revenge time new g_chance_to_cast = 5 //chance in percent new const sound_sleep[] = "zombie_plague/spells/zombie_tank/SleepImpact.wav" //cast sound // ----------------------------------- //
public plugin_precache() { g_zclass_tank = zp_register_zombie_class(zclass_name, zclass_info, zclass_model, zclass_clawmodel, zclass_health, zclass_speed, zclass_gravity, zclass_knockback) precache_sound(sound_sleep) }
public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) g_msgScreenFade = get_user_msgid("ScreenFade") g_maxplayers = get_maxplayers() register_logevent("roundStart", 2, "1=Round_Start") }
public client_damage(attacker,victim) { if ((zp_get_user_zombie_class(victim) == g_zclass_tank) && zp_get_user_zombie(victim) && !zp_get_user_nemesis(victim) && (is_cooldown[victim] == 0)) { g_chance[victim] = random_num(0,99) if (g_chance[victim] < g_chance_to_cast) { message_begin(MSG_ONE, g_msgScreenFade, _, attacker) write_short(4) // duration write_short(4) // hold time write_short(FFADE_STAYOUT) // fade type write_byte(0) // red write_byte(0) // green write_byte(0) // blue write_byte(255) // alpha message_end() set_user_health(victim, get_user_health(victim) + (get_user_health(victim) / 5) ) set_task(g_sleep_time,"wake_up",attacker) set_task(1.0, "ShowHUD", victim, _, _, "a",is_cooldown_time[victim]) set_task(g_revenge_cooldown,"reset_cooldown",victim) emit_sound(attacker, CHAN_STREAM, sound_sleep, 1.0, ATTN_NORM, 0, PITCH_NORM); is_cooldown[victim] = 1 } } }
public reset_cooldown(id) { if ((zp_get_user_zombie_class(id) == g_zclass_tank) && zp_get_user_zombie(id) && !zp_get_user_nemesis(id)) { is_cooldown[id] = 0 is_cooldown_time[id] = floatround(g_revenge_cooldown) new text[100] format(text,99,"^x04[ZP]^x01 Your ability ^x04Revenge^x01 is ready.") message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id) write_byte(id) write_string(text) message_end() } }
public ShowHUD(id) { if(is_user_alive(id)) { is_cooldown_time[id] = is_cooldown_time[id] - 1; set_hudmessage(200, 100, 0, 0.75, 0.92, 0, 1.0, 1.1, 0.0, 0.0, -1) show_hudmessage(id, "Revenge cooldown: %d",is_cooldown_time[id]) }else{ remove_task(id) } }
public wake_up(id) { message_begin(MSG_ONE, g_msgScreenFade, _, id) write_short(UNIT_SECOND) // duration write_short(0) // hold time write_short(FFADE_IN) // fade type write_byte(0) // red write_byte(0) // green write_byte(0) // blue write_byte(255) // alpha message_end() }
public zp_user_infected_post(id, infector) { if ((zp_get_user_zombie_class(id) == g_zclass_tank) && !zp_get_user_nemesis(id)) { new text[100] is_cooldown[id] = 0 is_cooldown_time[id] = floatround(g_revenge_cooldown) new note_cooldown = floatround(g_revenge_cooldown) format(text,99,"^x04[ZP]^x01 Your ability is ^x04Revenge^x01 (passive). Cooldown:^x04 %d ^x01seconds.",note_cooldown) message_begin(MSG_ONE,get_user_msgid("SayText"),{0,0,0},id) write_byte(id) write_string(text) message_end() } }
public zp_user_humanized_post(id) { remove_task(id) is_cooldown[id] = 0 }
public roundStart() { for (new i = 1; i <= g_maxplayers; i++) { is_cooldown[i] = 0 is_cooldown_time[i] = floatround(g_revenge_cooldown) remove_task(i) } }
Сообщение отредактировал HoRRoR - Воскресенье, 12.07.2009, 19:43:53 |
|
| |
CHyCMyMpNk | Дата: Воскресенье, 12.07.2009, 20:17:43 | Сообщение # 26 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Я хочу сделать секунды ослепления меньше , но вероятность ослепления больше = )
вечное спасибо r013x'y : )
|
|
| |
HoRRoR | Дата: Воскресенье, 12.07.2009, 20:54:22 | Сообщение # 27 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| боюсь это будет во вред геймплею )
|
|
| |
CHyCMyMpNk | Дата: Воскресенье, 12.07.2009, 23:00:27 | Сообщение # 28 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Посмотрим ) думаю нет ))) Добавлено (2009-07-12, 11:00 Pm) --------------------------------------------- Так интереснее будет это однозначно ) Игроки сами просят добавить процент .
вечное спасибо r013x'y : )
|
|
| |
HoRRoR | Дата: Воскресенье, 12.07.2009, 23:11:09 | Сообщение # 29 |
![HoRRoR](/avatar/36/056492.gif) Полковник
Группа: Скриптеры
Сообщений: 181
Статус: Не в сети
| невезучие у тебя танки просто зы. какие классы уже опробовал?
|
|
| |
CHyCMyMpNk | Дата: Вторник, 14.07.2009, 01:47:15 | Сообщение # 30 |
![CHyCMyMpNk](/avatar/91/7961-338895.jpg) Полковник
Группа: Пользователи
Сообщений: 180
Статус: Не в сети
| Некро и Танк . Сегодня буду ещё кого нибудь пробовать ![;)](http://www.amxmodx.ucoz.ru/Smiles/wink.gif) Добавлено (2009-07-14, 1:47 Am) --------------------------------------------- У Варлока когда нажимаешь использовать абилити и если его нет , то сообщение пишется 2 раза . Когда есть он вылечивает не только тех кто рядом но и себя = )
вечное спасибо r013x'y : )
|
|
| |
![](/.s/t/251/17.gif) | AMX Mod X Russian Community © 2006-2025 ![](/.s/img/cp/7.gif) | ![](/.s/t/251/18.gif) |
|
| |