[GUIDA] Dialog sa:mp

Stato
Discussione chiusa ad ulteriori risposte.

-NeLu-

Utente Electrum
3 Febbraio 2010
198
60
5
171
salve a tutti Volevo postare la mia 1° guida di samp per i dialoghi ion sa:mp...

allora prima di tutto ci sono 3 tipi di dialoghi:

DIALOG_STYLE_MSGBOX = E un area di Testo.
DIALOG_STYLE_LIST = Una lista
DIALOG_STYLE_INPUT = Una Textbox


In questa guida pero ci basiamo sul Dialogo DIALOG_STYLE_LIST, e in questo Tutorial Realizziamo un Menu per le armi.
ALLORA:
in cima alla gm definiamo il menu:

Codice:
#define menuarmi 0

(PS: Il 0 e l´id del dialogo se per esempio avete gia un Dialogo mettete 1 al posto del 0)

----------------------------------------------------------------------------

Adesso nel Callback


public OnPlayerCommandText(playerid, cmdtext[])

Inseriamo questo:

Codice:
if (strcmp("/armi", cmdtext, true) == 0)                                                       
{
    //Funzione
    return 1;
}

Dove ce scritto Funzione lo sostituite con questo codice qua

Codice:
ShowPlayerDialog(playerid, menuarmi, DIALOG_STYLE_LIST, "Armi", "Pistola\nDesert Eagle\nM4\nRocket Launcher\nFlametowerr\nMinigun\nGranate", "Seleziona", "Annulla");

// menuarmi = il nome del menu che abbiamo definito
//  DIALOG_SYTLE_LIST = Il stile del Dialogo in questo caso una Lista
// "Armi" = Il Titolo del menu
// "Pistola[...]" = Sono le armi nella lista
// \n =  \n e uno Spazio tra un item all´altro
// Seleziona = Prendi l´arma o vai al prossimo menu
// Annulla = Se si clicca su Annulla il menu si chiude

-----------------------------------------------------------------------------

Adesso nel Callback




public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])


Inseriamo:

Codice:
if(dialogid == menuarmi) // Il nome del Menu che abbiamo definito come ID 0
{
     if(response)
     {
	   if(listitem == 0) // Pistola
	   {
	       GivePlayerWeapon(playerid,22,100);	
	   }
	   if(listitem == 1) // Eagle
           {
	       GivePlayerWeapon(playerid,24,75);
	   }
	   if(listitem == 2) // M4
	   {
	       GivePlayerWeapon(playerid,31,300);
           }
	   if(listitem == 3) // Rocketlauncher
	   {
              GivePlayerWeapon(playerid,35,10);
	   }
	   if(listitem == 4) //Flametohwer
	   {
              GivePlayerWeapon(playerid,34,30);
	   }
	   if(listitem == 5) // Minigun
	   {
              GivePlayerWeapon(playerid,38,60);
           }
	   if(listitem == 6) // Granate
	   {
              GivePlayerWeapon(playerid,16,20);
           } 
     }          
}

Il GivePlayerWeapon e la Funziona che da l´arma al Player, se volete che quando un Player compra un arma li scalano i soldi aggiungete sotto al

Codice:
GivePlayerMoney(playerid,-500);

Se volete dire al Player che ha comprato un arma Mettete sotto
Codice:
GivePlayerWeapon


Codice:
SendClientMessage(playerid,COLOR_RED,"Hai comprato un arma per 500 Dollari");

Naturlamente il COLOR_RED deve essere definito. Ma ora non arriviamo su questo Argomento.
Dovrebe Funzionare in caso contrario contattatemi.











Fonte: MIA & SA-MP .
 
Stato
Discussione chiusa ad ulteriori risposte.