28.07.2012, 21:27
(
Последний раз редактировалось Skun Fly; 28.07.2012 в 22:34.
Причина: Titulo pouco informativo
)
Bem й o seguinte:
Eu criei o meu sistema de login e de registo com salvamento de dinheiro e outras coisas.
Ficou tudo bem, copilou tudo certo mas quando eu entro no servidor e me registo, depois eu desligo o server e vo ver nas scripfiles o ficheiro da minha conta n foi criado.
FS:
@EDIT
Serб que alguem pode ajudar?
Obrigado
Cumprimentos, Skun Fly
Eu criei o meu sistema de login e de registo com salvamento de dinheiro e outras coisas.
Ficou tudo bem, copilou tudo certo mas quando eu entro no servidor e me registo, depois eu desligo o server e vo ver nas scripfiles o ficheiro da minha conta n foi criado.
FS:
pawn Код:
//========================INCLUDES==============================================
#include <a_samp>
#include <Dini>
//==============================================================================
//======================DEFINES=================================================
#define DIALOG_REGISTO 1
#define DIALOG_LOGIN 2
#define BRANCO "{FFFFFF}"
#define VERMELHO "{F81414}"
#define LARANJA "{F8A114}"
#define AZUL "{1436F8}"
//==============================================================================
//====================VARIAVEIS=================================================
new pName[MAX_PLAYERS][MAX_PLAYER_NAME];
//==============================================================================
//==================ENUMERAЗХES=================================================
enum pInfo //FALTA: pPhone , pBanco , pOrg , pEmprego , Prespeito , PLotNumb , pCrimes , pHorasJogadas
{
pSenha,
pLevel,
pDinheiro,
pAdmin,
pKills,
pMortes,
pSkin,
pProcurado
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//=============================================================================
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
print("\n--------------------------------------");
print(" LOGIN/REGISTER SK" );
print(" A PRODUCT BY );
print(" SKUN FLY );
print("--------------------------------------\n");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
#else
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
new conta[3];
format(conta,sizeof(conta),"Contas/%s.txt",pName[playerid]);
GetPlayerName(playerid, pName[playerid], MAX_PLAYER_NAME);
if (dini_Exists(conta)) //Verifica se o ficheiro existe
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""BRANCO"Login",""BRANCO"Digita a tua senha pessoal para jogares","Login","Sair");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTO, DIALOG_STYLE_PASSWORD,""BRANCO"Registo",""BRANCO"Digita a tua senha abaixo para registar a tua conta na nossa base de dados","Registar","Sair");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new conta[3];
format(conta, sizeof(conta), "Contas/%s.ini", pName);
dini_IntSet(conta, "pLevel", GetPlayerScore(playerid));
dini_IntSet(conta, "pDinheiro", GetPlayerMoney(playerid));
dini_IntSet(conta, "pAdmin", PlayerInfo[playerid][pAdmin]);
dini_IntSet(conta, "pKills", PlayerInfo[playerid][pKills]);
dini_IntSet(conta, "pMortes", PlayerInfo[playerid][pMortes]);
dini_IntSet(conta, "pSkun", GetPlayerSkin(playerid));
dini_IntSet(conta, "pProcurado", GetPlayerWantedLevel(playerid));
return 1;
}
public OnPlayerSpawn(playerid)
{
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/mycommand", cmdtext, true, 10) == 0)
{
// Do something here
return 1;
}
return 0;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
return 1;
}
public OnVehicleMod(playerid, vehicleid, componentid)
{
return 1;
}
public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
return 1;
}
public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
return 1;
}
public OnRconLoginAttempt(ip[], password[], success)
{
return 1;
}
public OnPlayerUpdate(playerid)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerStreamOut(playerid, forplayerid)
{
return 1;
}
public OnVehicleStreamIn(vehicleid, forplayerid)
{
return 1;
}
public OnVehicleStreamOut(vehicleid, forplayerid)
{
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid==DIALOG_REGISTO)
{
if(response==0)
{
new string[6];
GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"O jogador %s foi kickado por nгo se registar!");
SendClientMessageToAll(0xFF1414, string);
Kick(playerid);
SendClientMessage(playerid, 0xFFAD14,"Sem te registares nгo podes jogar! E por isso foste kickado!");
}
if(response==1)
{
if(strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_REGISTO, DIALOG_STYLE_PASSWORD, ""BRANCO"Registando...",""VERMELHO"Usaste uma senha invбlida.\n"BRANCO"Digita a tua senha abaixo para registar a tua conta na nossa base de dados.","Registar","Sair");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,""BRANCO"Login",""BRANCO"Digita a tua senha pessoal para efetuar o login.","Login","Sair");
return 1;
}
else
{
Registar(playerid, inputtext);
return 1;
}
}
if(dialogid==DIALOG_LOGIN)
{
if(response==0)
{
new string[6];
GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"O jogador %s foi kickado por nгo fazer login!");
SendClientMessageToAll(0xFF1414, string);
Kick(playerid);
SendClientMessage(playerid, 0xFFAD14,"Sem efectuares login nгo podes jogar!");
}
if(response==1)
{
if(strlen(inputtext))
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD,"Login","Bem-Vindo de volta ao servidor da TugaElectronicGaming.com.\n Digita a tua senha pessoal para efectuares poderes jogar! ","Login","Sair");
return 1;
}
else
{
Logar(playerid, inputtext);
return 1;
}
}
}
}
return 1;
}
stock Registar(playerid, key[])
{
new conta[3];
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(conta,sizeof(conta),"/Contas/%s.txt",Nome);
dini_Create(conta); //Cria ficheiro do player
dini_Set(conta, "pSenha",key);
SendClientMessage(playerid,0xFFAACCDDAA,"Registado com sucesso");
dini_IntSet(conta, "pLevel", 2); //Level 2
dini_IntSet(conta, "pDinheiro", 6000); //Dinheiro default: 6000
dini_IntSet(conta, "pAdmin", 0); //Level de admin a 0
dini_IntSet(conta, "pKills", 0); //Kills default
dini_IntSet(conta, "pMortes", 0); //Mortes default
dini_IntSet(conta, "pSkin", 289); //Skin default
dini_IntSet(conta, "pProcurado", 0); //Wanted Level
return 1;
}
stock Logar(playerid, key[])
{
new conta[3];
new Nome[MAX_PLAYER_NAME];
GetPlayerName(playerid, Nome, sizeof(Nome));
format(conta,sizeof(conta),"/Contas/%s.txt",Nome);
if(!strcmp(key, dini_Get(conta, "pSenha"),false))
{
SetPlayerScore(playerid, dini_Int(conta, "pLevel")); //Set o level que tinha
GivePlayerMoney(playerid, dini_Int(conta, "pDinheiro")); //Set o dinheiro que tinha
PlayerInfo[playerid][pAdmin] = dini_Int(conta, "pAdmin");
PlayerInfo[playerid][pKills] = dini_Int(conta, "pKills");
PlayerInfo[playerid][pMortes] = dini_Int(conta, "pMortes");
SetPlayerSkin(playerid, dini_Int(conta, "pSkin"));
SetPlayerWantedLevel(playerid, dini_Int(conta, "pProcurado"));
SendClientMessage(playerid,0xFFAACCDDAA,"O login foi efetuado com sucesso!");
return 1;
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
#endif
Serб que alguem pode ajudar?
Obrigado
Cumprimentos, Skun Fly