[Nowy COD] Przerobienie perku na klase
Emulov. 29.08.2011
Cześć, potrzebuje waszej pomocy.
Mam sobie jakiś perk, np.
No a chcialbym przerobic go na klase, w sumie umialbym, gdyby nie to że on ma 2,5 i ja nie mam pojecia jak przeniesc to na klase, wyszlo mi cos takiego :
No ale nie mam tych 2,5 bo jesli je dam to nie moge skompilowac .. :<
Jak mam to robic ?
Mam sobie jakiś perk, np.
#include <amxmodx> #include <codmod> #include <fakemeta> #include <colorchat> #define perk_name "Sztuka Dezorientacji" #define perk_desc "Masz 1/LW szansy na ukrycie celownika wroga po strzale" new bool:ma_perk[33]; new wartosc_perku[33]; new g_msg_hideweapon; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote"); cod_register_perk(perk_name, perk_desc, 2, 5); register_event("Damage", "Damage", "b", "2!0"); g_msg_hideweapon = get_user_msgid("HideWeapon"); } public cod_perk_enabled(id, wartosc) { ma_perk[id] = true; wartosc_perku[id] = wartosc; perk_name); } public cod_perk_disabled(id) ma_perk[id] = false; public Damage(id) { new attacker = get_user_attacker(id); if(!is_user_connected(attacker)) return PLUGIN_CONTINUE; if(!ma_perk[attacker]) return PLUGIN_CONTINUE; if(random(wartosc_perku[attacker])) return PLUGIN_CONTINUE; Dzialaj(id); return PLUGIN_CONTINUE; } public Dzialaj(id) { ChangeHUD(id, 1<<2); set_task(10.0, "wyłącz", id); } public wyłącz(id) ChangeHUD(id, 0); public ChangeHUD(id, i) { message_begin(MSG_ONE_UNRELIABLE, g_msg_hideweapon, _, id); write_byte(i); message_end(); }
No a chcialbym przerobic go na klase, w sumie umialbym, gdyby nie to że on ma 2,5 i ja nie mam pojecia jak przeniesc to na klase, wyszlo mi cos takiego :
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <codmod> #include <engine> #include <colorchat> new const nazwa[] = "Zlodziej"; new const opis[] = "Masz 1/LW szansy na ukrycie celownika wroga po strzale"; new const bronie = 1<<CSW_GALIL; new const zdrowie = 15; new const kondycja = 30; new const inteligencja = 15; new const wytrzymalosc = 0; new bool:ma_klase[33]; new wartosc_klasy[33]; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("Damage", "Damage", "b", "2!0"); g_msg_hideweapon = get_user_msgid("HideWeapon"); } public cod_class_enabled(id) { ma_klase[id] = true; wartosc_klasy[id] = wartosc; } public cod_class_disabled(id) { ma_klase[id] = false; } public Damage(id) { new attacker = get_user_attacker(id); if(!is_user_connected(attacker)) return PLUGIN_CONTINUE; if(!ma_perk[attacker]) return PLUGIN_CONTINUE; if(random(wartosc_perku[attacker])) return PLUGIN_CONTINUE; Dzialaj(id); return PLUGIN_CONTINUE; } public Dzialaj(id) { ChangeHUD(id, 1<<2); set_task(10.0, "wyłącz", id); } public wyłącz(id) ChangeHUD(id, 0); public ChangeHUD(id, i) { message_begin(MSG_ONE_UNRELIABLE, g_msg_hideweapon, _, id); write_byte(i); message_end(); }
No ale nie mam tych 2,5 bo jesli je dam to nie moge skompilowac .. :<
Jak mam to robic ?
Emulov. 29.08.2011
Tyle że w perku jest :
cod_register_perk(perk_name, perk_desc, 2, 5);Te 2,5 nie oznacza przypadkiem szansy na znikniecie celownika ? Jak to przeniesc ? Moglby ktos poprawić tą klase abym miał wzór co źle robie ?
A może sma?
29.08.2011
if(random(wartosc_perku[attacker]))
return PLUGIN_CONTINUE;
Dzialaj(id);
na:
if(random(5) == 0)
return PLUGIN_CONTINUE;
Dzialaj(id);
I usuń wartosc_klasy[33] z sma
return PLUGIN_CONTINUE;
Dzialaj(id);
na:
if(random(5) == 0)
return PLUGIN_CONTINUE;
Dzialaj(id);
I usuń wartosc_klasy[33] z sma
Emulov. 29.08.2011
Lapcie plusy. Jeszcze jedno pytanie na plusa ;d
Nie powinno być przypadkiem :
if(random(5) == 0)
Nie powinno być przypadkiem :
if(random(5) == 1)
Emulov. 30.08.2011
Jako że temat nie został zamknięty potrzebuje znów pomocy ...
Mam perk :
A chce go przerobić na klase, to jak ? Na prawdę tego nie kumam .. :<
I wyszło mi coś takiego :
Tak mam to robić ?
Jeśli ktoś odpowie - Tak to temat można zamknąć
Mam perk :
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <hamsandwich> #include <codmod> new const perk_name[] = "Pancerz Neomexowy"; new const perk_desc[] = "Masz 1/LW szans na odbicie pocisku"; new bool:ma_perk[33]; new wartosc_perku[33]; public plugin_init() { register_plugin(perk_name, "1.0", "QTM_Peyote"); cod_register_perk(perk_name, perk_desc, 4, 7); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_perk_enabled(id, wartosc) { ma_perk[id] = true; wartosc_perku[id] = wartosc; } public cod_perk_disabled(id) ma_perk[id] = false; public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(!ma_perk[this] || random_num(1, wartosc_perku[this]) != 1) return HAM_IGNORED; cod_inflict_damage(this, idattacker, damage, 0.0, idinflictor, damagebits); return HAM_SUPERCEDE; } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */
A chce go przerobić na klase, to jak ? Na prawdę tego nie kumam .. :<
I wyszło mi coś takiego :
#include <amxmodx> #include <codmod> #include <hamsandwich> new bool:ma_klase[33]; new const nazwa[] = "Strzelec"; new const opis[] = "Brak"; new const bronie = 1<<CSW_M4A1; new const zdrowie = 10; new const kondycja = 0; new const pancerz = 0; new const inteligencja = 0; new const wytrzymalosc = 20; public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, pancerz, inteligencja, wytrzymalosc); RegisterHam(Ham_TakeDamage, "player", "TakeDamage"); } public cod_class_enabled(id) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker)) return HAM_IGNORED; if(random(10) == 2) return HAM_IGNORED; cod_inflict_damage(this, idattacker, damage, 0.0, idinflictor, damagebits); return HAM_SUPERCEDE; }
Tak mam to robić ?
Jeśli ktoś odpowie - Tak to temat można zamknąć
A może sma?
30.08.2011
Nie.
Zamień:
Edited by A może sma?, 30.08.2011 23:24.
Zamień:
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[id])
return HAM_IGNORED;
if(random(10) == 2)
return HAM_IGNORED;
cod_inflict_damage(this, idattacker, damage, 0.0, idinflictor, damagebits);
return HAM_SUPERCEDE;
}
Edited by A może sma?, 30.08.2011 23:24.