22.01.2011, 00:03
pawn Код:
#include <a_samp>
#include <dini>
#include <dudb>
#define SetPlayerHoldingObject(%1, %2, %3, %4, %5, %6, %7, %8, %9) SetPlayerAttachedObject(%1, MAX_PLAYER_ATTACHED_OBJECTS -1, %2, %3, %4, %5, %6, %7, %8, %9)
#define StopPlayerHoldingObject(%1) RemovePlayerAttachedObject(%1, MAX_PLAYER_ATTACHED_OBJECTS -1)
#define IsPlayerHoldingObject(%1) IsPlayerAttachedObjectSlotUsed(%1, MAX_PLAYER_ATTACHED_OBJECTS -1)
#define masculino 0
#define feminino 1
#define desempregado 0
enum jogadorinfo
{
profissao,
sexo,
leveladministrativo
}
new arquivo[500];
new nome[MAX_PLAYER_NAME];
new informacoes[MAX_PLAYERS][jogadorinfo];
//new Float: salvarx[MAX_PLAYERS], Float: salvary[MAX_PLAYERS], Float: salvarz[MAX_PLAYERS], Float: salvarangulo[MAX_PLAYERS];
new bool: iniciante[MAX_PLAYERS];
main()
{
print("\n----------------------------------");
print(" Brasil play sa-mp.");
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 OnPlayerRequestClass(playerid, classid)
{
SetSpawnInfo(playerid, 0, 0, 0.0, 0.0, 0.0, 0.0, 0, 0, 0, 0, 0, 0);
SpawnPlayer(playerid);
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}play sa-mp{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}play sa-mp{FFFFFF} - login", texto, "Logar", "");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
GetPlayerName(playerid, nome, sizeof nome);
/*GetPlayerPos(playerid, salvarx[playerid], salvary[playerid], salvarz[playerid]);
GetPlayerFacingAngle(playerid, salvarangulo[playerid]);*/
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) );
/*dini_FloatSet(arquivo, "Coordenada x", salvarx[playerid]);
dini_FloatSet(arquivo, "Coordenada y", salvary[playerid]);
dini_FloatSet(arquivo, "Coordenada z", salvarz[playerid]);
dini_FloatSet(arquivo, "Angulo", salvarangulo[playerid]);
SetPVarInt(playerid, "Interior", GetPlayerInterior(playerid) );*/
}
return 1;
}
public OnPlayerSpawn(playerid)
{
if(informacoes[playerid][profissao] == desempregado)
{
SetPlayerColor(playerid, 0xFFFFFFFF);
if (iniciante[playerid] == true)
{
if (informacoes[playerid][sexo] == masculino)
{
SetPlayerSkin(playerid, 23);
return 1;
}
if (informacoes[playerid][sexo] == feminino)
{
SetPlayerSkin(playerid, 56);
return 1;
}
SetPlayerPos(playerid, -1752.5930, 961.8002, 24.8828);
SetPlayerFacingAngle(playerid, 180.000);
SetCameraBehindPlayer(playerid);
iniciante[playerid] = false;
}
}
if (iniciante[playerid] == false)
{
/*salvarx[playerid] = dini_Float(arquivo, "Coordenada x");
salvary[playerid] = dini_Float(arquivo, "Coordenada y");
salvarz[playerid] = dini_Float(arquivo, "Coordenada z");
salvarangulo[playerid] = dini_Float(arquivo, "Angulo");
SetPlayerPos(playerid, salvarx[playerid], salvary[playerid], salvarz[playerid]);
SetPlayerFacingAngle(playerid, salvarangulo[playerid]);
SetPlayerInterior(playerid, GetPVarInt(playerid, "Interior") );
SetCameraBehindPlayer(playerid);*/
SetPlayerSkin(playerid, dini_Int(arquivo, "Roupa") );
}
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, "Level administrativo", informacoes[playerid][leveladministrativo]);
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}play sa-mp{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) );
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "{FFFFFF}Brasil {18C5FF}play sa-mp{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}play sa-mp{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}Conta: %s\n\nPor favor digite a senha correta:", nome);
ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "{FFFFFF}Brasil {18C5FF}play sa-mp{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][leveladministrativo] = dini_Int(arquivo, "Level administrativo");
informacoes[playerid][profissao] = dini_Int(arquivo, "Profissгo");
informacoes[playerid][sexo] = dini_Int(arquivo, "Sexo");
SpawnPlayer(playerid);
return 1;
}
}
}
}
if (dialogid == 3)
{
if (response)
{
informacoes[playerid][sexo] = masculino;
SpawnPlayer(playerid);
informacoes[playerid][profissao] = desempregado;
iniciante[playerid] = true;
}
else
{
informacoes[playerid][sexo] = feminino;
SpawnPlayer(playerid);
informacoes[playerid][profissao] = desempregado;
iniciante[playerid] = true;
}
}
return 1;
}
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}