#include <a_samp>
#include <DOF2>
#include <ZCMD>
#include <sscanf2>
#define MAX_SKIN 5
new Skin[ MAX_SKIN ][ MAX_PLAYERS ];
stock CarregarSkin(p){
new file[45],n[25],arq[10];
GetPlayerName(p,n,sizeof n);
format(file,sizeof file,"Acc/%s.ini",n);
for(new _x = 0; _x < MAX_SKIN; _x ++){
format(arq,sizeof arq,"Skin%d",_x);
Skin[ _x ][ p ] = DOF2_GetInt(file,arq);
}
}
stock SalvarSkin(p){
new file[45],n[25],arq[10];
GetPlayerName(p,n,sizeof n);
format(file,sizeof file,"Acc/%s.ini",n);
for(new _x = 0; _x < MAX_SKIN; _x ++){
format(arq,sizeof arq,"Skin%d",_x);
DOF2_SetInt(file,arq,Skin[ _x ][ p ]);
}
DOF2_SaveFile();
}
new file[56],n[25],arq[20];
GetPlayerName(playerid,n,sizeof n);
format(file,sizeof file,"Acc/%s.ini",n);
if(!DOF2_FileExists(file)){
DOF2_CreateFile(file);
for(new _x = 0; _x < MAX_SKIN; _x ++){
format(arq,sizeof arq,"Skin%d",_x);
DOF2_SetInt(file,arq,-1);
}
DOF2_SaveFile();
}
public OnPlayerConnect(playerid)
{
CarregarSkin(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
SalvarSkin(playerid);
return 1;
}
CMD:comprarskin(p,params[]){
new skin,slot;
if(sscanf(params,"dd",slot,skin)) return SendClientMessage(p,-1,"[ERRO] Use: /comprarskin <slot(0 а 4)> <Nє da skin (0 а 298)>");
else if(skin < 0 || skin > 298) return SendClientMessage(p,-1,"[ERRO] Skin invбlida");
Skin[ slot ][ p ] = skin;
SetPlayerSkin(p,skin);
SendClientMessage(p,-1,"Vocк comprou uma roupa.");
return true;
}
CMD:mudarskin(p,params[]){
new slot;
if(sscanf(params,"d",slot)) return SendClientMessage(p,-1,"[ERRO] USe: /mudarskin <slot(0 а 4)>");
if(Skin[ slot ][ p ] < 0 || Skin[ slot ][ p ] > 298) return SendClientMessage(p,-1,"[ERRO] Skin invбlida");
SetPlayerSkin(p,Skin[ slot ][ p ]);
SendClientMessage(p,-1,"Vocк mudou de roupa.");
return true;
}
CMD:verskins(p){
new str[ MAX_SKIN ][ 60 ],string[300];
for(new _x = 0; _x < MAX_SKIN; _x ++){
format(str [ _x ],60,"{FFFFFF}- Slot {FFFF00}[%d]{FFFFFF}: Skin Nє {FFFF00}%d\n",_x,Skin[ _x ][ p ]);
strcat(string,str[ _x ]);
}
ShowPlayerDialog(p,999,0,"Suas Roupas",string,"Confirma","");
return true;
}
Topo do GM: pawn Code: #include <a_samp> #include <DOF2> #include <ZCMD> #include <sscanf2> #define MAX_SKIN 5 new Skin[ MAX_SKIN ][ MAX_PLAYERS ]; Funзхes para salvar e carregar as skins, coloque o conteudo delas onde vocк carrega e salva as contas: pawn Code: stock CarregarSkin(p){ new file[45],n[25],arq[10]; GetPlayerName(p,n,sizeof n); format(file,sizeof file,"Acc/%s.ini",n); for(new _x = 0; _x < MAX_SKIN; _x ++){ format(arq,sizeof arq,"Skin%d",_x); Skin[ _x ][ p ] = DOF2_GetInt(file,arq); } } stock SalvarSkin(p){ new file[45],n[25],arq[10]; GetPlayerName(p,n,sizeof n); format(file,sizeof file,"Acc/%s.ini",n); for(new _x = 0; _x < MAX_SKIN; _x ++){ format(arq,sizeof arq,"Skin%d",_x); DOF2_SetInt(file,arq,Skin[ _x ][ p ]); } DOF2_SaveFile(); } Coloque isto onde hб a criaзгo da conta: pawn Code: new file[56],n[25],arq[20]; GetPlayerName(playerid,n,sizeof n); format(file,sizeof file,"Acc/%s.ini",n); if(!DOF2_FileExists(file)){ DOF2_CreateFile(file); for(new _x = 0; _x < MAX_SKIN; _x ++){ format(arq,sizeof arq,"Skin%d",_x); DOF2_SetInt(file,arq,-1); } DOF2_SaveFile(); } pawn Code: public OnPlayerConnect(playerid) { CarregarSkin(playerid); return 1; } public OnPlayerDisconnect(playerid, reason) { SalvarSkin(playerid); return 1; } Comandos: pawn Code: CMD:comprarskin(p,params[]){ new skin,slot; if(sscanf(params,"dd",slot,skin)) return SendClientMessage(p,-1,"[ERRO] Use: /comprarskin <slot(0 а 4)> <Nє da skin (0 а 29>"); else if(skin < 0 || skin > 29 return SendClientMessage(p,-1,"[ERRO] Skin invбlida"); Skin[ slot ][ p ] = skin; SetPlayerSkin(p,skin); SendClientMessage(p,-1,"Vocк comprou uma roupa."); return true; } CMD:mudarskin(p,params[]){ new slot; if(sscanf(params,"d",slot)) return SendClientMessage(p,-1,"[ERRO] USe: /mudarskin <slot(0 а 4)>"); if(Skin[ slot ][ p ] < 0 || Skin[ slot ][ p ] > 29 return SendClientMessage(p,-1,"[ERRO] Skin invбlida"); SetPlayerSkin(p,Skin[ slot ][ p ]); SendClientMessage(p,-1,"Vocк mudou de roupa."); return true; } CMD:verskins(p){ new str[ MAX_SKIN ][ 60 ],string[300]; for(new _x = 0; _x < MAX_SKIN; _x ++){ format(str [ _x ],60,"{FFFFFF}- Slot {FFFF00}[%d]{FFFFFF}: Skin Nє {FFFF00}%d\n",_x,Skin[ _x ][ p ]); strcat(string,str[ _x ]); } ShowPlayerDialog(p,999,0,"Suas Roupas",string,"Confirma",""); return true; } |