[ROZWIĄZANE] Problem z tarczą
Czaso Umilacz
02.12.2012
Witam,
mam problem z dawaniem tarczy, i podkreślam że nie używam COD MODa QTM peyota, poniżej daje kod funkcji i plugin_init, w razie co podam funkcję która będzie potrzeba
plugin_init:
Funkcja od tarczy:
Użytkownik Czaso Umilacz edytował ten post 02.12.2012 06:41
mam problem z dawaniem tarczy, i podkreślam że nie używam COD MODa QTM peyota, poniżej daje kod funkcji i plugin_init, w razie co podam funkcję która będzie potrzeba
plugin_init:
register_plugin(PLUGIN, VERSION, AUTHOR);
zapis_osiogniec_gracza = nvault_open("MW3_PlayerAchievements");
sync_hud_1 = CreateHudSyncObj();
sync_hud_2 = CreateHudSyncObj();
sync_hud_3 = CreateHudSyncObj();
register_cvar("respawn_time", "3.0");
spawn_time = get_cvar_float("respawn_time");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_TakeDamage, "func_breakable", "TakeDamageEnt");
RegisterHam(Ham_Killed, "player", "Death");
RegisterHam(Ham_Player_PreThink, "player", "PlayerPreThink");
RegisterHam(Ham_Player_PostThink, "player", "PlayerPostThink");
RegisterHam(Ham_Spawn, "player", "Spawn", 1);
RegisterHam(Ham_TraceAttack, "player", "TraceAttack", 1)
for(new i = CSW_P228; i <= CSW_P90; i++){
if(NO_RELOAD & (1<<i))
continue;
new WeaponName[24];
get_weaponname(i, WeaponName, 23);
RegisterHam(Ham_Weapon_Reload, WeaponName, "ReloadPost", 1);
}
register_forward(FM_Touch, "EntityTouch");
register_forward(FM_Think, "EntityTchink");
register_forward(FM_GetGameDescription, "GameDescription");
register_forward(FM_SetModel, "WeaponDrop", 1);
unregister_forward(FM_Spawn, entity_spawn);
register_think(CLASNAME_CLAYMORE, "ClaymoreThink");
register_think(CLASNAME_SENTRYGUN ,"SentryThink");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
register_event("Damage", "Damage", "b", "2!=0");
register_event("TeamInfo","TeamAssign","a");
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_message(get_user_msgid("SayText"),"HandleSayText");
register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
register_clcmd("say /killstrike", "KillstrikeMenu");
register_clcmd("say /ks", "KillstrikeMenu");
register_clcmd("say /osiogniecia", "Osiogniecia");
register_clcmd("say /o", "Osiogniecia");
register_clcmd("say /wyzwania", "Osiogniecia");
register_clcmd("say /w", "Osiogniecia");
register_clcmd("say /zadania", "Osiogniecia");
register_clcmd("say /z", "Osiogniecia");
register_clcmd("say /misje", "Osiogniecia");
register_clcmd("say /m", "Osiogniecia");
register_clcmd("say /jg", "Jg");
register_clcmd("radio3", "UzyjWyposarzenie");
Funkcja od tarczy:
public Jg(id){
strip_user_weapons(id);
give_item(id, "weapon_usp");
give_item(id, "weapon_shield");
new weapons[32];
new weaponsnum;
get_user_weapons(id, weapons, weaponsnum);
for(new i=0; i<weaponsnum; i++)
if(is_user_alive(id))
if(max_ammo[weapons[i]] > 0)
cs_set_user_bpammo(id, weapons[i], max_ammo[weapons[i]]);
}
Użytkownik Czaso Umilacz edytował ten post 02.12.2012 06:41
speedkill
02.12.2012
Masz jakieś error logi ? Dodatkowo w tej funkcji sprawdzaj czy gracz żyję
Czaso Umilacz
02.12.2012
Sprawdzanie dodane, nie ma errorlogów, i dodam że funkcja ta nie jest wykonywana przy spawnie
K!113r
02.12.2012
Z czego pamiętam, jak chciałem dodać komuś tarczę musiałem usunąć w którejś funkcji od dotyku kawałek kodu, który właśnie usuwał tarcze, lecz twój kod sma nie pokrywa się z moim, jakbyś zapodał całe sma byłoby łatwiej.
Czaso Umilacz
02.12.2012
To jest grubszy projekt, dlatego mogę podać tylko plugin_init na dotyk masz:
register_forward(FM_Touch, "EntityTouch");
Nie uwierzycie jak to rozwiązałem... Kod:
Zamieniłem na:
I dzioło 0.o. Nie wiem o co chodzi ale zadaję sobie pytanie: Dlaczego mój kod działa, tak jak wcześniej dlaczego mój kod nie działa... Może kolejność dawania tarczy ma jakiś wpływ, albo jakiś głupi przypadek.
Użytkownik Czaso Umilacz edytował ten post 02.12.2012 18:41
register_forward(FM_Touch, "EntityTouch");
Nie uwierzycie jak to rozwiązałem... Kod:
strip_user_weapons(id);
give_item(id, "weapon_usp");
give_item(id, "weapon_shield");
Zamieniłem na:
strip_user_weapons(id);
give_item(id, "weapon_shield");
give_item(id, "weapon_usp");
I dzioło 0.o. Nie wiem o co chodzi ale zadaję sobie pytanie: Dlaczego mój kod działa, tak jak wcześniej dlaczego mój kod nie działa... Może kolejność dawania tarczy ma jakiś wpływ, albo jakiś głupi przypadek.
Użytkownik Czaso Umilacz edytował ten post 02.12.2012 18:41
speedkill
02.12.2012
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