#include <a_samp>
new GuardarSkin[MAX_PLAYERS];
public OnPlayerCommandText(playerid, cmdtext[]) {
if (strcmp("/guardar_skin", cmdtext, true, 10) == 0) {
GuardarSkin[playerid] = GetPlayerSkin(playerid);
return true;
}
if (strcmp("/poner_skin", cmdtext, true, 10) == 0) {
SetPlayerSkin(playerid, GuardarSkin[playerid]);
return true;
}
return false;
}
enum pInfo { pPass, pAdmin, pSkin } new PlayerInfo[MAX_PLAYERS][pInfo]; #define USERFILE "Cuentas/%s.ini" // directorio
public LoadUser_data(playerid,name[],value[]) { INI_Int("Password",PlayerInfo[playerid][pPass]); INI_Int("AdminNivel",PlayerInfo[playerid][pAdmin]); INI_Int("Ropa",PlayerInfo[playerid][pSkin]); return 1; }
switch( dialogid ) { case DIALOG_REGISTER: { if (!response) return Kick(playerid); if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registro","No has escrito nada!","Registrar","Salir"); new INI:File = INI_Open(UserPath(playerid)); //------------- INI -----------/ INI_SetTag(File,"data"); INI_WriteInt(File,"Password",udb_hash(inputtext)); INI_WriteInt(File,"AdminNivel",0); INI_WriteInt(File,"Ropa",0); INI_Close(File); //------------- INI -----------/ SpawnPlayer(playerid); ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,"Registro","Felicidades por tu registro!","Gracias",""); } }
public OnPlayerDisconnect(playerid, reason) { //------------- INI -----------/ new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid); INI_WriteInt(File,"AdminNivel",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Ropa",PlayerInfo[playerid][pSkin]); INI_Close(File); //------------- INI -----------/ return 1; }
public OnPlayerSpawn(playerid) { SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//esto seteara el skin al jugador. return 1; }
stock UserPath(playerid){ new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),USERFILE,playername); return string; }
Asн como hace otacon, pero para que se te guarde haslo asн.
Код:
enum pInfo { pPass, pAdmin, pSkin } new PlayerInfo[MAX_PLAYERS][pInfo]; #define USERFILE "Cuentas/%s.ini" // directorio Код:
public LoadUser_data(playerid,name[],value[]) { INI_Int("Password",PlayerInfo[playerid][pPass]); INI_Int("AdminNivel",PlayerInfo[playerid][pAdmin]); INI_Int("Ropa",PlayerInfo[playerid][pSkin]); return 1; } Код:
switch( dialogid ) { case DIALOG_REGISTER: { if (!response) return Kick(playerid); if(response) { if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registro","No has escrito nada!","Registrar","Salir"); new INI:File = INI_Open(UserPath(playerid)); //------------- INI -----------/ INI_SetTag(File,"data"); INI_WriteInt(File,"Password",udb_hash(inputtext)); INI_WriteInt(File,"AdminNivel",0); INI_WriteInt(File,"Ropa",0); INI_Close(File); //------------- INI -----------/ SpawnPlayer(playerid); ShowPlayerDialog(playerid, DIALOG_SUCCESS_1, DIALOG_STYLE_MSGBOX,"Registro","Felicidades por tu registro!","Gracias",""); } } Код:
public OnPlayerDisconnect(playerid, reason) { //------------- INI -----------/ new INI:File = INI_Open(UserPath(playerid)); INI_SetTag(File,"data"); PlayerInfo[playerid][pSkin] = GetPlayerSkin(playerid); INI_WriteInt(File,"AdminNivel",PlayerInfo[playerid][pAdmin]); INI_WriteInt(File,"Ropa",PlayerInfo[playerid][pSkin]); INI_Close(File); //------------- INI -----------/ return 1; } Код:
public OnPlayerSpawn(playerid) { SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);//esto seteara el skin al jugador. return 1; } Код:
stock UserPath(playerid){ new string[128],playername[MAX_PLAYER_NAME]; GetPlayerName(playerid,playername,sizeof(playername)); format(string,sizeof(string),USERFILE,playername); return string; } |
creo que pidio saber como guardar el skin, no un registro en dialogo.
|