isPlayer

Šiame forume rašomi vartotojų klausimai/problemos su kuriomis jie susidūrė kuriant pluginus.
KamiN
Gana aktyvus vartotojas
Posts: 227
Joined: 2011 Apr 23 13:17

isPlayer

Post by KamiN »

Galit lietuviškai paaiškinti, ką šitas reiškia?

Code: Select all

#define IsPlayer(%1) (1<=%1<=g_max_clients) new g_max_clients public plugin_init() {g_max_clients = get_maxplayers()}

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: isPlayer

Post by newb »

Su IsPlayer galima bus patikrint ar cia tikrai zaidejas, o ne serveris ar dar koks entity.

KamiN
Gana aktyvus vartotojas
Posts: 227
Joined: 2011 Apr 23 13:17

Re: isPlayer

Post by KamiN »

Įmanoma, kad dėl šito isPlayer tikrinoma kartais kaikuriems žaidėjams neduoda ginklų? Ar pvz nepadaro jų nematomais, nu čia jau ko negauna žaidėjai priklauso nuo pasirinktos dienos.
Nes aš blem žiūriu ir niekam nesuprantu kodėl kaip būna, kad nei iš šio nei iš to, kuris nors vienas ar 2 žaidėjai negaun aginklų, kai visi kiti viską gauna..

Code: Select all

public do_specialday(id){    new name[33]; get_user_name(id, name, charsmax(name))     for(new i = 0; i < g_max_clients; i++)    {        switch(specialday[20])        {            case DAY_CTSHLD:            {                   if(IsPlayer(i) && is_user_alive(i))                {                    switch(cs_get_user_team(i))                    {                        case CS_TEAM_T:                        {                            strip_weapons(i)                             give_item(i, "weapon_deagle")                            give_item(i, "weapon_m4a1")                                                        cs_set_user_bpammo(i, CSW_DEAGLE, 9999)                            cs_set_user_bpammo(i, CSW_M4A1, 9999)                             if(!(pev(i, pev_flags) & FL_FROZEN))                            {                                client_print(i, print_center, "Jus buvote sustingdytas 6 sekundems!");                                freeze = true                                set_pev(i, pev_flags, (pev(i, pev_flags) | FL_FROZEN));                                set_task(7.0, "unfreeze", TASK_unfreeze + id)                            }                        }                                                case CS_TEAM_CT:                        {                            strip_weapons(i)                                                        give_item(i, "weapon_deagle")                            give_item(i, "weapon_shield")                                                        cs_set_user_bpammo(i, CSW_DEAGLE, 35)                                         }                    }                }                 client_print(i, print_chat, "%s pradejo CT Shield diena! Priziuretojai turi 6s pabegimui! Siuo metu zudyti negalima!", name)                 set_task(2.0, "specdaytxtprad", id, "", 0, "b", TASK_specd)                set_task(6.0, "specdaytxtprad1", id)                jail_open()            }        }    }}

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: isPlayer

Post by newb »

Man atrodo geriau naudot get_players ir nereikes jokiu IsPlayer tikrinimu.
O cia manau turetu buti

Code: Select all

for(new i = 0; i < g_max_clients; i++)
>>

Code: Select all

for(new i = 1; i <= g_max_clients; i++)

KamiN
Gana aktyvus vartotojas
Posts: 227
Joined: 2011 Apr 23 13:17

Re: isPlayer

Post by KamiN »

O koks skirtumas ar 0 ar 1 gali paaiškint gal?

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

Re: isPlayer

Post by psychical »

jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: isPlayer

Post by newb »

psychical wrote:jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1
Jei parasai 1 tai ir pradeda skaicuot nuo 1... Nebent parasysi ++i, o ne i++.

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

Re: isPlayer

Post by hleV »

newb wrote:
psychical wrote:jei rasysi 1 prades skaiciuot nuo 2 zmogaus kadangi bus 1+1 = 2, jei rasysi 0 prades skaiciuoti nuo 0 zmogaus, nes 0+1=1
Jei parasai 1 tai ir pradeda skaicuot nuo 1... Nebent parasysi ++i, o ne i++.
for cikle betkuriuo atveju pradės skaičiuot nuo 1, nesvarbu ar ++i, ar i++.
Image ← RIP best userbar
DISKUSIJA: KIETAS PLUGIN'O UŽSAKOVAS
Privačios pagalbos neteikiu!

newb
Pluginų patvirtintojas
Posts: 1047
Joined: 2010 Sep 23 21:43
Location: Wonderland
Contact:

Re: isPlayer

Post by newb »

Niekados nenaudojau to ++i, bet galvojau kad jis veiks taip ><

KamiN
Gana aktyvus vartotojas
Posts: 227
Joined: 2011 Apr 23 13:17

Re: isPlayer

Post by KamiN »

newb wrote:Man atrodo geriau naudot get_players ir nereikes jokiu IsPlayer tikrinimu.
O cia manau turetu buti

Code: Select all

for(new i = 0; i < g_max_clients; i++)
>>

Code: Select all

for(new i = 1; i <= g_max_clients; i++)

tai su 0 ar su 1 reikia šitam cikle rašyt? :D

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests