Page 1 of 14

[Cerere] Sfaturi

Posted: 12 Sep 2013, 19:24
by YONTU
Ce fac "codurile" astea (sa le spun asa):
  • return PLUGIN_HANDLED
    || si &&
    acel ! in fata.
    new const X [ NR ] { }
    return simplu

Code: Select all

if( !is_user_alive( id ) || is_user_admin( id ) )
{
        client_print( id, print_chat, "Blah..." )
}
Care e diferenta dintre || si && !

O sa mai revin cu alte "coduri" cand imi mai amintesc... :D

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 19:49
by CryWolf
2.
Ce fac "codurile" astea (sa le spun asa):
return PLUGIN_HANDLED sau return 1;
- Pluginul opreste opratiile continua tot ce e dupa nu va fi luat in considerare!

Care e diferenta dintre || si && !
|| (sau) && (si) sau doar 1 &

acel ! in fata.
Reprezinta cand functia este negativa, spre exeplu !is_user_admin va continua doar daca userul nu este admin

new const X [ NR ] { }
- Nu poate fi modificata
[NR] - Numarul de functii spre exemplu pui 5 deci nu poti adauga mai mult de 5 randuri / functii in acel public!

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 19:53
by YONTU
CryWolf wrote:2.
Ce fac "codurile" astea (sa le spun asa):
return PLUGIN_HANDLED sau return 1; - Transimte codului sa blocheze eventuale continuari ale scriptului!

Care e diferenta dintre || si && !
|| (sau) && (si) sau doar 1 &

acel ! in fata.
Reprezinta cand functia este negativa, spre exeplu !is_user_admin va continua doar daca userul nu este admin

new const X [ NR ] { }
- Nu poate fi modificata
Aha, deci daca am

Code: Select all

if( !is_user_admin( id ) || is_user_alive) { }
va fi luat in considerare doar is_user_alive( id )?

new const X [ NR ] { } = definitie

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 19:57
by -Turbo-
Da doar is_user_alive(id) va fi luat in considerare, daca pui si la el in fata "!" va continua doar daca userul va fi mort

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 20:03
by CryWolf

Code: Select all

if ( is_user_connected ( id ) || !is_user_bot ( id ) )
		return 1;
Functia va continua doar daca userul este conectat si este bot

Code: Select all

if ( is_user_alive ( id ) || is_user_bot ( id ) )
		return 1;
Functia va continua doar daca userul este mort si nu este bot!

In cazul || poti folosi unde si cum doresti !

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 21:13
by YONTU
A da si:
get_user_weapons( id ) == CSW_KNIFE : Ce face == ?
si acel static X

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 21:23
by KronoS eXtream
== este folosit pentru comparatii
static este un alt mod de declarare al variabilelor

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 21:52
by YONTU
KronoS # GG wrote:== este folosit pentru comparatii
static este un alt mod de declarare al variabilelor
:D
Spune-mi rolul "==" din functia get_user_weapon( id ) == CSW_ARMA ! ^:)^

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 21:54
by cyby
return PLUGIN_HANDLED opreste si operatiunile din engine.
Exemplu:
| Afiseaza codul
#include <amxmodx>

public plugin_init()
{
	register_clcmd("drop", "clcmd_drop")
}

public clcmd_drop(id)
{
	return PLUGIN_HANDLED;
}
De exemplu, aici este blocata comanda de drop. (arma nu poate fi aruncata)

Mai jos ai exemplul cum functioneaza si PLUGIN_CONTINUE.
| Afiseaza codul
#include <amxmodx>

public plugin_init()
{
	register_clcmd("drop", "clcmd_drop")
}

public clcmd_drop(id)
{
	// Verificam daca jucatorul este in viata si ii blocam functia. Oricum cu asta nu poate face nimic.
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
	
	// Doar teroristilor le este permis sa arunce arma. Dupa cum vezi, comanda este blocata jucatorilor din echipa 1(tero).
	if(get_user_team(id) != 1)
		return PLUGIN_HANDLED;
	
	// Aici facem detectia daca jucatorul nu are cutitul in mana sa ii apara mesajul Ai aruncat arma centrat si sa continue ce urmeaza in engine.
	if(get_user_weapon(id) != CSW_KNIFE)
	{
		client_print(id, print_center, "Ai aruncat arma.")
		return PLUGIN_CONTINUE;
	}
	else
	{
		// Aici blocam daca are cutitul sa nu ii apara mesajul.
		client_print(id, print_center, "Nu poti arunca cutitul.")
		return PLUGIN_HANDLED;
	}
	// Aici dam continue ca sa lasam pentru celelalte functii care au continue.
	return PLUGIN_CONTINUE;
}
Functia == .

De exemplu putem compara variabile.
Aici daca este in echipa tero sa execute ceva. | Afiseaza codul
if(get_user_team(id) == 1)
Poti folosi si pe cvaruri:
| Afiseaza codul
if(get_pcvar_num(cvar_setat) == valoare)
Functia !=
Asta este negarea absoluta.
Exemplu:
Sa execute/primeasca anumite comenzi/informatii jucatorul DOAR DACA NU este terorist. | Afiseaza codul
if(get_user_team(id) != 1)
! din fata reprezinta valoarea 0 de la o variabila. Exemplu
!is_user_alive(id)
Daca jucatorul nu este in viata.

|| reprezinta in limba romana "sau".
Un exemplu:
| Afiseaza codul
if(get_user_team(id) == 1 || get_user_team(id) == 3)
Aici ai un exemplu, daca jucatorul e terorist sau spectator.

&& reprezinta in limba romana "si".
Un exemplu
| Afiseaza codul
if(is_user_alive(id) && get_user_team(id) == 1)
Aici ai un exemplu, daca jucatorul este in viata si este in echipa terorist.

Re: [Cerere] Plugin + Sfaturi

Posted: 12 Sep 2013, 22:07
by KronoS eXtream
YONTU wrote:
KronoS # GG wrote:== este folosit pentru comparatii
static este un alt mod de declarare al variabilelor
:D
Spune-mi rolul "==" din functia get_user_weapon( id ) == CSW_ARMA ! ^:)^
Verifica daca arma jucatorului este cea din conditie.Practic, == verifica daca valoarea rezultata de functie sau valoarea unei variabile este egala cu cea pe care o punem noi.

Re: [Cerere] Plugin + Sfaturi

Posted: 15 Sep 2013, 20:26
by YONTU
public client_putinserver( id ) si public client_disconnect si connect


Astea ce fac?

Re: [Cerere] Plugin + Sfaturi

Posted: 15 Sep 2013, 20:28
by KronoS eXtream
YONTU wrote:public client_putinserver( id ) si public client_disconnect si connect


Astea ce fac?
client_putinserver( index ) se executa cand jucatorul a intrat pe server
client_connect( index ) se executa cand jucatorul se conecteaza la server
client_disconnect( index ) se executa cand jucatorul a iesit de pe server