[Tutorial] como Guardar algunas Cosas /armas/skin/score ETc.Dini
#1

Hola les mostrare como pueden guardar

*Dinero
*Score
*Armas
*Vida
*Chaleco
*Color
*IP


Pimero lo qe necesitaran es Dini Click Aqui
Como ya saven es funfamental para esto y puedes unirlo con algun FS de administracion para guardar el score de los jugadores o el dinero

ejemplo:

/stats

Asesinatos: 0 Muertes: 0 SCORE: 5 dinero: $100 Skin: 256


Guardar Dinero



Ahora en OnPlayerConnect
// Esto sera el callback
pawn Код:
public OnPlayerConnect(playerid)
{
  //Lo qe tengas
  return 1;
}
Код:
if(dini_Isset("/jugador/dinero.ini",PlayerName(playerid))) GivePlayerMoney(playerid,dini_Int("/jugador/dinero.ini",PlayerName(playerid)));
//dini_isset es lo qe definira el nombre y la carpeta si esta creada o no y //dini_Int cargara el archivo en este caso es OnPlayerConnect
Ahora en OnPlayerDisconnect
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
  //Lo qe tengas
  return 1;
}
Код:
dini_IntSet("/jugador/dinero.ini",PlayerName(playerid),GetPlayerMoney(playerid));
//dini_IntSet esto creara el nombre del archivo por si algun jugador entra por primera vez al server creara su nombre y donde guardara el score en este caso definiriamos el codigo GetPlayerMoney para qe sepa qe qeremos guardar el dinero y si al salir el jugador tiene 2000 pesos esa cantidad se guardara en la carpeta ya creada
Ahora en OnGameModeInit oFilterscriptinit
pawn Код:
public OnGameModeInit()
{
  //Lo qe tengas
  return 1;
}
Код:
if(!fexist("/jugador/dinero.ini")) dini_Create("/jugador/dinero.ini");
//dini_Create al poner esto en el callback OnGameModeInit o Filterscriptinit creara el archivo en texto en la carpeta filterscript para qe se guarden correctamente los archivos en este caso la cantidad de dinero, solo basta poner una "/" para definir alguna carpeta ejemplo dini_Create("/jugador/dinero.ini -- Esto quiere decir qe el archivo se creara en la carpeta "scriptfiles" donde habra otra carpeta llamada "jugador" y en esa carpeta estara "el archivo creado"


//Y seria lo mismo para los demas definiciones y guardar algunas cosas spero qe les sirva suerte


Guardar Score
Ahora en OnPlayerConnect
Код:
if(dini_Isset("/jugador/score.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("/jugador/score.ini",PlayerName(playerid)));
Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/score.iniscore.ini",PlayerName(playerid),GetPlayerScore(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/score.ini")) dini_Create(/jugador/score.ini");


Guardar Armas
Ahora en OnPlayerSpawn
Код:
if(dini_Isset("/jugador/armas.ini",PlayerName(playerid))) GivePlayerWeapon(playerid,dini_Int("/jugador/armas.ini",PlayerName(playerid)));
Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/armas.ini",PlayerName(playerid),GetPlayerWeapon(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/armas.ini")) dini_Create("/jugador/armas.ini");


Guardar Vida
Ahora en OnPlayerSpawn
Код:
if(dini_Isset("/jugador/vida.ini",PlayerName(playerid))) SetPlayerHealth(playerid,dini_Int("/jugador/vida.ini",PlayerName(playerid)));
Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/vida.ini",PlayerName(playerid),GetPlayerHealth(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/vida.ini")) dini_Create("/jugador/vida.ini");


Guardar Chaleco

Ahora en OnPlayerSpawn
Код:
if(dini_Isset("/jugador/chaleco.ini",PlayerName(playerid))) SetPlayerArmour(playerid,dini_Int("/jugador/chaleco.ini",PlayerName(playerid)));
Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/chaleco.ini",PlayerName(playerid),GetPlayerArmour(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/chaleco.ini")) dini_Create("/jugador/chaleco.ini");


Guardar Color
Ahora en OnPlayerConnect
Код:
if(dini_Isset("/jugador/Color.ini",PlayerName(playerid))) SetPlayerColor(playerid,dini_Int("/jugador/Color.ini",PlayerName(playerid)));
Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/Color.ini",PlayerName(playerid),GetPlayerColor (playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/Color.ini")) dini_Create("/jugador/Color .ini");


Guardar IP

Ahora en OnPlayerDisconnect
Код:
dini_IntSet("/jugador/IP.ini",PlayerName(playerid),GetPlayerIp(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/IP.ini")) dini_Create("/jugador/IP.ini");

Guardar Skin

Ahora en OnPlayerSpawn
Код:
if(dini_Isset("/jugador/skin.ini",PlayerName(playerid))) SetPlayerSkin(playerid,dini_Int("/jugador/skin.ini",PlayerName(playerid)));
Ahora en Disconnect
Код:
dini_IntSet("/jugador/skin.ini",PlayerName(playerid),GetPlayerSkin(playerid));
Ahora en OnGameModeInit oFilterscriptinit
Код:
if(!fexist("/jugador/skin.ini)) dini_Create("/jugador/skin.ini");
Necesitaran esto al terminar de definir
Код:
stock PlayerName(playerid)
{
new Name[MAX_PLAYERS];
GetPlayerName(playerid, Name, sizeof(Name));
return Name;
}
Ejemplo de como guardar el Score:
pawn Код:
public OnPlayerConnect(playerid)
{
  if(dini_Isset("/jugador/score.ini",PlayerName(playerid))) SetPlayerScore(playerid,dini_Int("/jugador/score.ini",PlayerName(playerid)));
  return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
  dini_IntSet("/jugador/score.ini",PlayerName(playerid),GetPlayerScore(playerid));
  return 1;
}

public OnGameModeInit()
{
  if(!fexist("/jugador/score.ini")) dini_Create("/jugador/score.ini");
  return 1;
}

stock PlayerName(playerid)
{
  new Name[MAX_PLAYERS];
  GetPlayerName(playerid, Name, sizeof(Name));
  return Name;
}
Fotos del Resultado:





Explicaciones:
pawn Код:
dini_IntSet("NOMBRE DE ARCHIVO"); //esto creara el archivo con el nombre qe tu kieras ejemplo
dini_IntSet("dinero.ini");
//____________________________________________________
dini_Create("NOMBRE DE ARCHIVO");//Esto creara el archivo en scriptfiles o alguna capreta dentro de scripfiles
dini_Create("dinero.ini");
//____________________________________________________
dini_Int("NOMBRE DE ARCHIVO"); // Lo qe cargara el archivo
dini_Int("dinero.ini"); //Esto se cargara en el callback OnPlayerConnect o OnPlayerSpawn depende sea el caso
Creditos:
ConecCionMex
DraKoNeoN
Reply
#2

jajajaja porque lo subis si no lo as hecho aun XD?
Reply
#3

Ahora si
Reply
#4

Quote:
Originally Posted by AdonisxD
jajajaja porque lo subis si no lo as hecho aun XD?
si perdon por el error es qe keria poner preview y puse post xD lo siento de nuevo mil disculpas
Reply
#5

Exelente carnal
Reply
#6

Quote:
Originally Posted by Dark_Oz
Exelente carnal
Gracias hermano
Reply
#7

Yo he hecho un tutorial de Dini y me habian dicho que ponga explicaciones. Habia hecho como tu solo puesto los codigos, como consejo agrega algunas explicaciones de que hace cada cosa para que los nuevos entiendan mejor. Igual, buen tutorial
Reply
#8

Het Angel, tambien con este Tutorial se guarda la Plata de Bolsillo?

Muy Bueno.
Reply
#9

yo en lo personal para cuentas prefiero usar el udb, y guardar todo en un archivo individual por jugador, aun q de esta forma a la larga se usan menos archivos. y estoy de acuerdo con Mr, deberias ingresar alguna pequeсa explicacion para los que no saben mucho sobre dini, para facilitarles el entendimiento del codigo.


PD: ahora lo agrego con los demas tutoriales
Reply
#10

Aunque la ip siempre guardara 127.0.0.0 que es lo que generalmente detecta XD.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)