#include <amxmodx> #include <fun> #define REG_HP 23 #define MAX_HP 3000 #define TIME_HP 1 public plugin_init() register_event("Health", "Health", "be"); public Health(id) { if(get_user_team(id) == 1 && is_user_alive(id)) if(!task_exists(id)) set_task(float(TIME_HP), "giveHp", id + 234); } public giveHp(id) { id -= 234; new iNowHP = get_user_health(id); if(iNowHP < MAX_HP) { if(task_exists(id + 234)) remove_task(id + 234); } for(new i = REG_HP; i > 0; i--) { if(iNowHP + i > MAX_HP) continue; else { if(iNowHP < MAX_HP) set_user_health(id, (iNowHP + i)); break; } } } public client_disconnect(id) { if(task_exists(id + 234)) remove_task(id + 234); }
Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
[ROZWIĄZANE] regeneracja hp
Temat rozp. ExTaza?!, 07.02.2012 01:44
5 odpowiedzi w tym temacie
#1
Napisano 07.02.2012 01:44
Witam skorzystałem z poniższego kodu i powiem tak Mimo że ustawione jest tylko dla TT to CT też sie regeneruje HP i powiem jeszcze Czasami sie w ogóle nie regeneruje . Cóż źle ?
#2
Napisano 07.02.2012 23:24
Sprawdź to.
Spoiler
#3
Napisano 08.02.2012 03:19
Teraz się regeneruje za każdym razem , ale nadal CT też się regeneruje ; /
#4
Napisano 08.02.2012 16:08
Sprawdź tak, bo czas to float:
#include <amxmodx>
#include <cstrike>
#include <fun>
#define REG_HP 23
#define MAX_HP 3000
#define TIME_HP 1.0
#define TASK_HP 234
public plugin_init() register_event("Health", "Health", "be");
public Health(id)
{
if(!is_user_alive(id)) return;
if(cs_get_user_team(id) == CS_TEAM_T){if(!task_exists(id)){set_task(float(TIME_HP), "giveHp",id+TASK_HP);}}
}
public giveHp(id)
{
id -= TASK_HP;
new iNowHP = get_user_health(id);
if(iNowHP < MAX_HP){
if(task_exists(id+TASK_HP)) remove_task(id+TASK_HP);
}
for(new i=REG_HP; i>0; i--)
{
if(iNowHP + i>MAX_HP){continue;}
else{
if(iNowHP < MAX_HP) set_user_health(id, (iNowHP + i));
break;
}
}
}
public client_disconnect(id) remove_task(id+TASK_HP);
#5
Napisano 09.02.2012 02:17
Dzięki Panowie , ale gdyż używam Zombie bez klas przerobiłem jedna klase regeneracyjna i działa macie poniżej. Można skorzystać
//================================================================================*/ #include <amxmodx> #include <fakemeta> #include <zombieplague> #include <fun> new g_zclass_regen_toggle, g_time, g_amount, g_zclass_zombie new g_MaxPlayers /*================================================================================ [Plugin Customization] =================================================================================*/ // Classic Zombie Attributes new const zclass1_name[] = { "ZOMBIE" } new const zclass1_info[] = { "ZABIJ CT" } new const zclass1_model[] = { "zombie_gonome" } new const zclass1_clawmodel[] = { "v_knife_zombie.mdl" } const zclass1_health = 3000 const zclass1_speed = 225 const Float:zclass1_gravity = 1.0 const Float:zclass1_knockback = 1.0 const TASKID_REG = 3000 public plugin_init() { g_zclass_regen_toggle = register_cvar("zp_zclass_regen", "1") g_time = register_cvar("zp_regen_time", "1") g_amount = register_cvar("zp_regen_amount", "20") g_MaxPlayers = get_maxplayers() } /*============================================================================*/ // Class IDs // Zombie Classes MUST be registered on plugin_precache public plugin_precache() { register_plugin("[ZP] Default Zombie Classes", "4.3", "MeRcyLeZZ") // Register all classes g_zclass_zombie = zp_register_zombie_class(zclass1_name, zclass1_info, zclass1_model, zclass1_clawmodel, zclass1_health, zclass1_speed, zclass1_gravity, zclass1_knockback) } public zp_round_ended() { for(new id = 1; id <= g_MaxPlayers; id++) { if(task_exists(id + TASKID_REG)) remove_task(id + TASKID_REG) } } public zp_user_infected_post(player, infector) { if (zp_get_user_zombie_class(player) == g_zclass_zombie) set_task(get_pcvar_float(g_time), "Regenerate", player + TASKID_REG, _, _, "b") } public Regenerate(id) { new player = id - TASKID_REG if(!get_pcvar_num(g_zclass_regen_toggle) || !is_user_connected(player) || !is_user_alive(player) || !zp_get_user_zombie(player)) { remove_task(player + TASKID_REG) return } if(pev(player, pev_health) <= 10.0) { remove_task(player + TASKID_REG) return } new ZMaxHealth = zp_get_zombie_maxhealth(player) if(pev(player, pev_health) < ZMaxHealth) { new RegenHealth = pev(player, pev_health) + get_pcvar_num(g_amount) set_pev(player, pev_health, float(min(RegenHealth, ZMaxHealth))) } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1036\\ f0\\ fs16 \n\\ par } */
#6
Napisano 10.02.2012 19:28
Wiadomość wygenerowana automatycznie
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Ten temat został zamknięty przez moderatora.
Powód: Pomoc udzielona
Jeśli się z tym nie zgadzasz, raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.
Z pozdrowieniami,
Zespół AMXX.PL
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych