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 :D

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.