[CSTRIKE] Non-player entity 0 out of range

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

[CSTRIKE] Non-player entity 0 out of range

Post by MPD »

Susidūriau su tokia problema. Nežinau ką daryti, viskas veikia gerai, bet nepatinka kai šitą klaidą rašo man į console.

Code: Select all

public Items(id){    set_task(get_pcvar_float(pGround), "GroundDmg", id+ID);    strip_user_weapons(id);    give_item(id, "weapon_m3");    give_item(id, "weapon_knife");    give_item(id, "weapon_awp");    set_user_health(id, get_pcvar_num(pHP));    new iWeap = find_ent_by_owner(-1,"weapon_awp",id);    cs_set_weapon_ammo(iWeap, 0);    cs_set_user_armor(id, get_pcvar_num(pArmor), CS_ARMOR_VESTHELM);    cs_set_user_bpammo(id, CSW_M3, 32);}

Code: Select all

[CSTRIKE] Non-player entity 0 out of range[AMXX] Displaying debug trace (plugin "xmod.amxx")[AMXX] Run time error 10: native error (native "cs_set_weapon_ammo")

Code: Select all

cs_set_weapon_ammo(iWeap, 0);
Nesuprantu, kodėl čia klaida yra. Su client_print tikrinau weapon (entity) id ir rašo viską normaliai ir veikia normaliai, tiesiog nesuprantu iš kur išdygo toks dalykas.
Gal kas paaiškinsit? Ar aš kur nors čia apsižioplinau?
Image


User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: [CSTRIKE] Non-player entity 0 out of range

Post by MPD »

cs_set_weapon_ammo čia (komentaruose) parašyta, kad reikia naudoti ginklo entity id (taip pat ir cs_get_weapon_ammo), su kuo viskas veikia, bet klaidą vistiek rašo į console.

Tikrindamas ginklo entity id parašo normaliai (275 paskutinį syk), o errore rašo entity 0 out of range. Čia gal koks bugas tiesiog?
Image

InvIs2
Jau po truputį tampa savu
Posts: 149
Joined: 2013 Sep 29 12:47
Skype: pksoldierlt

Re: [CSTRIKE] Non-player entity 0 out of range

Post by InvIs2 »

Nežinau kokius komentarus tu skaitai, bet reik žiūrėti pavyzdžiuis ir paaiškinimus.

Code: Select all

Sets the amount of ammo in a player's weapon clip.
Atkreipk dėmesį, jog rašo, kad nustato ammo žaidėjo ginkle.
Šiuo atvėju

cs_set_weapon_ammo(id, amount)

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: [CSTRIKE] Non-player entity 0 out of range

Post by MPD »

Su id neveikia ir metą panašų error (tik entity id rašomas žaidėjo dabar).
Su weapon id veikia, bet metą error, kur rašo entity id kaip 0.

Čia jau senai man išaiškita, kad naudojamas ginklo entity id, o ne žaidėjo id ar koks CSW_*.
Image

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: [CSTRIKE] Non-player entity 0 out of range

Post by psychical »

Šiaip, toks menkas pastebėjimas, ką tu bandai čia padaryti?

Bandyk šitaip:

Code: Select all

cs_set_weapon_ammo(give_item(id, "weapon_awp"), 0);
P.S. Čia jis iškarto duodą ginklą ir iškarto nustato 0 kulkų.

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: [CSTRIKE] Non-player entity 0 out of range

Post by MPD »

Aš čia paprasčiausiai bandžiau padaryti, kad ginklas atsirastų pas žaidėją tuščias. Tas metodas, kur parašei, irgi veikia taip pat, bet vistiek tą errorą metą :D

Pastebėjau dabar, kad tą errorą meta tik vieną kartą, o kai kitus sykius respawninasi, tai klaidos neišmeta.
Image

User avatar
psychical
Viršininkas
Posts: 2094
Joined: 2011 Mar 12 22:19
Skype: tautvydas11
Location: Linksmakalnis
Contact:

Re: [CSTRIKE] Non-player entity 0 out of range

Post by psychical »

Tai tuomet nežinau, kada tu ten ką bandai daryt, kadangi naudoju pas save ir tokių klaidų nesu matęs...

Tuomet daryk šitaip:

Code: Select all

public Items(id){    set_task(get_pcvar_float(pGround), "GroundDmg", id+ID);     if(!is_user_alive(id))        return;     set_user_health(id, get_pcvar_num(pHP));    strip_user_weapons(id);    give_item(id, "weapon_m3");    give_item(id, "weapon_knife");    give_item(id, "weapon_awp");    new iWeap = find_ent_by_owner(-1,"weapon_awp",id);    cs_set_weapon_ammo(iWeap, 0);    cs_set_user_armor(id, get_pcvar_num(pArmor), CS_ARMOR_VESTHELM);    cs_set_user_bpammo(id, CSW_M3, 32);}
O šiaip sakau, nežinau, kada tu ten ką darai, bet parodyk kaip tu priregistravęs funkcija, kuri registruoja spawn ar kada tu ten ką darai?

User avatar
hleV
AMX Mod X ekspertai
Posts: 875
Joined: 2011 Apr 02 11:23
Skype: hlev.lt
Location: Šiauliai

Re: [CSTRIKE] Non-player entity 0 out of range

Post by hleV »

iWeap lygus nuliui. Esu susidūręs su kažkuo panašaus, kai ar give_item() ar ginklo paieška naudojant find_ent_by_*() negrąžina ent ID, bet sprendimo tam neturiu.

Pabandyk pakeist:

Code: Select all

     give_item(id, "weapon_awp");    set_user_health(id, get_pcvar_num(pHP));    new iWeap = find_ent_by_owner(-1,"weapon_awp",id);

Code: Select all

     new iWeap = give_item(id, "weapon_awp");    set_user_health(id, get_pcvar_num(pHP));    //new iWeap = find_ent_by_owner(-1,"weapon_awp",id);
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

User avatar
MPD
Gana aktyvus vartotojas
Posts: 309
Joined: 2011 Jul 08 07:24
Location: Kaunas

Re: [CSTRIKE] Non-player entity 0 out of range

Post by MPD »

Bandžiau šitą, bet ta pati situacija.
Tikrinant su client_print(id, print_chat, "%d", iWeap) (naudojant abu būdus) iškart po radimo visada parašo kažkokį skaičių (275 ar pnš), o po tikrinimo iškarto nustatinėju ammo į 0 ir vistiek parodo klaidą [CSTRIKE] Non-player entity 0 out of range.

Kas svarbiausia veikia ir vienu, ir kitu būdu. Tai kaip suprantu dėl šito dalyko čia nėra ko pergyventi, nes praktiškai problemos čia nėra.
Image

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests