Oggi è 15/06/2024, 22:35

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Regole del forum


- Dare titoli sensati, non titoli tipo "Aiuto" oppure "Problema", i topic analoghi verranno immediatamente chiusi.
- Utilizzare http://www.pastebin.com per script superiori a 20 righe.



 Pagina 1 di 1 [ 7 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [RISOLTO]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 16:09 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Salve a tutti. Scusate, non sapevo come chiamare il Topic visto che non so come spiegare :argh: . Vi spiego qui, allora io ero interessato a fare dei comandi. Il problema è che mi blocco in un punto!
Cioè ecco come strutturo i miei comandi:

Codice:
if(!strcmp(cmd, "/setarmatura", true))
{
new tmp[256];
tmp = strtok(cmdtext, idx);
new altroid;
altroid = strval(tmp);
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] == 1) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]Non puoi usare questo comando !!");
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ORANGE, "[USO:]/setarmatura <id> <armatura");
SetPlayerArmour(altroid, .........);


Ecco dove ho messo i puntini mi sono bloccato. Cioè come faccio a dire che devo Settare tanta armatura quanta ne ho scritta io? Cioè se metto tmp non si riferisce all'ID? Spero possiate essermi d'aiuto ;).


RISOLTO ~ SOLUZIONE:

StanleY ha scritto:
Basta metterne un altro di seguito

Codice:
if(!strcmp(cmd, "/setarmatura", true))
{
new tmp[256],  armatura[256];
tmp = strtok(cmdtext, idx);
armatura = strtok(cmdtext, idx);
new altroid;
altroid = strval(tmp);
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] == 1) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]Non puoi usare questo comando !!");
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ORANGE, "[USO:]/setarmatura <id> <armatura>");
SetPlayerArmour(altroid, strval(armatura));
}

_________________
Immagine


Ultima modifica di mitosking il 13/01/2011, 16:43, modificato 1 volta in totale.

Top
 E-mail  
 

 Oggetto del messaggio: Re: [HELP]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 16:29 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 189
Località: Palermo (PA)
Favourite GTA: San Andreas
Xfire: tlkstanley

Karma
1


Non connesso
Basta metterne un altro di seguito

Codice:
if(!strcmp(cmd, "/setarmatura", true))
{
new tmp[256],  armatura[256];
tmp = strtok(cmdtext, idx);
armatura = strtok(cmdtext, idx);
new altroid;
altroid = strval(tmp);
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] == 1) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]Non puoi usare questo comando !!");
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_ORANGE, "[USO:]/setarmatura <id> <armatura>");
SetPlayerArmour(altroid, strval(armatura));
}

_________________


Top
  
 
 Oggetto del messaggio: Re: [HELP]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 16:31 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Grazie mille, provo. ;)


EDIT: Potete :lock: ;).

EDIT 2: mmm scusate la domanda, ma prima che chiudete volevo farne un'altra. Almeno evito di aprire un altro topic per questa scemenze :dry: ...

Comunque volevo fare che se l'array "vita" è minore di 0, o maggiore di 100, ti invii un messaggio. Io ho fatto cosi:

Codice:
if(vita <=0 >=100) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]HP compresi fra 1 e 100");


Mi da errore, mi dite dove sbaglio?

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [RISOLTO]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 17:24 
Avatar utente
Moderatore

Iscritto il: 28/10/2010
Messaggi: 919
Località: Veduggio con Colzano (Milano-Monza)
Favourite GTA: San Andreas
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: barle97

Karma
1


Non connesso
Codice:
if(vita < 1 || vita > 100) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]HP compresi fra 1 e 100");


Lista operatori booleani:

AND che sarebbe &&. Serve a passare una condizione se tutte le condizioni indicate si avverano.

OR che sarebbe ||. Serve a passare una condizione se una delle due o più condizioni si avverano.

NOT che sarebbe ! per variabili booleane, != per variabili intere ecc.. Controlla se il valore non è uguale a quello indicato.

_________________
disasm 0xFFFF00 1: LE HANTENNE DEL RUTER SI MVONO DA SL!11!1!!1
[EPD]Giovanni94m: AHSUAHSAUSHAUSAHSAU
disasm 0xFFFF00 1: bella questa asd

[EPD]Giovanni94m: io non riesco a trovare un gioco che ci giocavo su ps1
[EPD]Giovanni94m: non ricordo il nome
[EPD]Giovanni94m: era un omino rosa
[EPD]Giovanni94m: ...
[BCD]barle_the_king: forse cercavi omino bianco [cit. google]
[BCD]barle_the_king: auhsahusuha
[EPD]Giovanni94m: no ahsau
[BCD]barle_the_king: firma duhahudshue

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [RISOLTO]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 18:26 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Ok ;) comunque ultimissima domanda O.O... Guardate cos'ho fatto:

Codice:
if(!strcmp(cmd, "/daiarma", true))
   {
   new tmp[256], wep[256], ammo[256];
   tmp = strtok(cmdtext, idx);
   wep = strtok(cmdtext, idx);
   ammo = strtok(cmdtext, idx);
   new altroid;
   altroid = strval(tmp);
   new arma;
   arma = strval(wep);
   new muni;
   muni = strval(ammo);
   if(!strcmp(tmp, wep, ammo)) return SendClientMessage(playerid, COLOR_ORANGE, "[USO:]/daiarma <id> <idarma> <ammo>"); // <---------- QUI MI DA L'ERRORE!!!!
   if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]Non puoi usare questo comando !!");
   if(!IsPlayerConnected(altroid)) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]Player non Connesso!");
   if(arma < 1 || arma > 40) return SendClientMessage(playerid, COLOR_RED, "[ERRORE:]L'ID delle armi deve essere compreso tra 1 e 40");
   GivePlayerWeapon(altroid, arma, muni);
   return 1;
   }


Errore:
Codice:
argument type mismatch (argument 3)

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [RISOLTO]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 18:33 
Avatar utente
Administrator

Iscritto il: 02/09/2010
Messaggi: 282
Località: Cesena
Favourite GTA: Ballad of Gay Tony
PlayStation Network: Nessuno
Xbox Live: Nessuno
Xfire: ske92

Karma
10


Non connesso
Devi cambiare
Codice:
if(!strcmp(tmp, wep, ammo))


in

Codice:
if(!strcmp(tmp, wep, true))


Il 3° parametro è TRUE oppure FALSE. E' un tipo booleano e non tipo stringa. Se gli passi una stringa come parametro da errore chiaramente.

Se impostato a True compara le due stringhe fregandosene delle maiuscole (es.: WoaH è uguale a woah), se è False WoaH è diverso da woah.

_________________


Top
  
 
 Oggetto del messaggio: Re: [RISOLTO]Doppio cmdtext!
MessaggioInviato: 13/01/2011, 19:34 
Avatar utente
Utente

Iscritto il: 22/12/2010
Messaggi: 1098
Località: Agrigento (Sicilia)
Favourite GTA: San Andreas
Xfire: In PM

Karma
0


Non connesso
Ok grazie RISOLTO. :lock: ;) grazie mille a tutti.

_________________
Immagine


Top
 E-mail  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 7 messaggi ] 

  Apri un nuovo argomento Questo argomento è bloccato, non puoi modificare o inviare ulteriori messaggi.

Tutti gli orari sono UTC + 1 ora [ ora legale ]



Chi c’è in linea

Visitano il forum: Nessuno e 112 ospiti


Non puoi aprire nuovi argomenti
Non puoi rispondere negli argomenti
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi inviare allegati

Cerca per:
Vai a:  
cron