enum pInfo
{
pDinheiro,
pLevel,
pMatou,
pMorreu,
pAdmin,
Float:pPosX,
Float:pPosY,
Float:pPosZ,
pSkin,
pTuto
};
public OnPlayerConnect(playerid)
{
new
wiiStr[128],
wiiN[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, wiiN, sizeof( wiiN ));
format(wiiStr, sizeof( wiiStr ), "PlayerContas/%s.ini", wiiN);
if(!fexist(wiiStr))
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", "Registre uma senha", "Registrar", "Cancelar");
return 1;
}
if(fexist(wiiStr))
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Logue-se com sua senha", "Logar", "Cancelar");
return 1;
}
PlayerInfo[playerid][pAdmin] = 0;
return 1;
}
public OnPlayerDisconnect(playerid)
{
new wiiN[MAX_PLAYER_NAME], wiiStr[128];
GetPlayerName(playerid, wiiN, sizeof( wiiN ));
format(wiiStr, sizeof( wiiStr ),"PlayerContas/%s.ini", wiiN);
INI_Open(wiiStr);
INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
INI_WriteInt("Admin", PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 1)
{
if(!response)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", "Registre uma senha", "Registrar", "Cancelar");
return 1;
}
if(response)
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 15)
{
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Registro", "Registre uma senha", "Registrar", "Cancelar");
return 1;
}
new wiiN[MAX_PLAYER_NAME], wiiStr[128];
GetPlayerName(playerid, wiiN, sizeof( wiiN ));
format(wiiStr, sizeof ( wiiStr ), "PlayerContas/%s.ini", wiiN);
INI_Open(wiiStr);
INI_WriteString("Senha", inputtext);
INI_WriteInt("Admin", PlayerInfo[playerid][pAdmin]);
INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
INI_Save();
INI_Close();
return 1;
}
return 1;
}
if(dialogid == 2)
{
if(!response)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Logue-se com sua senha", "Logar", "Cancelar");
return 1;
}
if(response)
{
if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Logue-se com sua senha", "Logar", "Cancelar");
return 1;
}
new wiiN[MAX_PLAYER_NAME], wiiStr[128];
GetPlayerName(playerid, wiiN, sizeof(wiiN));
format(wiiStr, sizeof( wiiStr ), "PlayerContas/%s.ini",wiiN);
INI_Open(wiiStr);
new NNN[256];
INI_ReadString(NNN,"Senha", 20);
if(!strcmp(inputtext, NNN, true))
{
SendClientMessage(playerid, -1, "Logado");
PlayerInfo[playerid][pAdmin] = INI_ReadInt("Admin");
PlayerInfo[playerid][pDinheiro] = INI_ReadInt("Dinheiro");
if(PlayerInfo[playerid][pAdmin] > 0)
{
new WWW[128];
format(WWW, sizeof( WWW ), "Vocк logou com nivel de admin %d.", PlayerInfo[playerid][pAdmin]);
SendClientMessage(playerid, -1, WWW);
}
return SpawnPlayer(playerid);
}
else
{
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Login", "Logue-se com sua senha", "Logar", "Cancelar");
}
return 1;
}
return 1;
}
return 1;
}
public OnPlayerDisconnect(playerid)
{
new wiiN[MAX_PLAYER_NAME], wiiStr[128];
GetPlayerName(playerid, wiiN, sizeof( wiiN ));
format(wiiStr, sizeof( wiiStr ),"PlayerContas/%s.ini", wiiN);
if(INI_Open(wiiStr))
{
INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
INI_WriteInt("Admin", PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
}
return 1;
}
Interessante saber que usas meu code, talvez se fizesse uma funзгo independente pra salvar melhoraria.
|
public OnPlayerDisconnect(playerid)
{
new wiiN[MAX_PLAYER_NAME], wiiStr[128];
GetPlayerName(playerid, wiiN, sizeof( wiiN ));
format(wiiStr, sizeof( wiiStr ),"PlayerContas/%s.ini", wiiN);
if(INI_Open(wiiStr))
{
INI_WriteInt("Level", PlayerInfo[playerid][pLevel]);
INI_WriteInt("Dinheiro", PlayerInfo[playerid][pDinheiro]);
INI_WriteInt("Admin", PlayerInfo[playerid][pAdmin]);
INI_Save();
INI_Close();
}
return 1;
}
Vocк precisa fazer uma funзгo para salvar oque vocк quer, por exemplo uma STOCK ou PUBLIC que contenha oque vocк quer que salve, sabe mecher com SII certo?
|