02.01.2012, 04:02
Miren estoy creando mi sistema VIP, tengo un pequeсo problema, cuando un jugador se desconecta y luego se conecta no tiene el nivel VIP
Que mierda pasa ? No me tira ningun error ni nada, pero no se guarda
Voy al archivo .ini y el nivel siempre esta en 0
Comando /setvip =
Otra cosa, cuando ya le di un nivel vip, los comandos les funcionan perfectamente, asi que el server toma el nivel vip del jugador.
pawn Код:
#define PlayerFile "VIP/%s.ini"
pawn Код:
public OnPlayerDisconnect(playerid, reason)
{
new file[100];
format(file,sizeof(file),PlayerFile,Pinfo[playerid][pName]);
dini_Set(file,"Name",Pinfo[playerid][pName]);
dini_Set(file,"Ip",Pinfo[playerid][Pip]);
dini_IntSet(file,"Nivel_Vip",Pinfo[playerid][Nivel_Vip]);
Pinfo[playerid][Nivel_Vip] = 0;
return 1;
}
Que mierda pasa ? No me tira ningun error ni nada, pero no se guarda

Voy al archivo .ini y el nivel siempre esta en 0

Comando /setvip =
pawn Код:
dcmd_setvip(playerid, params[])
{
new file[100];
format(file,sizeof(file),PlayerFile,Pinfo[playerid][pName]);
new string[128],string2[128];
new giveplayerid, level;
new playername[MAX_PLAYER_NAME],idname[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
GetPlayerName(playerid,idname,MAX_PLAYER_NAME);
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: Nesesitas mas nivel de administrador para esto!");
if(sscanf(params, "ud", giveplayerid, level))return SendClientMessage(playerid, COLOR_RED, "Uso Correcto: /setvip [ID / Nombre] [Nivel]");
else if (giveplayerid == INVALID_PLAYER_ID)return SendClientMessage(playerid, COLOR_RED, "ID Invalido");
else if (level > 5)return SendClientMessage(playerid, COLOR_RED, "Nivel VIP Maximo 5!");
else
{
Pinfo[giveplayerid][Nivel_Vip] = level;
format(string,sizeof(string),"Admin %s Te ha dado el nivel V.I.P %d",playername,level);
SendClientMessage(giveplayerid,COLOR_YELLOW,string);
format(string2,sizeof(string2),"El nivel VIP de %s ahora es %d",idname,level);
SendClientMessageToAll(COLOR_YELLOW,string2);
dini_IntSet(file,"Nivel_Vip",Pinfo[playerid][Nivel_Vip]);
}
return 1;
}