Problema con Dini. -
[Nikk] - 02.01.2012
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
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;
}
Otra cosa, cuando ya le di un nivel vip, los comandos les funcionan perfectamente, asi que el server toma el nivel vip del jugador.
Respuesta: Problema con Dini. -
GaBO! - 02.01.2012
esta la carpeta VIP en scriptfiles?
Respuesta: Problema con Dini. -
El Bardo - 02.01.2012
Removй el
pawn Код:
Pinfo[playerid][Nivel_Vip] = 0;
de OnPlayerDisconnect
Ahн lo que haces el setear el Nivel a 0.
Todo sea por el contador de mensajes.
Respuesta: Problema con Dini. -
TheChaoz - 02.01.2012
1є
pawn Код:
//Epic fail con los nicks de los jugadores.
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
GetPlayerName(playerid,idname,MAX_PLAYER_NAME);
2є
pawn Код:
dini_IntSet(file,"Nivel_Vip",Pinfo[playerid][Nivel_Vip]);//No deberia ser "giveplayerid"???
3є Si usas la version 0.3d, tenes el plugin de sscanf actualizado?
Respuesta: Problema con Dini. -
[Nikk] - 03.01.2012
Quote:
Originally Posted by GaBO!
esta la carpeta VIP en scriptfiles?
|
Si Claro
Quote:
Originally Posted by El Bardo
Removй el
pawn Код:
Pinfo[playerid][Nivel_Vip] = 0;
de OnPlayerDisconnect
Ahн lo que haces el setear el Nivel a 0.
Todo sea por el contador de mensajes.
|
No, probe y no funciona.
Quote:
Originally Posted by the_chaoz
1є
pawn Код:
//Epic fail con los nicks de los jugadores. GetPlayerName(playerid, playername, MAX_PLAYER_NAME); GetPlayerName(playerid,idname,MAX_PLAYER_NAME);
2є
pawn Код:
dini_IntSet(file,"Nivel_Vip",Pinfo[playerid][Nivel_Vip]);//No deberia ser "giveplayerid"???
3є Si usas la version 0.3d, tenes el plugin de sscanf actualizado?
|
Por que fail con los names? Esta mal un cуdigo?
No uso sscanf.
Respuesta: Problema con Dini. -
TheChaoz - 03.01.2012
1є Si usas sscanf o dime que es este codigo del comando:
pawn Код:
if(sscanf(params, "ud", giveplayerid, level))return SendClientMessage(playerid, COLOR_RED, "Uso Correcto: /setvip [ID / Nombre] [Nivel]");
2є El fail es xq guardas el mismo nombre en 2 variables diferentes
Respuesta: Problema con Dini. -
Jovanny - 03.01.2012
Quote:
Originally Posted by the_chaoz
1є Si usas sscanf o dime que es este codigo del comando:
pawn Код:
if(sscanf(params, "ud", giveplayerid, level))return SendClientMessage(playerid, COLOR_RED, "Uso Correcto: /setvip [ID / Nombre] [Nivel]");
2є El fail es xq guardas el mismo nombre en 2 variables diferentes
|
Lo que pasa por copiar cmd's
Respuesta: Problema con Dini. -
[Nikk] - 03.01.2012
Cierto, estaba con sscanf, pero no puse el #include <sscanf2>. Lo tengo actualizado, pero al poner el sscanf y compilo el script se me cierra el pawno. Que pasa ?
Donde es el fail que decis _?
Respuesta: Problema con Dini. -
[Nikk] - 03.01.2012
Quote:
Originally Posted by Jovanny
Lo que pasa por copiar cmd's
|
La verdad, no lo copie, es un Script VIP base que estaba en la seccion inglesa. No me copie de otro.