Oggi è 28/03/2024, 15:05

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





 Pagina 1 di 1 [ 11 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

  Stampa pagina

Autore Messaggio
 Oggetto del messaggio: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 21:43 
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
Guida all'utilizzo di EasyINI


Introduzione

Su SA:MP siamo abituati a salvare parametri nei file usando i natives oppure Dini.
Anche su IV:MP si può fare, utilizzando EasyINI creato da Jones.

Inizio

Scaricate l'include da qui:
http://www.gta-center.com/area_download/index.php?act=view&id=1795
Inseritelo nella cartella scripts del server.
Quindi, dobbiamo includerlo nella nostra GM, utilizzando nell'evento onScriptInit() la funzione dofile:

Codice:
function onScriptInit()
{
   dofile("scripts/easyini.nut");
}
addEvent("scriptInit", onScriptInit);


Ora vi spiego il funzionamento e i parametri delle funzione per poi iniziare a creare un sistema account.

EasyINI

Viene utilizzata per creare il file su cui andremo a scrivere i dati.

Esempio:

Codice:
local file = EasyINI("file.ini");


setKey(section, keyname, keyvalue)

Viene utilizzata per scrivere nel file i dati.

Esempio:

Codice:
local file = EasyINI("file.ini");
file.setKey("InfoPlayer", "Vita", "100");


Se si apre il file "file.ini" con il blocco note, si vedrà

Codice:
[InfoPlayer]
Vita=100


saveData()

Viene utilizzata per effettuare i cambiamenti sul file.

Esempio:

Codice:
local file = EasyINI("file.ini");
file.setKey("InfoPlayer", "Vita", "100");
file.saveData();


getKey(section, keyname)

Viene utilizzata per prelevare il valore da un file.

Esempio:

Codice:
local file = EasyINI("file.ini");
file.getKey("InformazioniServer", "Nome");


Creazione sistema account

Ora possiamo proseguire con la creazione del sistema account. Creiamo due funzioni: una che
serve per salvare i dati, e una per leggere i dati del player che si sta connettendo/disconnettendo.

Codice:
function salvaAccount(playerid)
{
    local file = EasyINI(GetPlayerName(playerid) + ".ini"); // Creiamo il file con il nome del player
    file.setKey("Info", "Vita", getPlayerHealth(playerid).tostring()); // Salviamo la vita
    file.setKey("Info", "Soldi", getPlayerMoney(playerid).tostring()); // Salviamo i soldi
    file.saveData(); // Apportiamo le modifiche al file
}


La funzione tostring() serve a convertire un qualsiasi tipo come integer o float in stringa, cosa vantaggiosa rispetto
a Pawn, che ci fa risparmiare di usare la funzione format.

Ora dobbiamo fare la funzione che carica l'account.
In fondo mettiamo una funzione creata da Boylett per controllare se un file esiste:

Codice:
function fileExists(filename)
{
   try
   {
      local testfile = file(filename, "r");
   }
   catch(e)
   {
      return false;
   }
   return true;
}


Dopodiche facciamo la funzione vera e propria:

Codice:
function caricaAccount(playerid)
{
    if(!fileExists(getPlayerName(playerid) + ".ini")) // Controlliamo se il file non esiste
    {
       return true; // Se non esiste non esegui il codice seguente
    }
   
    // Altrimenti...
    local file = EasyINI(getPlayerName(playerid) + ".ini"); // Carichiamo il file
    setPlayerHealth(file.getKey("Info", "Vita").tofloat()); // Settiamo la vita salvata
    setPlayerMoney(file.getKey("Info", "Soldi").tointeger()); // Settiamo i soldi salvati
}


Le funzioni tofloat() e tointeger() servono a convertire una stringa in float o integer. Nella vita abbiamo utilizzato tofloat() perchè sappiamo
che la vita è un valore in float, invece per i soldi abbiamo utilizzato tointeger() perchè i soldi sono di tipo integer.

Non ci resta altro che usare le funzioni per il salvataggio del file.
Negli eventi onPlayerConnect e onPlayerDisconnect mettiamo:

Codice:
function onPlayerConnect(playerid)
{
    sendMessageToAll(getPlayerName(playerid) + " è entrato nel server!", 0xFFFFFFAA, false);
    caricaAccount(playerid);
    return 1;
}
addEvent("playerConnect", onPlayerConnect);


Codice:
function onPlayerDisconnect(playerid, reason)
{
    sendMessageToAll(getPlayerName(playerid) + " è uscito dal server!", 0xFFFFFFAA, false);
    salvaAccount(playerid);
    return 1;
}
addEvent("playerDisconnect", onPlayerDisconnect);


Bene, abbiamo appena creato il nostro primo sistema account per IV:MP :D Alla prossima guida!

Guida creata interamente da barletheking solo ed esclusivamente per GTA-Center.com
Copia non autorizzata senza l'autorizzazione del sottoscritto.

_________________
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: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 22:18 
Avatar utente
Administrator

Iscritto il: 02/09/2010
Messaggi: 1349
Località: Agrigento
Favourite GTA: Vice City
PlayStation Network: Giovanni94m
Xfire: Giovanni94m
Steam: Giovanni94m

Karma
10


Non connesso
Fantastico lavoro barle
k+

_________________
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 22:20 
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
Wow grazie :)

_________________
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: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 22:31 
Avatar utente
Utente

Iscritto il: 31/10/2010
Messaggi: 901
Località: Universo - Via Lattea - Sistema Solare - Pianeta Terra - Europa - Italia - Sicilia - Grammichele(CT)
Favourite GTA: San Andreas
Xfire: Privato

Karma
2


Non connesso
Fantastica guida, te lo sei meritato il K+ ;)

_________________
Immagine


I Miei Filterscript Per Sa-Mp

Rampone System By me and Mik_Teck
Autovelox System By me and Mik_Teck
Metro System By me
pLaserPointer By me

Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 22:34 
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
Grazie ;)

_________________
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: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 11/03/2011, 23:48 
Banned

Iscritto il: 31/10/2010
Messaggi: 1363
Località: Sicilia
Favourite GTA: San Andreas
Xfire: peppinux

Karma
-10


Non connesso
Nice guide


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 12/03/2011, 16:43 
Avatar utente
Utente

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

Karma
0


Non connesso
Fantastica guida ;)

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 14/03/2011, 21:19 
Avatar utente
Moderatore

Iscritto il: 30/10/2010
Messaggi: 72

Karma
0


Non connesso
Non avrei saputo spiegare meglio, bravissimo :asd: (p.s. alcune cose non le sapevo :D )

_________________
Immagine


Top
 E-mail  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 14/03/2011, 21:42 
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
Thanks xD

_________________
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: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 16/08/2011, 22:40 
Avatar utente
Utente

Iscritto il: 14/06/2011
Messaggi: 188
Località: Napoli
Favourite GTA: San Andreas

Karma
0


Non connesso
Scusa, anche se la guida e vcchia ma qui:

Codice:

function caricaAccount(playerid)
{
    if(!fileExists(getPlayerName(playerid) + ".ini")) // Controlliamo se il file non esiste
    {
       return true; // Se non esiste non esegui il codice seguente
    }
   
    // Altrimenti...
    local file = EasyINI(getPlayerName(playerid) + ".ini"); // Carichiamo il file
    setPlayerHealth(file.getKey("Info", "Vita").tofloat()); // Settiamo la vita salvata
    setPlayerMoney(file.getKey("Info", "Soldi").tointeger()); // Settiamo i soldi salvati
}

Non dovrebbe returnare false (0) se non esiste?

_________________
SA:MP

House System v2.0 by me: http://www.gta-center.com/forums/viewtopic.php?f=42&t=1387
ATM System v2.0 by me: viewtopic.php?f=42&t=1343
Coins System v1.0, 1.1 e 1.2 by me: viewtopic.php?f=42&t=1252


IV:MP

Guida agli Operatori: viewtopic.php?f=57&t=1485
Guida alle funzioni Player: viewtopic.php?f=57&t=1415
Guida condizioni: IF/ELSE/ELSEIF


Top
  
 
 Oggetto del messaggio: Re: [GUIDA] Utilizzo di EasyINI
MessaggioInviato: 27/08/2011, 0:10 
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
Ma hai letto? Se non trova il file returna true.

_________________
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  
 
Visualizza ultimi messaggi:  Ordina per  
 Pagina 1 di 1 [ 11 messaggi ] 

  Apri un nuovo argomento Rispondi all’argomento

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



Chi c’è in linea

Visitano il forum: Nessuno e 5 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