GTA-Expert Forum: [GUIDA]statements - GTA-Expert Forum

Salta al contenuto

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

[GUIDA]statements

#1 L'utente è offline   Angelo_95 

  • Cacciatore di taglie
  • Gruppo: Utenti
  • Messaggi: 1620
  • Iscritto il: 31/08/09
  • Provenienza:Area 51
  • GTA Preferito:GTA: San Andreas

Inviato il 27 agosto 2010 - 12:56

In questa guida spiegherò alcuni statements che conosco

1° new

"new" serve per creare una variabile che puo avere valori infiniti esempio
In Cima

new we=0;// crea una variabile con valore 0

In OnGameModeInit

we++; //indica che quando la GM si starta il valore della variabile aumenta di uno

Nella Funzione

if(we==1)// indica che se il valore della variabile è uguale a 1 succede qualcosa
{
//FUNZIONE
}


"new" puo essere usato anche per creare degli array esempio:
In Cima

new AutoMilitari[3];

In OnGameModeInit

AutoMilitari[0]=AddStaticVehicle(520,X,Y,Z,Angolo,-1,-1);
AutoMilitari[1]=AddStaticVehicle(520,X,Y,Z,Angolo,-1,-1);
AutoMilitari[2]=AddStaticVehicle(520,X,Y,Z,Angolo,-1,-1);

In OnPlayerEnterVehicle

if(vehicleid==AutoMilitari[3]){ SendClientMessage(playerid,COLOR_RED,"Benvenuto nell'hydra");
return 1;
}



2° new bool:

il "new bool" serve a creare una variabile che puo avere solo 2 valori (true e false) esempio
In Cima
new bool:afk[MAX_PLAYERS];

In OnPlayerCommandText

if(strcmp(cmd,"/afk",true)==0)
{
if(afk[playerid]==false)
{
TogglePlayerControllable(playerid,false);
afk[playerid]=true;
}else{ 
TogglePlayerControllable(playerid,true);
afk[playerid]=false;
}
return 1;
}


3° for

Il "for" crea un ciclo nel quale puoi creare una variabile e fare aumentare o diminuire il suo valore fino ad un certo limite esempio

for(new i=0;i<100;i++) //crea una variabile chiamata i con valore 0 e fa aumentare il valore della variabile fino a 99 in questo modo i include tutti i players del server

4° if

il "if" significa se e dice che se una variabile è uguale ad un certo valore succede una funzione esempio:
IN CIMA
new we=0;

Nella funzione
if(we!=0) return 0; //indica che se we non ha valore 0 allora si blocca la funzione



5° else

il "else" significa altrimenti è puo essere usato dopo un if, esempio
(riprendo lo script di prima)
if(we!=0) {return 0;}// se we non ha valore 0 blocca la funzione
else //altrimenti se we ha valore 0 accade un'altra funzione
{
//FUNZIONE
}


6° else if

il "else if" indica altrimenti se, è puo essere usato dopo un if, il else if è molto diverso dal else normale perchè il else indica altrimenti mentre il else if indica altrimenti se esempio:

if(we==0){
//funzione}else{//funzione2//} //indica che se else non è uguale a 0 accade la funzione2

mentre else if

if(we==0){
//funzione}else if(we==1){//funzione2} //indica che soltanto se we è uguale a 1 accade la funzione2

7° switch

la funzione "switch" puo essere usata per un random esempio:

new rand=random(2); // crea un random di due funzione

NELLA FUNZIONE

switch(rand)
{
case 0:{//funzione se capita il primo caso}
case 1:{//funzione se capita il secondo caso}
}


switch puo essere usato anche per fare dei menu guida: http://forum.gta-exp...-utilizzo-menu/

8° return

Il "return" returna nella funzione un valore, esistono in generale due tipi di return, il return 1 e il return 0(return true;return false;)

return 0

ritorna la funzione col valore false, cioè vuol dire che blocca la funzione esempio:
IN ONPLAYERTEXT

if(strcmp(text,"cornuto",true)==0)// se scrive in chat cornuto
{
return 0; // blocca la funzione selezionata con if e non manda il messaggio
}


invece il return 1 indica che la funzione verrà eseguita esempio

IN ONPLAYERTEXT

if(strcmp(text,"cornuto",true)==0)// se scrive in chat cornuto
{
return 0; // blocca la funzione selezionata con if e non manda il messaggio
}else{ //altrimenti se non scrive cornuto
return 1; //non blocca la funzione e manda il messaggio
}


9° case

il "case" viene quasi sempre associato allo switch, quindi puo essere usato nei random o nei menù (guardare sopra lo switch)

10° public

Il "public" indica l'inizio di un callback che verrà chiuso col return
esempio

public OnPlayerConnect(playerid)
{
return 1;
}

se il callback non è definito viene usato il forward, e il callback definito col forward puo essere startato da un timer esempio
IN ONGAMEMODEINIT

SetTimer("ThisIsSparta",5000,true);

forward ThisIsSparta();
public ThisIsSparta()
{
SendClientMessageToAll(COLOR_RED,"THIS IS SPARTA");
return 1;
}


11° sizeof

il "sizeof" indica la grandezza di un array esempio

new nome[24];
GetPlayerName(playerid,nome,sizeof(nome));// sizeof(nome) indica la grandezza dell'array nome cioè 24

12° false e true

false e true sono dei valore che possono essere attribuiti ad una variabile e significano falso e vero, posso anche essere sostituiti da 0 e 1

Per ora conosco solo questi statements se non avete capito qualcosa chiedete pure. :P
Immagine Postata
0

#2 L'utente è offline   Peppe951 

  • Tirapiedi
  • Gruppo: Utenti
  • Messaggi: 899
  • Iscritto il: 14/07/09
  • GTA Preferito:Sconosciuto

Inviato il 27 agosto 2010 - 16:21

Secondo me questa guida non è fatta bene :/
0

#3 L'utente è offline   .ReVo^ 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 1402
  • Iscritto il: 20/11/08
  • GTA Preferito:GTA: TBoGT

Inviato il 27 agosto 2010 - 16:27

E' Stata fatta male, poi non ho capito che intendi con
se il callback non è definito viene usato il forward, e il callback definito col forward puo essere startato da un timer esempio

Immagine Postata
0

#4 L'utente è offline   [F12] phantom 

  • Borsaiolo
  • Gruppo: Utenti
  • Messaggi: 465
  • Iscritto il: 16/04/10

Inviato il 27 agosto 2010 - 17:59

lui intendeva che: se per esempio tu metti solo
public Ciao(playerid), questo public, non è predefinito da sa:mp, allora devi perforza mettere il forward

ha aggiunto che:
il public può essere startato anche da un timer SetTimer("Ciao", intervallo, ripetuto+volte=1 ripetuto una volta = 0);
HostName: [ITA][VIP]Dream Cityt RP[ITA] by pisa city!
Address: 95.110.228.30:7777
Players: 38 / 50
Ping: 40
Mode: RolePlay v 0.4
Map: San Andreas

Siamo in cerca di CF
0

#5 L'utente è offline   Peppe951 

  • Tirapiedi
  • Gruppo: Utenti
  • Messaggi: 899
  • Iscritto il: 14/07/09
  • GTA Preferito:Sconosciuto

Inviato il 28 agosto 2010 - 08:29

Per gli switch/case hai parlato soltanto solo di due dei tanti funzionamenti e non hai spiegato a cosa effettivamente serve. Poi hai scritto anche tante cazzate tipo:

if(strcmp(text,"cornuto",true)==0)// se scrive in chat cornuto
{
return 0; // blocca la funzione selezionata con if e non manda il messaggio
}else{ //altrimenti se non scrive cornuto
return 1; //non blocca la funzione e manda il messaggio
}

Il return ferma una qualsiasi funzione, indipendemente dal valore che viene scritto accanto, ma in questo caso il server controlla che valore returna la funzione OnPlayerText e in base a questo invia o no il messaggio.
0

#6 L'utente è offline   Federico Ronaldo 

  • Esecutore
  • Gruppo: Utenti
  • Messaggi: 6543
  • Iscritto il: 02/08/10
  • ID PSN:-
  • Gamertag:Fedez360
  • ID Social Club:-
  • Provenienza:Sardegna
  • GTA Preferito:GTA: Vice City

Inviato il 28 agosto 2010 - 09:47

Non mi piace per nulla questa Guida :nini: . . .
La Firma non deve superare i 600 pixel di larghezza, i 250 pixel di altezza e i 90KB di peso.

[center][img]https://31.media.tumblr.com/0f68b214e263d129fcc3a2d58b490e2b/tumblr_inline_n0k2sfMxju1rvco8p.gif[/img][/center]
0

#7 L'utente è offline   Peppinux aka Peppe_Stasu 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 2056
  • Iscritto il: 16/04/10
  • GTA Preferito:GTA: San Andreas

Inviato il 28 agosto 2010 - 10:20

La guida sarebbe utili per i nuovi nel Pawn ma purtroppo non è fatta molto bene...
0

#8 L'utente è offline   .ReVo^ 

  • Criminale
  • Gruppo: Utenti
  • Messaggi: 1402
  • Iscritto il: 20/11/08
  • GTA Preferito:GTA: TBoGT

Inviato il 28 agosto 2010 - 10:37

Non hai specificato nello switch il caso default.
Immagine Postata
0

#9 L'utente è offline   [F12] phantom 

  • Borsaiolo
  • Gruppo: Utenti
  • Messaggi: 465
  • Iscritto il: 16/04/10

Inviato il 28 agosto 2010 - 10:55

e come sarebbe il caso default?
HostName: [ITA][VIP]Dream Cityt RP[ITA] by pisa city!
Address: 95.110.228.30:7777
Players: 38 / 50
Ping: 40
Mode: RolePlay v 0.4
Map: San Andreas

Siamo in cerca di CF
0

#10 L'utente è offline   Peppinux aka Peppe_Stasu 

  • Sicario
  • Gruppo: Utenti
  • Messaggi: 2056
  • Iscritto il: 16/04/10
  • GTA Preferito:GTA: San Andreas

Inviato il 28 agosto 2010 - 14:51

Quoto ho visto da qualche parte sto default? Ma a cosa serve?
0

#11 L'utente è offline   Peppe951 

  • Tirapiedi
  • Gruppo: Utenti
  • Messaggi: 899
  • Iscritto il: 14/07/09
  • GTA Preferito:Sconosciuto

Inviato il 28 agosto 2010 - 15:34

new 
    rand = random(6);
switch(rand)
{
    case 1:
    {
        rand ++;
    }
    case 2:
    {
        rand --;
    }
    default:
    {
        rand += 2;
    }
}


Il codice nel default viene eseguito se rand != 1 e rand != 2, in pratica è ciò che viene eseguito di default quando non c'è un case per il valore della variabile nello switch.
0

Pagina 1 di 1
  • Non puoi iniziare una nuova discussione
  • Non puoi rispondere a questa discussione

1 utenti stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi