21.01.2011, 15:58
pawn Code:
#include <a_samp>
//#include <a_npc>
#include <dini>
#include <dudb>
#define masculino 0
#define feminino 1
#define desempregado 0
enum jogadorinfo
{
profissao,
sexo
}
new arquivo[500];
new nome[MAX_PLAYER_NAME];
new informacoes[MAX_PLAYERS][jogadorinfo];
main()
{
print("\n----------------------------------");
print(" Blank Gamemode by your name here");
print("----------------------------------\n");
}
public OnGameModeInit()
{
UsePlayerPedAnims();
SetGameModeText("Bps oficial");
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
AddStaticVehicle(420, -1754.99609375, 954.83312988, 24.59218788, 90.00000000, 6, 6);
return 1;
}
public OnGameModeExit()
{
return 1;
}
/*public OnRecordingPlaybackEnd()
{
StartRecordingPlayback(1, "taxistanpc");
return 1;
}
public OnNPCEnterVehicle(vehicleid, seatid)
{
StartRecordingPlayback(1, "taxistanpc");
return 1;
}
public OnNPCExitVehicle()
{
StopRecordingPlayback();
return 1;
}
public OnNPCSpawn()
{
StartRecordingPlayback(1, "taxistanpc");
return 1;
}*/
public OnPlayerRequestClass(playerid, classid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
new texto[500];
GetPlayerName(playerid, nome, sizeof nome);
format(arquivo, sizeof arquivo, "contas/%s.ini", nome);
if (!fexist(arquivo) )
{
format(texto, sizeof texto, "{FFFFFF}Bem vindo pela primeira vez.\n\nConta: %s\n\nPor favor digite uma senha:", nome);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - registro", texto, "Registrar", "");
}
if (fexist(arquivo) )
{
format(texto, sizeof texto, "{FFFFFF}Bem vindo novamente.\n\nConta: %s\n\nPor favor digite sua senha:", nome);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - login", texto, "Logar", "");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerName(playerid, nome, sizeof nome);
format(arquivo, sizeof arquivo, "contas/%s.ini", nome);
if (fexist(arquivo) )
{
dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid) );
dini_IntSet(arquivo, "Level", GetPlayerScore(playerid) );
dini_IntSet(arquivo, "Level procurado", GetPlayerWantedLevel(playerid) );
dini_IntSet(arquivo, "Profissгo", informacoes[playerid][profissao]);
dini_IntSet(arquivo, "Sexo", informacoes[playerid][sexo]);
dini_IntSet(arquivo, "Roupa", GetPlayerSkin(playerid) );
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(informacoes[playerid][profissao] == desempregado)
{
SetPlayerColor(playerid, 0xFFFFFFFF);
if (informacoes[playerid][sexo] == masculino)
{
SetPlayerSkin(playerid, 23);
}
if (informacoes[playerid][sexo] == feminino)
{
SetPlayerSkin(playerid, 56);
}
SetPlayerPos(playerid, -1752.5930, 961.8002, 24.8828);
SetPlayerFacingAngle(playerid, 180.000);
SetCameraBehindPlayer(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[])
{
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 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)
{
GetPlayerName(playerid, nome, sizeof nome);
format(arquivo, sizeof arquivo, "contas/%s.ini", nome);
if (fexist(arquivo) )
{
dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid) );
dini_IntSet(arquivo, "Level", GetPlayerScore(playerid) );
dini_IntSet(arquivo, "Level procurado", GetPlayerWantedLevel(playerid) );
dini_IntSet(arquivo, "Profissгo", informacoes[playerid][profissao]);
dini_IntSet(arquivo, "Sexo", informacoes[playerid][sexo]);
dini_IntSet(arquivo, "Roupa", GetPlayerSkin(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[])
{
new texto[500];
if (dialogid == 1)
{
if (response)
{
GetPlayerName(playerid, nome, sizeof nome);
if (strlen(inputtext) == 0)
{
format(texto, sizeof texto, "{FFFFFF}Conta: %s\n\nPor favor digite algo:", nome);
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - registro", texto, "Registrar", "");
return 0;
}
format(arquivo, sizeof arquivo, "contas/%s.ini", nome);
if (!fexist(arquivo) )
{
dini_Create(arquivo);
dini_IntSet(arquivo, "Senha", udb_hash(inputtext) );
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - sexo", "{FFFFFF}Por favor selecione o seu sexo", "Masculino", "Feminino");
}
}
}
if (dialogid == 2)
{
if (response)
{
if (strlen(inputtext) == 0)
{
GetPlayerName(playerid, nome, sizeof nome);
format(texto, sizeof texto, "{FFFFFF}Conta: %s\n\nPor favor digite algo:", nome);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - login", texto, "Logar", "");
return 0;
}
GetPlayerName(playerid, nome, sizeof nome);
format(arquivo, sizeof arquivo, "contas/%s.ini", nome);
if (fexist(arquivo) )
{
new senha = dini_Int(arquivo, "Senha");
if (udb_hash(inputtext) != senha)
{
GetPlayerName(playerid, nome, sizeof nome);
format(texto, sizeof texto, "{FFFFFF}Bem vindo novamente.\n\nConta: %s\n\nPor favor digite a senha correta:", nome);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}samp player{FFFFFF} - login", texto, "Logar", "");
return 1;
}
if (udb_hash(inputtext) == senha)
{
SetPlayerMoney(playerid, dini_Int(arquivo,"Dinheiro") );
SetPlayerScore(playerid, dini_Int(arquivo, "Level") );
SetPlayerWantedLevel(playerid, dini_Int(arquivo, "Level procurado") );
informacoes[playerid][profissao] = dini_Int(arquivo, "Profissгo");
informacoes[playerid][sexo] = dini_Int(arquivo, "Sexo");
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
return 1;
}
}
}
}
if (dialogid == 3)
{
if (response)
{
informacoes[playerid][sexo] = masculino;
SpawnPlayer(playerid);
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
informacoes[playerid][profissao] = desempregado;
}
else
{
informacoes[playerid][sexo] = feminino;
SpawnPlayer(playerid);
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
informacoes[playerid][profissao] = desempregado;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}