Page 1 of 4
error native "cs_get_user_team"
Posted: 2012 Apr 26 16:45
by Pukuotukas951
Code: Select all
L 04/26/2012 - 17:26:48: [AMXX] Run time error 10 (plugin "skinaictsa.amxx") (native "cs_get_user_team") - debug not enabled!
mano kodas:
Code: Select all
#include <amxmodx>#include <amxmisc>#include <cstrike>#include <hamsandwich>#include <engine> public plugin_init(){ register_plugin("CT skin keitimas", "1.0", "AmxModX"); RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);} public plugin_precache(){ precache_model("models/player/skinas1/skinas1.mdl"); precache_model("models/player/skinas2/skinas2.mdl"); precache_model("models/player/skinas2/skinas2T.mdl");} public fwHamPlayerSpawnPost(id){ new CsTeams:userTeam = cs_get_user_team(id) if (get_user_flags(id) & ADMIN_IMMUNITY && userTeam == CS_TEAM_CT) { cs_set_user_model(id, "skinas_1"); } else if(userTeam == CS_TEAM_CT) { cs_set_user_model(id, "skinas_2"); } return PLUGIN_CONTINUE;}
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 17:13
by Fly3r
Ham_Spawn'e tikrink ar žaidėjas gyvas, nes šis forwardas kartais iškviečiamas kai žaidėjas negyvas. Be to, kam returnini PLUGIN_CONTINUE, jeigu čia HAM forwardas, o ne AMX, ir dar registruotas kaip POST, tad iš viso nereikia nieko returnint. Ir geriau naudok switch, tikrindamas komandą.
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 17:21
by Pukuotukas951
Su swich sakė geriau nenaudot nes ten nesamonės būna, tai turi būt taip?:
Code: Select all
#include <amxmodx>#include <amxmisc>#include <cstrike>#include <hamsandwich>#include <engine> public plugin_init(){ register_plugin("CT skin keitimas", "1.0", "AmxModX"); RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);} public plugin_precache(){ precache_model("models/player/skinas1/skinas1.mdl"); precache_model("models/player/skinas2/skinas2.mdl"); precache_model("models/player/skinas2/skinas2T.mdl");} public fwHamPlayerSpawnPost(id){ new CsTeams:userTeam = cs_get_user_team(id) if (!is_user_alive(id) && get_user_flags(id) & ADMIN_IMMUNITY && userTeam == CS_TEAM_CT) { cs_set_user_model(id, "skinas_1"); } else if(userTeam == CS_TEAM_CT) { cs_set_user_model(id, "skinas_2"); }}
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 17:55
by hleV
Tikrinimą ar gyvas dėk PRIEŠ cs_get_user_team().
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 17:58
by aurimasko
o ne geriau būtų taip? bet čia tik jeigu į tą pluginą dedi tik skin keitimą, nes jeigu daugiau tai manau reikės cstrike modulio..
Code: Select all
#include <amxmodx>#include <hamsandwich>#include <cs_player_models_api> public plugin_init(){ register_plugin("CT skin keitimas", "1.0", "AmxModX"); RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1);} public plugin_precache(){ precache_model("models/player/skinas1/skinas1.mdl"); precache_model("models/player/skinas2/skinas2.mdl"); precache_model("models/player/skinas2/skinas2T.mdl");} public fwHamPlayerSpawnPost(id){ if(!is_user_alive(id)) return HAM_IGNORED if(!(get_user_flags(id) & ADMIN_IMMUNITY)) return HAM_IGNORED cs_set_player_model(id, (get_user_team(id) == 1) ? "skinas_1" : "skinas_2") return HAM_IGNORED}
Beje, nežinau ar šis yra geras būdas.
Include
cs_players_model_api gali parsisiųsti iš
http://forums.alliedmods.net/showthread.php?t=161255
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 18:12
by newb
Code: Select all
if(!is_user_alive(id) || (!(get_user_flags(id) & ADMIN_IMMUNITY)))
Toks tikrinimas netiks, kad irasyti i 1 elute reikes daryti ka nors tokio
Code: Select all
if(is_user_alive(id) & (get_user_flags(id) & ADMIN_IMMUNITY)) return
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 18:16
by aurimasko
o kodėl gi netinka?
Code: Select all
if(!is_user_alive(id) || (!(get_user_flags(id) & ADMIN_IMMUNITY))) return HAM_IGNORED
Jeigu negyvas arba neturi ADMIN_IMMUNITY flago, tai nutraukia veiksmą.
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 18:20
by newb
Nes specatorius su immunity gaus. Jau nekalbant apie tai, kad visi gyvi gaus.
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 18:27
by aurimasko
ai blmb dabar supratau kodėl
mm tada galima daryt:
Code: Select all
if(!is_user_alive(id))return HAM_IGNORED if((!(get_user_flags(id) & ADMIN_IMMUNITY)))return HAM_IGNORED
arba kaip nors tobuliau gal galima :?
Re: error native "cs_get_user_team"
Posted: 2012 Apr 26 18:41
by aaarnas
Jau parašė, kaip galima labai gerai. Daryk taip, kad pats suprastum.
O kaip galima daryti, yra pamokų skyrius.