It is currently 19 Sep 2018 06:13






Reply to topic  [ 54 posts ]  Go to page 1, 2, 3, 4, 5  Next
 Ce sunt if-urile? [Amxx] 
Author Message
Membru, skill +2
Membru, skill +2

Joined: 08 Apr 2007 16:29
Posts: 754
Detinator Steam: Nu
Reputatie: Fost moderator ajutator
Fost Scripter eXtreamCS
Fost Membru Club eXtreamCS (3 luni)
Fond eXtream: 0
If-urile sunt niste comenzii care arata daca acel if = daca executa o comanda pe un jucator sau face altceva.
Comenziile de tip if sunt diferite pentru toate modulele.

Uitati un exemplu de script in care trebuie sa verificati daca userul este in viata.
Code:
#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"


public plugin_init() {
   register_plugin(PLUGIN, VERSION, AUTHOR)
   register_concmd("amx_ss","ss",ADMIN_KICK,"- <nume> snapshot a player")
   
}

public ss(id){
   if(is_user_alive(id))
   client_cmd(id,"snapshot")
   else
   client_print(id, print_console,"Nu e in viata acel user")
}


mai sunt si multe cu is_user
ex. is_user_admin, is_user_connect si altele :)

Daca userul nu ii in viata o sa va zica "Nu e in viata acel user", daca e in viata va face snapshot la jucator. :)
Sper ca ati inteles ceva. :P


27 Aug 2007 17:08
Profile multumesc
Fost administrator
Fost administrator
User avatar

Joined: 17 Dec 2007 22:42
Posts: 12560
Location: di.fm
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Fond eXtream: 0
Traducerea IF -urilor este "daca"


1. a). if(is_user_alive(id)) -> executa o comanda doar daca user-ul este in viata
b). if!(is_user_alive(id)) -> executa o comanda doar daca user-ul nu este in viata

2. a). if(is_user_admin(id)) -> executa o comanda doar daca user-ul este admin
b). if(!is_user_admin(id))-> executa o comanda doar daca user-ul nu este admin

3. a). if(!(get_user_flags(id) & ACCESS)) -> un mod de a verifica daca user-ul este admin,aceasta este doar daca nu este admin
b). if(get_user_flags(id) & ACCESS) -> un mod de a verifica daca user-ul este admin,aceasta este doar daca este admin

4. if(is_user_connected(id) -> Executa comanda doar daca user-ul respectiv este conectat

5. if(is_user_connecting(id) -> Executa comanda doar daca user-ul se conecteaza

6. if(!cmd_access(id,level,cid,2)) -> un alt mod de a verifica daca user-ul este admin,aceasta este doar daca nu este admin

7. a). if(!player) -> Executa o comanda doar daca user-ul acela exista
b). if(!target) -> Executa o comanda doar daca user-ul acela exista( ex 2)

ex : if(!target)
{
client_print(id,print_chat,"Player not found!")
return PLUGIN_HANDLED
}

_________________
www.CS16.ro Cupon reducere 20%: 20REDCS16


18 Dec 2007 17:15
Profile multumesc YIM WWW
Fost moderator
Fost moderator
User avatar

Joined: 03 Nov 2007 22:17
Posts: 1279
Location: In The Game
Detinator Steam: Nu
CS Status: bored
Reputatie: Fost moderator
Fond eXtream: 0
anakin, ti-a iesit fraza [Traducerea IF -urilor este "daca"] prea mica si nu prea putem sa o citim :))

plus ca e mai bine sa explicati inca ceva....

daca aveti un if si o singura chestie care sa ruleze nu este necesar {} ,ex:

Code:
if(is_user_alive(id)){
    client_print(blabla)
    client_cmd(blabla)
}else
    client_print(altceva)
Code:
if(!is_user_alive(id))
    client_print(altceva)
else{
    client_print(blabla)
    client_cmd(blabla)
}
Code:
if(!is_user_alive(id)){
    client_print(altceva)
    server_cmd("quit")
}else{
    client_print(blabla)
    client_cmd(blabla)
}

dar recomandarea mea este sa folositi mereu {} deoarece nu stiti cand ve-ti adauga ceva nou si nu stiti dupa aia de ce nu merge cum trebuie :) si sunt mai multe motive de ce va recomand asta :)

_________________
TheHunters.ro - Gaming & Programing
HGaming - Jocuri PC in LAN - joaca si altceva decat CS!

Cateva jocuri care se pot juca in HGaming: Left 4 Dead 2, Garry's Mod, Alien Swarm.


18 Dec 2007 17:24
Profile multumesc YIM WWW
Fost administrator
Fost administrator
User avatar

Joined: 17 Dec 2007 22:42
Posts: 12560
Location: di.fm
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Fond eXtream: 0
Este adevarat :)

_________________
www.CS16.ro Cupon reducere 20%: 20REDCS16


18 Dec 2007 22:05
Profile multumesc YIM WWW
Membru, skill +2
Membru, skill +2

Joined: 08 Apr 2007 16:29
Posts: 754
Detinator Steam: Nu
Reputatie: Fost moderator ajutator
Fost Scripter eXtreamCS
Fost Membru Club eXtreamCS (3 luni)
Fond eXtream: 0
Quote:
7. a). if(!player) -> Executa o comanda doar daca user-ul acela exista
b). if(!target) -> Executa o comanda doar daca user-ul acela exista( ex 2)


?
si hunter faza cu {} se aplica tuturor nu numai la if...daca ai 1 nu neaparat trebuie {} daca ai 2 sau mai multe atunci trebuia sau un new, static ca trebuie cu {}


18 Dec 2007 23:46
Profile multumesc
Fost moderator
Fost moderator
User avatar

Joined: 03 Nov 2007 22:17
Posts: 1279
Location: In The Game
Detinator Steam: Nu
CS Status: bored
Reputatie: Fost moderator
Fond eXtream: 0
da mai sunt cateva care trebuie {} , la for, foreach (nu stiu daca e si in amxx dar in php e :) ) ... si inca cateva care nu-mi vin in minte acu :)
dar... la NEW iti trebuie {} ? de cand ? :)) in ce plugin ai vazut tu new cu {} ? la new daca ai mai multe scrii:
new userid[2], ip[14], name[32]
:)

_________________
TheHunters.ro - Gaming & Programing
HGaming - Jocuri PC in LAN - joaca si altceva decat CS!

Cateva jocuri care se pot juca in HGaming: Left 4 Dead 2, Garry's Mod, Alien Swarm.


19 Dec 2007 06:59
Profile multumesc YIM WWW
Membru, skill +2
Membru, skill +2

Joined: 08 Apr 2007 16:29
Posts: 754
Detinator Steam: Nu
Reputatie: Fost moderator ajutator
Fost Scripter eXtreamCS
Fost Membru Club eXtreamCS (3 luni)
Fond eXtream: 0
Error: Declaration of a local variable must appear in a compound block on line 19
adica cu {}


20 Dec 2007 12:02
Profile multumesc
Membru, skill 0
Membru, skill 0

Joined: 05 Jan 2008 04:01
Posts: 13
Detinator Steam: Da
Fond eXtream: 0
if-urile sunt folositoare mereu, mai ales in optimizarea codurilor.
Voi explica putin mai clar, si mai detaliat ce-s cu if-urile acestea.
Exemple de if-uri

if(comanda){} este echivalenta cu if(comanda == true){}, insa in prima varianta este mai optimizata deoarece sunt redusi cativa biti.
if(!comanda){} unde ! este opusul comenzii.
Intre {} adaugam codul, cum ar fi { new string }

Ce ne facem in caz ca vrem sa verificam 2 comenzi :-/
In loc de if(comanda1){} si apoi if(comanda2){} vom folosi if(comanda1 && comanda2){}
&& inseamna and in limba engleza, iar in limba romana si. Trebuie sa ganditi putin logic la treaba asta, adica comanda1 si comanda2, in acelasi timp tb sa fie adevarate, altfel vei obtine o eroare.
Se traduce astfel: daca(comanda1 si comadna2){}

In caz ca vrem sa verificam doar o comanda, din cele 2, fiind posibil ca una sa nu fie adevarata, cum sa verificam ?
Vom folosi if(comanda1 || comanda2){}
|| inseamna in limba engleza or, iar in limba romana inseamna sau
Se traduce astfel: daca(comanda1 sau comanda2){}

In caz de prima e adevarata si a doua falsa?
Vom folosi if(comanda1 && !comanda2){}
In caz de prima e adevarata sau a doua falsa?
Vom folosi if(comanda1 || !comanda2){}

Aceste lucruri pot fi aplicate la un nr infinit de comenzi!(eu am folosit doar 2, ca sa nu scriu prea mult :P)

_________________
Sper ca va place ce fac.


05 Jan 2008 04:19
Profile multumesc WWW
Fost administrator
Fost administrator
User avatar

Joined: 17 Dec 2007 22:42
Posts: 12560
Location: di.fm
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Fond eXtream: 0
Foarte bun hip_hop_x GG ;) .....f bine explicat

_________________
www.CS16.ro Cupon reducere 20%: 20REDCS16


05 Jan 2008 18:05
Profile multumesc YIM WWW
Membru, skill 0
Membru, skill 0

Joined: 05 Jan 2008 04:01
Posts: 13
Detinator Steam: Da
Fond eXtream: 0
,s ;)) e bine sa mai stie si lumea cu ce se mananca.

_________________
Sper ca va place ce fac.


06 Jan 2008 00:06
Profile multumesc WWW
Membru, skill 0
Membru, skill 0

Joined: 05 Jan 2008 12:26
Posts: 1
Location: Romania
Detinator Steam: Nu
Fond eXtream: 0
Ati uitat else if()

Code:
if(is_user_admin(id) {
client_print("E admin ");
} else if(is_user_bot(id) {
client_print("E bot");
} else {
client_print("E jucator normal");
}



Ce face else if() ? Stabileste valoarea reala si o returneaza. Pe romaneste: daca nu am avea instructiunea else if() si am avea un bot atunci am avea returnat "e jucator normal".

Am explicat bine?

_________________
Ronny's Blogu' - Viata vazuta prin ochii unui pusti


06 Jan 2008 02:00
Profile multumesc YIM WWW
Fost administrator
Fost administrator
User avatar

Joined: 17 Dec 2007 22:42
Posts: 12560
Location: di.fm
Detinator Steam: Da
CS Status: a iubi - necesar si suficient
Detinator server CS: romania.cs16.ro
SteamID: anakin_cstrike16
Reputatie: Membru Club eXtreamCS
Fost Contribuitor
Fost Scripter eXtreamCS
Fost Lider Echipa eXtreamCS
Fost Administrator
Fond eXtream: 0
Ronny wrote:
Ati uitat else if()

Code:
if(is_user_admin(id) {
client_print("E admin ");
} else if(is_user_bot(id) {
client_print("E bot");
} else {
client_print("E jucator normal");
}



Ce face else if() ? Stabileste valoarea reala si o returneaza. Pe romaneste: daca nu am avea instructiunea else if() si am avea un bot atunci am avea returnat "e jucator normal".Am explicat bine?


mda, e bine....s-ar traduce : "altfel daca"....deci daca este admin(blabla) altfel daca este bot(bla bla)

_________________
www.CS16.ro Cupon reducere 20%: 20REDCS16


06 Jan 2008 02:09
Profile multumesc YIM WWW
Display posts from previous:  Sort by  
Reply to topic   [ 54 posts ]  Go to page 1, 2, 3, 4, 5  Next

Who is online

Users browsing this forum: No registered users and 10 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  

În cazul în care aveți probleme cu contul trimiteți un email sau mesaj la servicii_extream[arond]yahoo[punct]com

Powered by phpBB® Forum Software © phpBB Group