Intrebare Scripting bool
Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com
-
- Membru, skill +1
- Posts: 156
- Joined: 03 Sep 2012, 12:37
- Detinator Steam: Da
- SteamID: nor47
- Has thanked: 10 times
- Been thanked: 3 times
- Contact:
Salut. Vreau sa stiu cum pot folosi corect acel "bool" am vazut in multe plugine chestii de genul: new bool: Airl[33]; sau new bool: exemplu[33]; etc. deci.. care e treaba cu el?
- YONTU
- Scripter eXtreamCS
- Posts: 2466
- Joined: 10 May 2013, 14:25
- Detinator Steam: Nu
- CS Status: Everyone is looking at ur shoes
- Reputatie: Moderator ajutator
Fost scripter eXtreamCS - Location: Gura Humorului
- Has thanked: 256 times
- Been thanked: 288 times
- Contact:
bool-ul are doar 2 valori (true/false).
Hai sa-ti arat un mic exemplu ca sa intelegi:
Hai sa-ti arat un mic exemplu ca sa intelegi:
Code: Select all
#include amxmodx
#include amxmisc
// declaram un bool cu 33 pozitii
new bool:ex_bool[33];
public register_plugin()
{
// inregistram pluginul
register_plugin("Test BOOL", "1.0, "YONTU");
// avem nevoie de un public pentru a testa boolul
RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawnPost", 1);
}
// cand jucatorul se conecteaza verificam daca este admin
// in caz contrar, nu se intampla nimic
// daca jucatorul care s-a conectat este admin, setam booleanul pe true.
public client_putinserver(id)
{
if(is_user_admin(id))
ex_bool[id] = true;
// to do
}
// publicul suport undeva testam bolul
// am ales la spawn
public fw_PlayerSpawnPost(id)
{
// verificam daca jucatorul este in viata, in caz contrar, oprim functia
if(!is_user_alive(id))
return HAM_IGNORED;
// mai sus, am verificat daca jucatorul este admin si setam booleanul pe true (la client_putinserver);
// acum verificam daca booleanul este pe true
if(ex_bool[id])
client_print(id, print_center, "Esti admin!"); // daca booleanul este pe true, afisam un mesaj pe centru cu : "Esti Admin!"
else
client_print(id, print_center, "Nu esti admin!"); // daca booleanul este pe false (adica jucatorul nu este admin), afisam un mesaj pe centru cu : "Nu esti Admin!"
return HAM_IGNORED;
}
„Peste douăzeci de ani vei fi dezamăgit din cauza lucrurilor pe care nu le-ai făcut, nu din cauza celor pe care le-ai făcut.” - Mark Twain
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
„Asa e si in viata, hotii castiga, prostii care invata pierd.” - Mihai Nemeș
Bio.LeagueCs.Ro - Biohazard v4.4 Xmas Edition
discord: IonutC#5114
Experinta in: Java/Spring boot/Angular/C/C++/C#/Javascript/Python/HTML/CSS/Pawn/SQL
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
Ai nevoie de ajutorul meu? Ma poti gasi doar la adresa de discord de mai sus.
- HamletEagle
- Fost moderator
- Posts: 750
- Joined: 21 Sep 2013, 15:05
- Detinator Steam: Da
- CS Status: Inactiv cateva zile.
- SteamID: privat
- Reputatie: Fost Scripter eXtreamCS.com
Fost Moderator ajutator - Has thanked: 19 times
- Been thanked: 85 times
Yontu, daca tu declari un bool cu 33 de pozitii esti tare. Ma rog, stiu ce ai vrut sa zici, dar exprimarea lasa de dorit. Tu declari un array care are 33 de pozitii, fiecare celula a arrayului care este de tip int a primit tagul bool, astfel accepta valori logice: true(1) si false(0).
Bool-urile sunt folosite pentru a determina si controla anumite actiuni ale pluginului. De exemplu, cand un player cumpara itemul x din shop vei seta un bool pe true, astfel stii ca a cumparat. Dupa il setezi pe false cand pierde itemul, astfel stii ca nu il mai are.
Se declara ca array cu 33 de pozitii cand vrei sa il folosesti pentru playeri. Indexul playerilor este de la 1 la 32, indexarea in array incepe de la 0 la max size -1, deci merge pana la 32. Astfel, celulele 1 - 32 o sa fie ocupate cu indexul playerilor, celula 0 ramane nefolosita pentru ca cel mai mic index este 1.
Practic tu ai:
Cand faci ceva[id] = true/false vei seta valoarea in slotul corespunzator indexului. Daca indexul e 5, atunci ceva[5] devine true/false.
Code: Select all
new bool:ceva
Se declara ca array cu 33 de pozitii cand vrei sa il folosesti pentru playeri. Indexul playerilor este de la 1 la 32, indexarea in array incepe de la 0 la max size -1, deci merge pana la 32. Astfel, celulele 1 - 32 o sa fie ocupate cu indexul playerilor, celula 0 ramane nefolosita pentru ca cel mai mic index este 1.
Practic tu ai:
Code: Select all
new bool:ceva[33]
ceva[0]
ceva[1]
ceva[2]
ceva[3]
ceva[4]
........
ceva[32]
Daca vreti ajutorul meu, nu dati bump la topic, fara intrebari de genu "cat mai dureaza/mai astept mult?".