SA-MP Forums Archive
Problema con Dini. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: Problema con Dini. (/showthread.php?tid=308047)



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

pawn Код:
//Epic fail con los nicks de los jugadores.
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
GetPlayerName(playerid,idname,MAX_PLAYER_NAME);
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
Посмотреть сообщение
pawn Код:
//Epic fail con los nicks de los jugadores.
GetPlayerName(playerid, playername, MAX_PLAYER_NAME);
GetPlayerName(playerid,idname,MAX_PLAYER_NAME);
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.