Blokavimas

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
Post Reply
Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Blokavimas

Post by Spag »

Kaip blokuoti CT komandai HE granatos davima jei kintamasis yra false?

Code: Select all

public OnAddPlayerItem(id, ent){        if (!kintamasis[id])            if (cs_get_user_team(id) != CS_TEAM_CT && !grenade_duel[id] || cs_get_weapon_id(ent) != CSW_HEGRENADE)                return HAM_IGNORED;        return HAM_SUPERCEDE;}
sitaip neveikia.. isvis blokuoja visada

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

Re: Blokavimas

Post by hleV »

Code: Select all

public OnAddPlayerItem(id, ent){    if (kintamasis[id] || cs_get_weapon_id(ent) != CSW_HEGRENADE || cs_get_user_team(id) != CS_TEAM_CT)        return HAM_IGNORED;     entity_set_int(ent, EV_INT_flags, entity_get_int(ent, EV_INT_flags) | FL_KILLME);     return HAM_SUPERCEDE;}
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Re: Blokavimas

Post by Spag »

nesuprantu aš to kodo visiškai...

Code: Select all

public OnAddPlayerItem(id, ent){    if (kintamasis[id] || cs_get_weapon_id(ent) != CSW_HEGRENADE || cs_get_user_team(id) != CS_TEAM_CT)        return HAM_IGNORED;     return HAM_SUPERCEDE;}
Čia tipo bus taip? : Jeigu kintamasis true arba ginklas ne granata arba komanda ne CT, tai blokuoja granatos davimą??

Man reikia padaryti taip:

Blokuoja visai CT komandai GRANATAS išskyrus tuos CT kurie turi kintamajį TRUE.

Prašau parašykit su komentarais kuris return blokuoja, nes čia konkreti šikna, nesuprantu...

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

Re: Blokavimas

Post by psychical »

hleV wrote:

Code: Select all

public OnAddPlayerItem(id, ent){    if (kintamasis[id] || cs_get_weapon_id(ent) != CSW_HEGRENADE || cs_get_user_team(id) != CS_TEAM_CT) //Jei kintamasis = true ARBA ginklas ne granata ARBA komanda ne CT        return HAM_IGNORED; //funkcija ignoruojama, granata duodama     entity_set_int(ent, EV_INT_flags, entity_get_int(ent, EV_INT_flags) | FL_KILLME); //granata nužudoma     return HAM_SUPERCEDE; //funkcijos pabaiga}

Spag
Gana aktyvus vartotojas
Posts: 269
Joined: 2012 Dec 31 15:39

Re: Blokavimas

Post by Spag »

Na supratau, bet vistiek nesąmones atlieka ta funkcija, padariau pagal idėją taip:

Jeigu žaidėjas neturi kintamojo grenade[id] = true, tai tikrina ar jo gaunamas ginklas yra ne granata ir ar jisai yra ne iš CT komandos.
(Pagala šitą tikrinimą turi blokuoti granatų davimą tik CT komandai, jeigu neturi kintamojo true).

Dabar pagal šitą kodą yra taip:

Turi ar neturi kintamąjį, px vistiek grantas VIESIEMS blokuoja, tiek CT komandai, tiek T komandai. WTF??? Magijos..

Code: Select all

public OnAddPlayerItem(id, ent){           if (!grenade[id])    {        if (cs_get_weapon_id(ent) != CSW_HEGRENADE && cs_get_user_team(id) != CS_TEAM_CT)            return HAM_IGNORED;    }        entity_set_int(ent, EV_INT_flags, entity_get_int(ent, EV_INT_flags) | FL_KILLME);        return HAM_SUPERCEDE;}

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

Re: Blokavimas

Post by psychical »

Spag wrote:

Code: Select all

public OnAddPlayerItem(id, ent){           if (!grenade[id]) //jei kintamasis false atlieka if'ą    {        if (cs_get_weapon_id(ent) != CSW_HEGRENADE && cs_get_user_team(id) != CS_TEAM_CT)            return HAM_IGNORED; //šita vieta suveiks tik tada jei rankoje bus NE GRANATA,o komanda bus NE CT, jei bent vienas bus kitoks, granata bus sunaikinta.    }        entity_set_int(ent, EV_INT_flags, entity_get_int(ent, EV_INT_flags) | FL_KILLME); //nužudoma granata        return HAM_SUPERCEDE; //funkcijos pabaiga}
Kad būtų tau lengviau:

Code: Select all

public OnAddPlayerItem(id, ent){           if (!grenade[id]) //jei FALSE funkcija ignoruojama        return HAM_IGNORED;     if (cs_get_weapon_id(ent) != CSW_HEGRENADE) //jei rankoje NE GRANATA funkcija ignoruojama        return HAM_IGNORED;        if(cs_get_user_team(id) != CS_TEAM_CT) //jei komanda NE CT funkcija ignoruojama            return HAM_IGNORED;     entity_set_int(ent, EV_INT_flags, entity_get_int(ent, EV_INT_flags) | FL_KILLME); //jei kintamasis true, rankoje granata ir tavo komanda CT - granata sunaikinta.        return HAM_SUPERCEDE;}

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests