03.10.2018, 17:45
Alguйm aн tem/sabe alguma gm base com sistema de registro e login usando DOF2?
Nгo precisa ter mais nada, sу o registro e login
Nгo precisa ter mais nada, sу o registro e login

/*
BRASIL ROLEPLAY GAME v 0.1
Diversгo e Inovaзгo
Data de inнcio : 30/08/2018
Modo de jogo : RPG em LV
Autor : Lucas Emmanuel
Sistemas:
Rigistro / Login
Administrativo
Postos de gasolina ( empres )
Velocнmetro
Gangzones
HQ's
Empregos Civis:
* Bombeiro
* Lixeiro
* Advogado
* Vendedor de armas
* Vendedor de drogas ( faccoes apenas )
* Caminhoneiro
* Minerador
* Assaltante
* Taxista
Faccoes:
PRIMEIRO COMANDO DA CAPITAL
COMANDO VERMELHO
FAMНLIA DO NORTE
Famнlias :
Groove Street Family
Ballas Family
ORG's:
PM / PF
Exйrcito
Mбfia da Milнcia
Estado Islвmico
Locais: Favela ( DM LIBERADO )
Como funcionarб as hq de faccoes: A HQ serб uma Gangzone circular, que aumentarб de
tamanho conforme a facзгo domina os territуrios. Dentro desta Gangzone, o DM serб permitido para os membros da facзгo.
Se morrer pela PM tambйm nгo serб preso, e a facзгo receberб mais armamentos e veнculos.
Usando o /equipar na HQ ( GangZone ), o membro da faccao poderб equipar, e o saldo de armas da faccao diminuirб.
O Saldo de armas da Faccao serб abastecido pela Fabrica de armas. ( caminhoneiros abastecem hq )
Os veнculos da Faccao apareceram no territуrio da HQ ( random )
Mбfia poderб roubar produtos dos caminhoneiros ( armas e drogas ), ou poderб contratar um caminhoneiro para pegar suas armas na fбbrica
Mбfia venderб as armas para os vendedores de armas '-' e drogas para as faccoes
Players comprarгo drogas dos membros das faccoes
Drogas encherгo life e colete, cada droga com seu respectivo efeito ( HP + )
Somente a PF poderб prender membros de faccoes.
Pensar em alguma utilizade para as familias ................. Talvez tenham direitos a ter carros e armamentos prуpios .
Familias poderгo assaltar lojas ( armas , roupas etc )
Na favela o DM ( Deatmatch ) й liberado. Jogadores mortos por PM's lб nгo serгo presos.
A cada minuto vivo na favela ganha dinheiro, que aumenta conforme a quantidade de jogadores na favela.
Iniciando sistema de registro e Login.
COLOCAR ICONES NO MAPA
*/
// -------------------------------------------------------------------- INCLUDES
#include < a_samp >
#include < zcmd >
#include < dof2 >
#include < sscanf >
// ------------------------------------------------------------------ DEFINIЗХES
#undef MAX_PLAYERS
#define MAX_PLAYERS 50
#define MAX_ORGS 20
#define Verde 0x21DD00FF
#define Vermelho 0xFF030FFF
#define Amarelo 0xFFFF00FF
#define Laranja 0xF97804FF
#define Azul_Claro 0x00C2ECFF
#define Branco 0xFFFFFFAA
#define Azul 0x1229FAFF
#define Verde_Claro 0x38FF06FF
#define Cinza 0xCECECEFF
#define Rosa 0xD52DFFFF
#define Cinza_Escuro 0x626262FF
// ----------------------------------------- SISTEMA DE ORGANIZAЗХES DEFINIЗХES
#define Civil 0
#define Polнcia_Militar 1
#define Exйrcito 2
#define Policia_Federal 3
#define Estado_Islвmico 4
#define Comando_Vermelho 5
#define PCC 6
#define Familia_do_Norte 7
#define Familia_Groove 8
#define Famнlia_Ballas 9
#define Milнcia 10
#define COR_GROO 0x00FF0099 // Cor das Orgs
#define COR_BALL 0xA020F099
#define COR_PCC 0xFFFFFFFF
#define COR_CV 0xA020F099
#define COR_FDN 0xFFFFFFFF
#define COR_PM 0x4169E199
#define COR_PF 0x00FF0099
#define COR_EB 0xA020F099
#define COR_MIL 0xFFFFFFFF
#define COR_EST 0xA020F099
#define LOCALHQ_PCC 2170.8975,1702.2501,10.6239
#define COR_ERRO 0xAD0000AA
#define COR_SUCESSO 0x00AB00AA
#define COR_AV_ADM 0x007CF6AA
#define COR_AZUL_CLARO 0x00F6F6AA
#define COR_RAD 0x4876FFAA
// ------------------------------------------------------------------ DEFINIЗХES
#define DIALOG_REGISTER 0
#define DIALOG_LOGIN 1
#define DIALOG_CONVIDAR 100
#define DarMoney(%0,%1) ResetPlayerMoney(%0) && GivePlayerMoney(%0,%1)
// ------------------------------------------------------------------- VARIБVEIS
new Text:ImagemEntrada; // Textdrawn de entrada
new UmVeiculo[MAX_PLAYERS]; // Criaзгo dos veнculos
new engine, lights,alarm,doors,bonnet,boot,objective; // Carros
new Text:Textdraw0; // Textdrawn Rodapй
// --------------------------------------------------------------- VELOCIMETRO --
// (Global Textdraws velocimetro)
new Text:textVelocimetro[5];
// (Player Textdraws velocimetro)
new PlayerText:textPlayerVelocimetro[4][MAX_PLAYERS];
// (Vendo o velocimetro ou nгo)
new bool:PlayerVelocimetro[MAX_PLAYERS];
// (Timer velocimetro)
new PlayerVelocimetroTimer[MAX_PLAYERS];
forward UpdatePlayerVelocimetro(playerid);
// -----------------------------------------------------------------------------
new NomeVeiculos[][] = //Nome dos Veнculos
{
"Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana", "Infernus",
"Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection",
"Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach", "Cabbie",
"Stallion", "Rumpo", "RC Bandit", "Caravan", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow", "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder",
"Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair", "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale",
"Oceanic","Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX",
"Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking",
"Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher", "Super GT",
"Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra",
"FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune", "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer",
"Remington", "Slamvan", "Blade", "Freight", "Streak", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder", "Primo",
"Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster", "Uranus", "Jester", "Sultan", "Stratium",
"Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper",
"Broadway", "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
"Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car", "Police Car", "Police Car", "Police Ranger", "Picador", "S.W.A.T", "Alpha",
"Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs", "Boxville",
"Tiller", "Utility Trailer"
};
// -----------------------------------------------------------------------------
main(){}
enum pInfo
{
pAdmin, pSkin, pNivel, pGrana, Float:pPosX, Float:pPosY, Float:pPosZ,
Float:pPosA, pInterior, pVW, bool:pLogado, Organizacao, Cargo
}
new Player[MAX_PLAYERS][pInfo],reset[pInfo], Conta[256];
// -------------------------------------------------------------------------- >> ORGANIZAЗХES
enum oInfo
{
OrgNome[20],
Lider[24],
SubLider[24],
Membro1[24],
Membro2[24],
Membro3[24],
Membro4[24],
Membro5[24],
Membro6[24],
Membro7[24],
Membro8[24],
Membro9[24],
Membro10[24],
Membro11[24],
Membro12[24],
Membro13[24],
Membro14[24],
Membro15[24],
DROGAS,
FUNDOS
};
new OrgInfo[MAX_ORGS][oInfo];
new Org;
// --------------------------------------------------------------------------------
public OnGameModeInit()
{
// ------------------------------------------------------------------------------------ MODS
AddStaticVehicle(402,2157.0203,1725.1031,10.9211,164.7455,6, false); // OPALA 1
AddStaticVehicle(442,2159.6914,1724.4752,10.8206,166.5195,11, false ); // opala 2
AddStaticVehicle(560,2162.2883,1723.7815,10.7521,164.3699,9, false ); // opala 3
AddStaticVehicle(541,2164.6753,1723.3394,10.6822,165.2697,58, false); // opala 4
// ------------------------------------------------------------------------------------
// ----------------------------------------------------------------------------------------- TEXTDRAW DE ENTRADA
ImagemEntrada = TextDrawCreate(1.000000, -1.000000, "loadsc2:loadsc2");
TextDrawBackgroundColor(ImagemEntrada, 255);
TextDrawFont(ImagemEntrada, 4);
TextDrawLetterSize(ImagemEntrada, 0.500000, 1.000000);
TextDrawColor(ImagemEntrada, -1);
TextDrawSetOutline(ImagemEntrada, 0);
TextDrawSetProportional(ImagemEntrada, 1);
TextDrawSetShadow(ImagemEntrada, 1);
TextDrawUseBox(ImagemEntrada, 1);
TextDrawBoxColor(ImagemEntrada, 255);
TextDrawTextSize(ImagemEntrada, 645.000000, 450.000000);
// ------------------------------------------------------------------------------------- DEFINIЗХES
SetGameModeText("LV RPG");
DisableInteriorEnterExits();
UsePlayerPedAnims();
LimitGlobalChatRadius(150);
ManualVehicleEngineAndLights();
// ----------------------------------------------------- GANGZONES -------------
// ---------------------------------------------------------------------------------------------------- >>
AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
// -------------------------------------------------------------------------------------------- VELOCIMETRO
textVelocimetro[0] = TextDrawCreate(379.000000, 378.000000, "i");
TextDrawBackgroundColor(textVelocimetro[0], 0);
TextDrawFont(textVelocimetro[0], 2);
TextDrawLetterSize(textVelocimetro[0], 28.800073, 2.600000);
TextDrawColor(textVelocimetro[0], 80);
TextDrawSetOutline(textVelocimetro[0], 0);
TextDrawSetProportional(textVelocimetro[0], 1);
TextDrawSetShadow(textVelocimetro[0], 1);
TextDrawSetSelectable(textVelocimetro[0], 0);
textVelocimetro[1] = TextDrawCreate(379.000000, 392.000000, "i");
TextDrawBackgroundColor(textVelocimetro[1], 0);
TextDrawFont(textVelocimetro[1], 2);
TextDrawLetterSize(textVelocimetro[1], 28.800073, 2.600000);
TextDrawColor(textVelocimetro[1], 80);
TextDrawSetOutline(textVelocimetro[1], 0);
TextDrawSetProportional(textVelocimetro[1], 1);
TextDrawSetShadow(textVelocimetro[1], 1);
TextDrawSetSelectable(textVelocimetro[1], 0);
textVelocimetro[2] = TextDrawCreate(379.000000, 406.000000, "i");
TextDrawBackgroundColor(textVelocimetro[2], 0);
TextDrawFont(textVelocimetro[2], 2);
TextDrawLetterSize(textVelocimetro[2], 28.800073, 2.600000);
TextDrawColor(textVelocimetro[2], 80);
TextDrawSetOutline(textVelocimetro[2], 0);
TextDrawSetProportional(textVelocimetro[2], 1);
TextDrawSetShadow(textVelocimetro[2], 1);
TextDrawSetSelectable(textVelocimetro[2], 0);
textVelocimetro[3] = TextDrawCreate(379.000000, 420.000000, "i");
TextDrawBackgroundColor(textVelocimetro[3], 0);
TextDrawFont(textVelocimetro[3], 2);
TextDrawLetterSize(textVelocimetro[3], 28.800073, 2.600000);
TextDrawColor(textVelocimetro[3], 80);
TextDrawSetOutline(textVelocimetro[3], 0);
TextDrawSetProportional(textVelocimetro[3], 1);
TextDrawSetShadow(textVelocimetro[3], 1);
TextDrawSetSelectable(textVelocimetro[3], 0);
textVelocimetro[4] = TextDrawCreate(531.000000, 387.000000, "Carro~n~~n~Velocidade~n~~n~Combustivel~n~~n~Lataria");
TextDrawAlignment(textVelocimetro[4], 3);
TextDrawBackgroundColor(textVelocimetro[4], 0);
TextDrawFont(textVelocimetro[4], 2);
TextDrawLetterSize(textVelocimetro[4], 0.210000, 0.799999);
TextDrawColor(textVelocimetro[4], -186);
TextDrawSetOutline(textVelocimetro[4], 0);
TextDrawSetProportional(textVelocimetro[4], 1);
TextDrawSetShadow(textVelocimetro[4], 1);
TextDrawSetSelectable(textVelocimetro[4], 0);
// ---------------------------------------------------------------------------------------------------------
return 1;
}
public OnGameModeExit()
{
DOF2_Exit();
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
TextDrawShowForPlayer(playerid, ImagemEntrada);
IsPlayerLogged(playerid);
return false;
}
public OnPlayerConnect(playerid)
{
CarregarConta(playerid); // Ler conta
// ----------------------------------------------------------------------------- ICONES DO MAPA ---------------------------
SetPlayerMapIcon( playerid, 0, 2365.8528,2075.7424,10.3966, 10, 0 ); // Burguer shot 1
SetPlayerMapIcon( playerid, 1, 2539.5369,2149.7537,10.3843, 29, 0 ); // Well Stacked Pizza Co
SetPlayerMapIcon( playerid, 2, 2192.3462,1676.3215,12.3672, 57, 0 ); // Spawn civil
SetPlayerMapIcon( playerid, 3, 2367.0671,2034.2717,10.3955, 14, 0 ); // Cluckin' Bell 1
SetPlayerMapIcon( playerid, 4, 2515.7087,2297.1125,10.3957, 21, 0 ); // Sexshop
SetPlayerMapIcon( playerid, 5, 2446.2229,2376.4846,11.7276, 40, 0 ); // Prefeitura
SetPlayerMapIcon( playerid, 6, 2363.7092,2377.7949,10.3835, 55, 0 ); // Detran
SetPlayerMapIcon( playerid, 7, 2290.3806,2431.1997,10.3905, 30, 0 ); // PM LV
SetPlayerMapIcon( playerid, 8, 2203.4688,2471.0186,10.3829, 27, 0 ); // Posto de gasolina 1
SetPlayerMapIcon( playerid, 9, 2103.4473,2257.4939,10.5949, 45, 0 ); // Loja de roupas 1
SetPlayerMapIcon( playerid, 10, 2114.5710,919.2162,10.3744 , 27, 0 ); // Posto de gasolina 2
SetPlayerMapIcon( playerid, 11 , 2177.7878,961.7375,10.3808 , 6, 0 ); // Loja de armas 1
SetPlayerMapIcon( playerid, 12, 2130.0952,1394.2064,10.3829, 27, 0 ); // Mecanicos ?
SetPlayerMapIcon( playerid, 13, 1873.1046,2071.1697,10.6379, 10, 0 ); // Burguer shot 2
SetPlayerMapIcon( playerid, 14, 1598.2584,2200.3647,10.3841, 27, 0 ); // Posto de gasolina 3
SetPlayerMapIcon( playerid, 15,1356.2085,2163.7024,11.7406 , 48, 0 ); // Estбdio LV
SetPlayerMapIcon( playerid, 16,1034.9666,2113.3062,10.3813 , 32, 0 ); // Porto 1
SetPlayerMapIcon( playerid, 17,1004.9235,2314.4680,10.2317 , 58, 0 ); // HQ PCC
SetPlayerMapIcon( playerid, 18, 2271.9810,713.2500,10.2349 , 13, 0 ); // HQ CV
SetPlayerMapIcon( playerid, 19,2493.9314,2772.7156,10.3735 , 11, 0 ); // Refinaria
SetPlayerMapIcon( playerid, 20,2201.2173,2772.4490,10.2446 , 61, 0 ); // HQ Famнlia do Norte
SetPlayerMapIcon( playerid, 21,1390.1360,1401.7675,11.5439 , 5, 0 ); // Aeroporto LV
SetPlayerMapIcon( playerid, 22,214.4745,1352.6920,10.5859 , 11, 0 ); // Indъstria 1
SetPlayerMapIcon( playerid, 23,-2257.1936,2339.7527,4.8125 , 23, 0 ); // HQ Estado Islвmico
SetPlayerMapIcon( playerid, 24,1301.9064,1152.7106,10.3646 , 11, 0 ); // Indъstria 2
SetPlayerMapIcon( playerid, 25,1046.0361,1311.3773,10.3804 , 42, 0 ); // HQ Mбfia Milicia
SetPlayerMapIcon( playerid, 26,170.1217,1883.2000,20.8242 , 30, Verde ); // HQ Exйrcito
SetPlayerMapIcon( playerid, 27,-119.5759,1152.4451,19.5938 , 62, 0 ); // HQ Familia Groove
SetPlayerMapIcon( playerid, 28, -7.1452,1507.7839,13.6918 , 18, 0 ); // Favela
SetPlayerMapIcon( playerid, 29,-226.5534,2610.1304,62.7031 , 59, 0 ); // HQ Familia Ballas
SetPlayerMapIcon( playerid, 30 ,420.8994,2510.7957,17.4203 , 5, 0 ); // Aeroporto Abandonado
// -------------------------------------------------------------------------------------------------------------
TextDrawShowForPlayer(playerid, ImagemEntrada);
// ---------------------------------------------------------------------------------------
new Str[80];
format(Str, sizeof(Str), "O Jogador {FFF0FF}%s {FFFFFF}entrou no servidor", GetNome(playerid));
SendClientMessageToAll(Branco, Str);
// ---------------------------------------------------- Sistema de Login -------------------
Player[playerid][pLogado] = false;
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
if(!DOF2_FileExists(Conta))
{
new xty[180];
format(xty, sizeof(xty), "{FFFFFF}Bem vindo %s! \n\nVocк ainda nгo й registrado em nosso servidor !\n\nEscolha uma senha para se registrar", GetNome(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registro", xty, "Registrar", "Sair");
}
else
{
new xtz[180];
format(xtz, sizeof(xtz), "{FFFFFF}Bem vindo %s! \n\nVocк jб й membro do nosso servidor !\n\nUse sua senha para logar", GetNome(playerid));
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Fazer Login", xtz, "Entrar", "Sair");
}
// ----------------------------------------------------------------------------- VELOCIMETRO TEXTDRAWNS
PlayerVelocimetro[playerid] = false ;
textPlayerVelocimetro[0][playerid] = CreatePlayerTextDraw(playerid,615.000000, 385.000000, "Nenhum");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[0][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[0][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[0][playerid], 0.330000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[0][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[0][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[0][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[0][playerid], 0);
textPlayerVelocimetro[1][playerid] = CreatePlayerTextDraw(playerid,615.000000, 399.000000, "000 km/h");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[1][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[1][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[1][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[1][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[1][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[1][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[1][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[1][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[1][playerid], 0);
textPlayerVelocimetro[2][playerid] = CreatePlayerTextDraw(playerid,615.000000, 413.000000, "80 litros");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[2][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[2][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[2][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[2][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[2][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[2][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[2][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[2][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[2][playerid], 0);
textPlayerVelocimetro[3][playerid] = CreatePlayerTextDraw(playerid,615.000000, 427.000000, "0%");
PlayerTextDrawAlignment(playerid,textPlayerVelocimetro[3][playerid], 3);
PlayerTextDrawBackgroundColor(playerid,textPlayerVelocimetro[3][playerid], 0);
PlayerTextDrawFont(playerid,textPlayerVelocimetro[3][playerid], 2);
PlayerTextDrawLetterSize(playerid,textPlayerVelocimetro[3][playerid], 0.250000, 1.299999);
PlayerTextDrawColor(playerid,textPlayerVelocimetro[3][playerid], -156);
PlayerTextDrawSetOutline(playerid,textPlayerVelocimetro[3][playerid], 0);
PlayerTextDrawSetProportional(playerid,textPlayerVelocimetro[3][playerid], 1);
PlayerTextDrawSetShadow(playerid,textPlayerVelocimetro[3][playerid], 1);
PlayerTextDrawSetSelectable(playerid,textPlayerVelocimetro[3][playerid], 0);
// -------------------------------------------------- GANGZONES ----------------
// -----------------------------------------------------------------------------
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new Str[80];
format(Str, sizeof(Str), "O Jogador {FFF0FF}%s {FFFFFF}saiu do servidor", GetNome(playerid));
SendClientMessageToAll(0xFFFFFFAA, Str);
SalvarConta(playerid); // Salvar informaзхes do jogador
Player[playerid] = reset;
// ----------------------------------------- SALVANDO A ALTIMA POSIЗГO DO PLAYER
/*
new Float:Pos[4];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
Player[playerid][pPosY] = Pos[0];
Player[playerid][pPosZ] = Pos[1];
Player[playerid][pPosA] = Pos[2];
SalvarConta(playerid);
*/
// ---------------------------------------------------------------- Velocimetro
if (PlayerVelocimetro[playerid]) {
KillTimer(PlayerVelocimetroTimer[playerid]);
}
// ---------------------------------------------------- GANGZONES --------------
// -----------------------------------------------------------------------------
return 1;
}
public OnPlayerSpawn(playerid)
{
CarregarConta(playerid);
TextDrawHideForPlayer(playerid, ImagemEntrada); // Destruir Textdrawn de entrada
SetPlayerSkin(playerid, Player[playerid][pSkin]);
DarMoney(playerid,Player[playerid][pGrana]);
TogglePlayerControllable(playerid, true);
if(Player[playerid][Organizacao] == 0) // Civil
{
SetPlayerPos(playerid, 2192.3462,1676.3215,12.3672);
SetPlayerFacingAngle(playerid,86.7838 );
Player[playerid][pSkin] = 23;
SetPlayerSkin(playerid, 23);
SetPlayerColor(playerid, Branco);
}
else if(Player[playerid][Organizacao] == 1) // MUDAR LOCAIS NAS DEFINIЗХES
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_PM);
}
else if(Player[playerid][Organizacao] == 2)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_EB);
}
else if(Player[playerid][Organizacao] == 3)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_PF);
}
else if(Player[playerid][Organizacao] == 4)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_EST);
}
else if(Player[playerid][Organizacao] == 5)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_CV);
}
else if(Player[playerid][Organizacao] == 6)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_PCC);
}
else if(Player[playerid][Organizacao] == 7)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_FDN);
}
else if(Player[playerid][Organizacao] == 8)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_GROO);
}
else if(Player[playerid][Organizacao] == 9)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_BALL);
}
else if(Player[playerid][Organizacao] == 10)
{
SetPlayerPos(playerid, LOCALHQ_PCC);
SetPlayerColor(playerid, COR_MIL);
}
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
/*
// Hospital
Player[playerid][pPosX]=2034.1435;
Player[playerid][pPosY]=-1402.1190;
Player[playerid][pPosZ]=16.6299;
Player[playerid][pPosA]=90.0;
*/
// ---------------------------------------------------- GANGZONES --------------
//------------------------------------------------------------------------------
return 1;
}
/*
dcmd_admins(playerid,params[]) {
#pragma unused params
//Alertar admins para quem digitar o comando /admins
if(PlayerInfo[playerid][Level] < 1){
new pname[MAX_PLAYER_NAME],SACSB[100];GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
format(SACSB, sizeof(SACSB), "| CMDS-LOG | O(A) jogador(a) %s[%d] usou o comando ( /Admins )", pname, playerid);
CallRemoteFunction("MessageToAdmins","is",yellow,SACSB);}
//Estrutura do comando /admins
new Adms[650],ADMsDialog[810],ADMsDialog2[810],Name[MAX_PLAYER_NAME],level,admscount;
for(new i,a = GetMaxPlayers();i < a;i++)
{
CargoAdmins(playerid)
{
new var[21];
switch(PlayerInfo[i][Level])
{
case 1: var = "Ajudante";
case 2: var = "Moderador(a)";
case 3: var = "Sub-Administrador(a)";
case 4: var = "Administrador(a)";
case 5: var = "Staff";
}
return var;
}
if(IsPlayerConnected(i))
{
if(PlayerInfo[i][Level] > 0)
{
if(AdmHidden[i] == false || PlayerInfo[playerid][Level] > 0)
{
level = PlayerInfo[i][Level];
GetPlayerName(i, Name, sizeof(Name));
if(admscount < 15) format(Adms, sizeof(Adms), "%s[%i] \t%s \t{7FFF00}Online\n%s",Name,i,CargoAdmins(playerid),Adms);
admscount++;
}
}
}
}
if(admscount > 0)
format(ADMsDialog, sizeof(ADMsDialog), "%s",Adms);
else
format(ADMsDialog2, sizeof(ADMsDialog2), "{FF0000}Nгo hб administradores online no momento!\n\n{FFFFFF}Caso veja algum cheater ou infratores das regras,tire print ( F8 ) ou grave\ne poste em nosso fуrum no tуpico 'Denъncias' seguindo as regras de postagem.\n\nFуrum: {FF1493}www.Servercss.net", admscount,Adms);
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_LIST,"Admins",ADMsDialog,"Fechar","");
ShowPlayerDialog(playerid,1000,DIALOG_STYLE_MSGBOX,"Admins",ADMsDialog2,"Fechar","");
return 1;}
*/
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
// ------------------------------------------------------------------------------- COMANDOS DO SERVIDOR ----------------
CMD:arma(playerid, params[])
{
GivePlayerWeapon(playerid, 24, 500);
GivePlayerWeapon(playerid, 25, 500);
GivePlayerWeapon(playerid, 31, 500);
GivePlayerWeapon(playerid, 34, 500);
GivePlayerWeapon(playerid, 4, 500);
return 1;
}
CMD:radio(playerid, params [])
{
new Float:Pos[4], id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, Branco, "Use Radio [ID]");
if(id == 1)
{
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
PlayAudioStreamForPlayer(playerid, "http://live.hunterfm.com/live", Pos[0], Pos[1], Pos[2], 0);
}
else if(id == 2)
{
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
PlayAudioStreamForPlayer(playerid, "https://listen.shoutcast.com:/RadioHunter", Pos[0], Pos[1], Pos[2], 0);
}
else if(id == 3)
{
SendClientMessage(playerid, Amarelo, "Nada aqui !");
}
else if(id == 4)
{
SendClientMessage(playerid, Amarelo, "Nada aqui !");
}
else if(id == 5)
{
SendClientMessage(playerid, Amarelo, "Nada aqui !");
}
return 1;
}
CMD:radioff(playerid, params [])
{
StopAudioStreamForPlayer(playerid);
return 1;
}
// ----------------------------------------------------------------------- COMANDOS DAS ORGANIZAЗХES
CMD:criarorg(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Amarelo, "Vocк nгo tem permisгo para usar este comando!");
new STR[90], NomeOrg[20], File[34];
if(sscanf(params, "s[20]", NomeOrg))
return SendClientMessage(playerid, -1, "Use: /CriarOrg [ Nome ]");
format(File, sizeof(File), "ORGS/Org%d.ini", Org);
if(DOF2::FileExists(File))
return SendClientMessage(playerid, -1, "Esta organizaзгo jб existe!");
DOF2::CreateFile(File);
format(OrgInfo[Org][OrgNome], 20, NomeOrg);
DOF2::SetString(File, "OrgNome", NomeOrg);
format(OrgInfo[Org][Lider], 24, "Ninguem");
DOF2::SetString(File, "Lider", "Ninguem");
format(OrgInfo[Org][SubLider], 24, "Ninguem");
DOF2::SetString(File, "SubLider", "Ninguem");
format(OrgInfo[Org][Membro1], 24, "Ninguem");
DOF2::SetString(File, "Membro1", "Ninguem");
format(OrgInfo[Org][Membro2], 24, "Ninguem");
DOF2::SetString(File, "Membro2", "Ninguem");
format(OrgInfo[Org][Membro3], 24, "Ninguem");
DOF2::SetString(File, "Membro3", "Ninguem");
format(OrgInfo[Org][Membro4], 24, "Ninguem");
DOF2::SetString(File, "Membro4", "Ninguem");
format(OrgInfo[Org][Membro5], 24, "Ninguem");
DOF2::SetString(File, "Membro5", "Ninguem");
format(OrgInfo[Org][Membro6], 24, "Ninguem");
DOF2::SetString(File, "Membro6", "Ninguem");
format(OrgInfo[Org][Membro7], 24, "Ninguem");
DOF2::SetString(File, "Membro7", "Ninguem");
format(OrgInfo[Org][Membro8], 24, "Ninguem");
DOF2::SetString(File, "Membro8", "Ninguem");
format(OrgInfo[Org][Membro9], 24, "Ninguem");
DOF2::SetString(File, "Membro9", "Ninguem");
format(OrgInfo[Org][Membro10], 24, "Ninguem");
DOF2::SetString(File, "Membro10", "Ninguem");
format(OrgInfo[Org][Membro11], 24, "Ninguem");
DOF2::SetString(File, "Membro11", "Ninguem");
format(OrgInfo[Org][Membro12], 24, "Ninguem");
DOF2::SetString(File, "Membro12", "Ninguem");
format(OrgInfo[Org][Membro13], 24, "Ninguem");
DOF2::SetString(File, "Membro13", "Ninguem");
format(OrgInfo[Org][Membro14], 24, "Ninguem");
DOF2::SetString(File, "Membro14", "Ninguem");
format(OrgInfo[Org][Membro15], 24, "Ninguem");
DOF2::SetString(File, "Membro15", "Ninguem");
OrgInfo[Org][DROGAS] = 0;
DOF2::SetInt(File, "DROGAS", 0);
OrgInfo[Org][FUNDOS] = 0;
DOF2::SetInt(File, "FUNDOS", 0);
DOF2::SaveFile();
format(STR, sizeof(STR), "Vocк criou a Organiзгo Nъmero %d chamada %s", Org, NomeOrg);
SendClientMessage(playerid, -1, STR);
Org++;
return 1;
}
CMD:lideres(playerid)
{
SendClientMessage(playerid, 0xBFC0C2FF, "(-------------------({FFD700}Lideres Online{BFC0C2})-------------------)");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Player[i][Cargo] == 6) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
new str[120];
format(str, sizeof(str), "Lider: %s, Org: %s", GetNome(i), GetOrgName(i));
SendClientMessage(playerid, -1, str);
}
else if(Player[i][Cargo] == 5)
{
new stx[120];
format(stx, sizeof(stx), "Sub-Lнder: %s, Org: %s", GetNome(i), GetOrgName(i));
SendClientMessage(playerid, GetPlayerColor(playerid), stx);
}
}
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:membros(playerid)
{
new playername[MAX_PLAYER_NAME], string[128]; //Criamos variaveis que irгo armazenar o nome e mensganes formatadas
if(Player[playerid][Organizacao] >= 1)
{
SendClientMessage(playerid, 0xBFC0C2FF, "(=-=-=-=-=-=-=({FFD700}Membros Online{BFC0C2})=-=-=-=-=-=-=)");
for(new i = 0; i < MAX_PLAYERS; i++) //Criamos um loop de acordo com o MAX_PLAYERS
{
if(IsPlayerConnected(i)) //Verifica se o "i" (player) do loop estб online
{
if(Player[i][Organizacao] == Player[playerid][Organizacao]) //Verifica se a organizaзгo do player (do loop) й igual a do player que digitou o comando
{
GetPlayerName(i, playername, sizeof(playername)); //Geta o nome do player(loop)...
if(Player[i][Cargo] <= 4) //Verifica se o player do loop e cargo 4 ou menos
{
format(string, sizeof(string), "Membro: %s, Cargo: %d", playername, Player[i][Cargo]); //Formata uma mensgaem com o nome e cargo do player (loop)
SendClientMessage(playerid, GetPlayerColor(playerid), string); //Envia a mensagem do player que digitou o comando
}
else
{
if(Player[i][Cargo] == 6) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
format(string, sizeof(string), "Membro: %s, Cargo: Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
else if(Player[i][Cargo] == 5) //Verifica se o player й Lнder e formata/envia uma mensagem diferente/destacada
{
format(string, sizeof(string), "Membro: %s, Cargo: Sub-Lнder", playername);
SendClientMessage(playerid, GetPlayerColor(playerid), string);
}
}
}
}
}
}
else
{
SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo pertence a nenhuma Organizaзгo.");
}
return 1; //Returnando a 1, nunca se esqueзa!
}
// ------------------------------------------------------------------------------- >>
CMD:r(playerid, params[])
{
if(Player[playerid][Organizacao] == 0) return SendClientMessage(playerid, Amarelo, "Vocк nгo participa de nenhuma organizaзгo!");
new texto[120];
if(sscanf(params, "s", texto)) return SendClientMessage(playerid, Amarelo, "USE: /radio [MENSAGEM]");
new str[120];
format(str, sizeof(str), "(Rбdio) %s [Cargo: %d] diz: {FFFFFF}%s", GetNome(playerid), Player[playerid][Cargo], texto); //Formata uma mensagem com o nome do player, cargo e a mensgem
SendFamilyMessage(Player[playerid][Organizacao], GetPlayerColor(playerid), str); //Envia a mensagem a organizaзгo do player
return 1; //Returnando a 1, nunca se esqueзa!
}
// ------------------------------------------------------------------------------- >>
CMD:convidar(playerid, params[])
{
if(Player[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!");
new id;
if(sscanf(params, "d", id)) return SendClientMessage(playerid, Amarelo, "USE: /convidar [ ID ]");
if(Player[id][Organizacao] != 0) return SendClientMessage(playerid, Verde, "Este jogador jб estб em uma Organizaзгo.");
if(playerid == id) return SendClientMessage(playerid, Branco, "Vocк nгo pode convidar a vocк mesmo.");
new str[120];
format(str, sizeof(str), "Vocк convidou %s para sua Organizaзгo.", GetNome(id));
SendClientMessage(playerid, GetPlayerColor(playerid), str);
new stx[120];
format(stx, sizeof(stx), "%s estб lhe convidando para fazer parte da organizaзгo: %s \nDeseja aceitar?", GetNome(playerid), GetOrgName(Player[playerid][Organizacao])); //Formata um dialog com o nome de que convidou e o nome da organizaзгo
ShowPlayerDialog(id, 100, DIALOG_STYLE_MSGBOX, "Convite para organizaзгo", stx, "Sim", "Nгo");
SetPVarInt(id, "OrgConvidado", Player[playerid][Organizacao]); //Setando PVarInt que serб usar no OnDialogResponse
SetPVarInt(id, "QuemConvidou", playerid); //Setando PVarInt que serб usar no OnDialogResponse
SalvarConta(id);
return 1; //Returnando a 1, nunca se esqueзa!
}
// ------------------------------------------------------------------------------- >>
CMD:promover(playerid, params[])
{
if(Player[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!");
new id, cargo;
if(sscanf(params, "dd", id, cargo)) return SendClientMessage(playerid, Amarelo, "USE: /promover [ ID ] [C ARGO ]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Cinza, "Este jogador nгo estб online.");
if(Player[id][Organizacao] != Player[playerid][Organizacao]) return SendClientMessage(playerid, Amarelo, "Este jogador nгo й da mesma organizaзгo que vocк.");
if(playerid == id) return SendClientMessage(playerid, Cinza, "Vocк nгo pode promover a vocк mesmo.");
if(cargo >= 1 || cargo <= 5)
{
Player[id][Cargo] = cargo;
SalvarConta(id);
new str[120], stx[120];
format(str, sizeof(str), "%s promoveu o membro %s para o cargo %d.", GetNome(playerid), GetNome(id), cargo); //Formata a mesgaem com quem prommoveu, quem foi promovido e o cargo
SendFamilyMessage(Player[playerid][Organizacao], GetPlayerColor(playerid), str); //Envia a mensagem para a organizaзгo
format(stx, sizeof(stx), "%s te promoveu para o cargo %d.", GetNome(playerid), cargo); //Formata a mensgame...
SendClientMessage(id, GetPlayerColor(playerid), stx); //Envia a mesngaem para quem foi promovido
}
else //Caso o cargo nгo esta de 1 a 5, envia a mensagem abaixo:
{
SendClientMessage(playerid, Amarelo, "Cargos de 1 a 5");
return 1;
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:demitir(playerid, params[])
{
if(Player[playerid][Cargo] != 6) return SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo й lider!");
new id, motivo[120];
if(sscanf(params, "ds", id, motivo)) return SendClientMessage(playerid, Amarelo, "USE: /demitir [ ID ] [ MOTIVO ]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Amarelo, "Este jogador nгo estб online.");
if(Player[id][Organizacao] != Player[playerid][Organizacao]) return SendClientMessage(playerid, Branco, "Este jogador nгo й da mesma organizaзгo que vocк.");
if(playerid == id) return SendClientMessage(playerid, Amarelo, "Vocк nгo pode demitir a vocк mesmo. Use /medemitir");
Player[id][Organizacao] = 0;
Player[id][Cargo] = 0;
new str[120], stx[120];
format(str, sizeof(str), "%s demitiu o membro %s da Organizaзгo", GetNome(playerid), GetNome(id)); //Formata uma mensagem com o nome de quem demitiu e quem foi demitido
SendFamilyMessage(Player[playerid][Organizacao], GetPlayerColor(playerid), str); //Envia a mensagem para a organizaзгo
format(stx, sizeof(stx), "%s te demitiu da organizaзгo. Motivo: %s.", GetNome(playerid), motivo); //Formata uma mensagem com o nome de quem demitiu e o motivo
SendClientMessage(id, GetPlayerColor(playerid), stx); //Envia a mensagem para quem foi demitido
SpawnPlayer(id), SalvarConta(id);
return 1; //Returnando a 1, nunca se esqueзa!
}
// ------------------------------------------------------------------------------- >>
CMD:darlider(playerid, params[])
{
new id, org;
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
if(sscanf(params, "ii", id, org)) return SendClientMessage(playerid, Amarelo, "USE: /darlider [I D ] [ ORGANIZAЗГO ]");
if(org < 0 || org >= 11) return SendClientMessage(playerid, Amarelo, "Nъmero de Organizaзхes Permitidas: 0 б 10");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Amarelo, "Este jogador nгo estб online.");
new str[120], stx[120], stall[120];
format(str, sizeof(str), "Vocк deu lнder da organizaзгo %s para %s(ID: %d)", GetOrgName(org), GetNome(id), id);
SendClientMessage(playerid, Branco, str);
format(stx, sizeof(stx), "%s(ID: %d) te deu lнder da organizaзгo {FFFFFF}%s", GetNome(playerid), playerid, GetOrgName(org)); //Formata uma mensgame com quem deu a lideranзa, o "playerid" e o nome organizaзгo setada
SendClientMessage(id, Azul, stx);
format(stall, sizeof(stall), "%s(ID: %d) й o novo lнder da organizaзгo %s.", GetNome(id), id, GetOrgName(org)); //Formata a mensagem...
SendClientMessageToAll(Verde, stall);
Player[id][Organizacao] = org;
Player[id][Cargo] = 6; //Seta o cargo (lideranзa) do "id"
SpawnPlayer(id), SalvarConta(id);
return 1; //Returnando a 1, nunca se esqueзa!
}
// ------------------------------------------------------------------------------- >>
CMD:medemitir(playerid, params[])
{
if(Player[playerid][Organizacao] > 0)
{
new motivo [120];
if(sscanf(params, "s", motivo)) return SendClientMessage(playerid, 0xAD0000AA, "Use: /medemitir [ MOTIVO ]");
new str[120];
format(str, sizeof(str), "%s(ID: %d) se demitiu da organizaзгo %s. motivo: %s", GetNome(playerid), playerid, GetOrgName(Player[playerid][Organizacao]), motivo);
/*
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Player[i][Organizacao] == Player[playerid][Organizacao])
{
SendClientMessage(i, GetPlayerColor(playerid), str);
}
}
}*/
new stx[120];
format(stx, sizeof(stx), "Vocк se demitiu da organizaзгo %s com sucesso.",GetOrgName(Player[playerid][Organizacao]));
SendFamilyMessage(Player[playerid][Organizacao], GetPlayerColor(playerid), str), SendClientMessage(playerid, Branco, stx);
Player[playerid][Organizacao] = 0;
Player[playerid][Cargo] = 0;
OnPlayerSpawn(playerid), SalvarConta(playerid);
}
else
{
SendClientMessage(playerid, Cinza, "Vocк nгo participa de nenhuma organizaзгo!");
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:equipar(playerid)
{
if(Player[playerid][Organizacao] == 0)
{
SendClientMessage(playerid, 0xAD0000AA, "Vocк nгo participa de nenhuma organizaзгo.");
}
else if(Player[playerid][Organizacao] == 1)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Polнcia_Militar = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Polнcia_Militar);
GivePlayerWeapon(playerid, 25, Armas_Polнcia_Militar);*/
}
else if(Player[playerid][Organizacao] == 2)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Exйrcito = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Exйrcito);
GivePlayerWeapon(playerid, 25, Armas_Exйrcito);*/
}
else if(Player[playerid][Organizacao] == 3)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Polнcia_Federal = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Polнcia_Federal);
GivePlayerWeapon(playerid, 25, Armas_Polнcia_Federal);*/
}
else if(Player[playerid][Organizacao] == 4)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Estado_Islвmico = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Estado_Islвmico);
GivePlayerWeapon(playerid, 25, Armas_Estado_Islвmico);*/
}
else if(Player[playerid][Organizacao] == 5)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Comando_Vermelho = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Comando_Vermelho);
GivePlayerWeapon(playerid, 25, Armas_Comando_Vermelho);*/
}
else if(Player[playerid][Organizacao] == 6)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_PCC = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_PCC);
GivePlayerWeapon(playerid, 25, Armas_PCC);*/
}
else if(Player[playerid][Organizacao] == 7)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_do_Norte = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_do_Norte);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_do_Norte);*/
}
else if(Player[playerid][Organizacao] == 8)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_Groove = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_Groove);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_Groove);*/
}
else if(Player[playerid][Organizacao] == 9)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Famнlia_Ballas = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Famнlia_Ballas);
GivePlayerWeapon(playerid, 25, Armas_Famнlia_Ballas);*/
}
else if(Player[playerid][Organizacao] == 10)
{
if(!IsPlayerInRangeOfPoint(playerid, 2.0, LOCALHQ_PCC )) return SendClientMessage(playerid, Amarelo, "Vocк nгo estб no local para se equipar");
/* new Armas_Milнcia = 300*Player[playerid][Cargo];
GivePlayerWeapon(playerid, 24, Armas_Milнcia);
GivePlayerWeapon(playerid, 25, Armas_Milнcia);*/
}
return 1; //Returnando a 1, nunca se esqueзa!
}
// --------------------------------------------------------- INICIO DOS COMANDOS
CMD:msenha(playerid,params[]) // Mudar senha ( M SENHA )
{
new stx[48 + 42];
if(isnull(params)) return SendClientMessage(playerid, Amarelo, "Use: /msenha [senha]");
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
DOF2_SetString(Conta, "Password", params);
DOF2_SaveFile();
format(stx, sizeof(stx), "Sua nova senha й '%s'",params);
SendClientMessage(playerid, Amarelo, stx);
SalvarConta(playerid);
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:mnome(playerid,params[]) // Mudar nome ( M NOME )
{
new s1[46+24+24], s2[40];
if(isnull(params)) return SendClientMessage(playerid, Amarelo, "Use: /nnome [nick]");
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
if(!DOF2_FileExists(Conta))
{
format(s1, sizeof(s1), "O Jogador '%s' mudou o nome para '%s'", GetNome(playerid),params);
SendClientMessageToAll(Verde, s1);
format(s2, sizeof(s2), "Contas/%s.ini", params);
DOF2_RenameFile(Conta, s2);
SetPlayerName(playerid, params);
SalvarConta(playerid);
}
else SendClientMessage(playerid, Amarelo, "Desculpe.. Este nome jб estб sendo utilizado");
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:pagar(playerid, params [])
{
new id, quantia;
if (sscanf(params, "uu", id, quantia)) return SendClientMessage(playerid, -1, "Use: /Pagar [Id] [Quantia]");
else
{
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Branco, "Jogador nгo conectado");
new Float: x, Float: y, Float: z;
GetPlayerPos(id, x, y, z);
if(!IsPlayerInRangeOfPoint(playerid, 2.0, x, y, z)) return SendClientMessage(playerid, Branco, "Vocк nгo estб prуximo do jogador");
if(Player[playerid][pGrana] < quantia) return SendClientMessage(playerid, Branco, "Vocк nгo tem toda esse dinheiro em mгos");
else {
new stx[120], sty[120];
format(stx, sizeof(stx), "Vocк Pagou R$: {00FFFF}%d{FFFFFF} Para o Jogador {00FFFF}%s", quantia, GetNome(id));
format(sty, sizeof(sty), "Vocк Recebeu R$: {00FFFF}%d{FFFFFF} Do Jogador {00FFFF}%s", quantia, GetNome(playerid));
SendClientMessage(playerid, Branco, stx);
SendClientMessage(id, Branco, sty);
GivePlayerMoney(id, quantia); // Talvez isso esteja errado hem !
Player[id][pGrana] += quantia;
Player[playerid][pGrana] -= quantia;
GivePlayerMoney(playerid, - quantia);
}
}
return 1;
}
// -------------------------------------------------------- COMANDOS PARA ADMINS -----------------------------------------------
CMD:kick(playerid, params [])
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new id, cause[120];
if (sscanf(params, "us[120]", id, cause)) return SendClientMessage(playerid, -1, "Use: /Kick [Id] [Motivo]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Branco, "Jogador nгo conectado");
else {
new str[120];
format(str, sizeof(str), "O Administrador {00FFFF}%s {FFFFFF}kikou {00FFFF}%s{FFFFFF}. Motivo: {00FFFF}%s", GetNome(playerid), GetNome(id), cause);
SendClientMessageToAll( Branco, str); }
Kick(id);
return 1;
}
CMD:mp(playerid, params [])
{
new Str_S [120], Str_E [120], id, Texto[120];
if (sscanf(params, "us[120]", id, Texto)) return SendClientMessage(playerid, -1, "Use: /MP [Id] [Texto]");
else
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Branco, "Este Jogador nгo й um{FFF0FF}Administrador");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Branco, "Jogador nгo conectado");
else {
format(Str_E, sizeof(Str_E), "Mensagem enviada para o Jogador {00FFFF}%s", GetNome(id));
format(Str_S, sizeof(Str_S), "MP de {00FFFF}%s {FFFFFF}: {00FFFF}%s", GetNome(playerid), Texto);
SendClientMessage(playerid, Branco, Str_E);
SendClientMessage(id, Branco, Str_S); }
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:tempo(playerid, params [])
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new Tempo;
if (sscanf(params, "i", Tempo)) return SendClientMessage(playerid, -1, "Use: /tempo [id]");
else
{
if ( Tempo > 24 )
{
SendClientMessage(playerid, Branco, "ID do tempo invбlido");
return 1;
}
new str[120];
format(str, sizeof(str), "O Administrador %s mudou o tempo para %d", GetNome(playerid), Tempo);
SetWorldTime(Tempo);
SendClientMessageToAll(Vermelho, str);
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:clima(playerid, params [])
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new Clima;
if (sscanf(params, "i", Clima)) return SendClientMessage(playerid, -1, "Use: /tempo [id]");
else
{
if ( Clima > 45 )
{
SendClientMessage(playerid, Branco, "ID do clima invбlido");
return 1;
}
new str[120];
format(str, sizeof(str), "O Administrador %s mudou o clima para %d", GetNome(playerid), Clima);
SendClientMessageToAll(Vermelho, str);
SetWeather(Clima);
}
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:meuimc(playerid, params [])
{
new Peso, Total, Altura, Str[60];
if (sscanf(params, "ii", Peso, Altura))
{
return SendClientMessage(playerid, -1, "Use: /meuimc [Seu Peso] [Sua Altura]");
}
if( Peso < 40 )
{
SendClientMessage(playerid, Branco, "Peso Invбlido . [Min: 40]");
return 1;
}
Total = Peso / Altura * Altura;
Total = Peso / Altura;
format(Str, sizeof(Str), "Seu IMC й {FFFFFF}%d", Total);
SendClientMessage(playerid, Azul_Claro, Str);
return 1;
}
// ------------------------------------------------------------------------------- >>
CMD:ccarro(playerid, params[])
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new NomeCarro[30], CriarVeiculo;
if(sscanf(params, "s[30]", NomeCarro)) return SendClientMessage(playerid, -1, "Use: /ccarro [nome]");
CriarVeiculo = GetModelVehicle(NomeCarro);
if(CriarVeiculo < 400 || CriarVeiculo > 611) return SendClientMessage(playerid, -1, "Nome Invбlido, USO: /veiculo <Nome/Veнculo>.");//Se ele digitar um nome menor que 400 e maior 611 retorna esta mensagem
CriarVeiculoEx(playerid, CriarVeiculo); //Cria o Veнculo
return 1;
}
CMD:rebaixar(playerid, params[])
{
SetGravity(0.020);
AddVehicleComponent(GetPlayerVehicleID(playerid), 1087);
SendClientMessageToAll(Branco ,"Funcionou ?");
return 1;
}
CMD:ccor(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, Branco, "Vocк nгo tem carro maluco !");
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new cor, cor2;
if(sscanf(params, "dd", cor, cor2)) return SendClientMessage(playerid, -1, "Use: /ccor [ID] [ID]");
ChangeVehicleColor(GetPlayerVehicleID(playerid), cor, cor2);
return 1;
}
// ---------------------------------------------- FIM DO COMANDO DE CRIAR CARROS
CMD:sadm(playerid, params[]) // Setar Admin ( S AMD )
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, Amarelo, "Vocк nгo tem permisгo para usar este comando!");
new id;
if(sscanf(params, "ud", id, Player[id][pAdmin])) return SendClientMessage(playerid, Amarelo,"Use: /sadm [ID] [level-admin]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Amarelo,"O Jogador nгo estб conectado");
if(Player[id][pAdmin] > 3) return SendClientMessage(playerid,Amarelo,"level-admin [0-3]");
else{ Player[id][pAdmin] = 3; }
SendClientMessage(id,-1,"Vocк й um administrador agora !");
return 1;
}
// -----------------------------------------------------------------------------
CMD:sskin(playerid ,params[]) // Setar Skin ( S SKIN )
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins!");
new id,str[38 + 4];
if(sscanf(params, "ud", id, Player[id][pSkin])) return SendClientMessage(playerid,Amarelo,"Use: /sskin [ID] [skin]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Amarelo," O Jogador nгo estб conectado");
if(Player[id][pSkin] > 311) return SendClientMessage(playerid,Amarelo,"Skin validas [0-311]");
format(str, sizeof(str), "Sua skin mudou para %d", Player[id][pSkin]);
SendClientMessage(id, Verde, str);
return SetPlayerSkin(id,Player[id][pSkin]);
}
// -----------------------------------------------------------------------------
CMD:sscore(playerid ,params[]) // Setar Nivel ( SSCORE )
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins !");
new id,stx[32 + 11];
if(sscanf(params, "ud", id, Player[id][pNivel])) return SendClientMessage(playerid,Amarelo,"Use: /sscore [ID] [score]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid,Amarelo,"O Jogador nгo estб conectado");
format(stx, sizeof(stx), "Vocк recebeu %d Score", Player[id][pNivel]);
SendClientMessage(id, Amarelo, stx);
return SetPlayerScore(id,Player[id][pNivel]);
}
// -----------------------------------------------------------------------------
CMD:dgrana(playerid, params[]) // Dar Grana ( D GRANA )
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins !");
new id,stx[28 + 11];
if(sscanf(params, "ud", id, Player[id][pGrana])) return SendClientMessage(playerid,Amarelo,"Use: /dgrana [ID] [Grana]");
if(!IsPlayerConnected(id)) return SendClientMessage(playerid, Amarelo,"O Jogador nгo estб conectado !");
format(stx, sizeof(stx), "Vocк recebeu %d R$", Player[id][pGrana]);
SendClientMessage(id, -1, stx);
DarMoney(id,Player[id][pGrana]);
new ppk[28 + 11];
format(ppk, sizeof(ppk), "O Administrador %s deu R$: %d para o jogador %s ", GetNome(playerid), Player[id][pGrana], GetNome(id));
SendClientMessageToAll(Amarelo, ppk);
return 1;
}
CMD:lc(playerid) // Limpar chat ( LC )
{
if(Player[playerid][pAdmin] == 0) return SendClientMessage(playerid, Amarelo, "Comando somente para admins !");
for(new i = 0; i < 20; i++) SendClientMessageToAll(-1,"");
SendClientMessageToAll(Verde, "Chat limpo !");
return 1;
}
// ----------------------------------------------------------------------------------
public OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
if(!success) return SendClientMessage(playerid, Azul, "Comando invбlido");
return 1;
}
// ------------------------------------------------------------------------------- >>
public OnPlayerCommandText(playerid, cmdtext[]) // Nгo funciona
{
{
for (new i = 0; i < MAX_PLAYERS; i++)
{
if(Player[i][pAdmin] == 1)
{
new zx[256];
format(zx, 256, "O jogador %s Id:%d Digitou o Comando: %s", GetNome(playerid), playerid, cmdtext);
SendClientMessage(i, Branco, zx);
}
}
}
return 1;
}
// ------------------------------------------------------------------------------- >>
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
// ------------------------------------------------------------------------------- >>
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if (newstate == PLAYER_STATE_DRIVER)
{
SendClientMessage(playerid, -1, "Aperte {00FFFF}N{FFFFFF} para ligar o motor {00FFFF}R{FFFFFF} para ligar o farol");
}
if ( newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) {
ShowPlayerVelocimetro(playerid) ;
} else {
HidePlayerVelocimetro(playerid) ;
}
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 IsPlayerLogged(playerid);
IsPlayerLogged(playerid)
{
if(Player[playerid][pLogado] == true)
{
SetSpawnInfo(playerid,-1,Player[playerid][pSkin],Player[playerid][pPosX],Player[playerid][pPosY],Player[playerid][pPosZ],Player[playerid][pPosA],0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerInterior(playerid, 0);
SetCameraBehindPlayer(playerid);
}
Textdraw0 = TextDrawCreate(4.000000, 436.000000, "Brasil RoleplayGame RPG v1.0");
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 3);
TextDrawLetterSize(Textdraw0, 0.500000, 1.000000);
TextDrawColor(Textdraw0, -1);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetSelectable(Textdraw0, 0);
for(new i; i < MAX_PLAYERS; i ++){ // Mostrar Textdrawn de entrada para todos
if(IsPlayerConnected(i)){
TextDrawShowForPlayer(i, Textdraw0);
}
}
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;
}
// ( TECLA Y KEY_YES ) TELCA N -> 131072
//------------------------------------------------------------------------------- APERTANDO TECLAS MБGICAS
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys & KEY_FIRE)
{
if (IsPlayerInAnyVehicle(playerid))
{
AddVehicleComponent(GetPlayerVehicleID(playerid), 1010); // Nitro
}
}
new id = GetPlayerVehicleID(playerid);
if(newkeys & KEY_NO && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
if(engine == VEHICLE_PARAMS_OFF || engine == VEHICLE_PARAMS_UNSET) {
SetVehicleParamsEx(id, VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
// SendClientMessage(playerid, Branco, "Vocк ligou o seu veнculo!");
}
else
{
SetVehicleParamsEx(id, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
// SendClientMessage(playerid, Cinza, "Vocк desligou o seu veнculo!");
}
}
if(newkeys & KEY_YES && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
if(boot == VEHICLE_PARAMS_OFF || boot == VEHICLE_PARAMS_UNSET) {
SetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_ON, objective);
// SendClientMessage(playerid, Branco, "Vocк abriu a mala do carro !");
}
else
{
SetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, VEHICLE_PARAMS_OFF, objective);
// SendClientMessage(playerid, Cinza, "Vocк fechou a mala do carro !");
}
}
if(newkeys & 262144 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER) // R
{
GetVehicleParamsEx(id, engine, lights, alarm, doors, bonnet, boot, objective);
if(lights == VEHICLE_PARAMS_OFF || lights == VEHICLE_PARAMS_UNSET) {
SetVehicleParamsEx(id, engine, VEHICLE_PARAMS_ON, alarm, doors, bonnet, boot, objective);
// SendClientMessage(playerid, Branco, "Vocк ligou o farol do carro !");
}
else
{
SetVehicleParamsEx(id, engine, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
// SendClientMessage(playerid, Cinza, "Vocк desligou o farol do carro !");
}
}
/*
new t[80];
format(t, sizeof(t)," Tecla: %d", newkeys);
SendClientMessage(playerid, -1, t);
*/
return true;
}
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[])
{
// -------------------------------------------------------------------------------- DIALOG CONVIDAR
if(dialogid == 100)
{
new playername[MAX_PLAYER_NAME], string[128]; //Variaveis que irб armazenar o nome e "string"
GetPlayerName(playerid, playername, sizeof(playername)); //Geta o nome do player que aparaceu o dialog
if(response) //Se ele clicar em SIM...
{
Player[playerid][Organizacao] = GetPVarInt(playerid, "OrgConvidado"); //Seta a organizaзгo de acordo com a PVarInt do comando /convida
Player[playerid][Cargo] = 1; //Seta o cargo a 1
format(string, sizeof(string), "%s aceitou seu Convite.", playername); //Formata uma mensagem com o nome do player que aceitou
SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensgaem a quem convidou
format(string, sizeof(string), "%s й o mais novo membro da Organizaзгo.", playername); //Formata uma mensgaem com o nome do player que aceitou
SendFamilyMessage(Player[playerid][Organizacao], GetPlayerColor(playerid), string); //Manda a mensagem para a organizaзгo do player
SendClientMessage(playerid, 0x00FF00FF, "Vocк aceitou o Convite."); //Manda uma mensagem amigavel ao player que aceitou :P
DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
SpawnPlayer(playerid); //Spawn nele!
}
else //Se ele ciclar em NГO...
{
format(string, sizeof(string), "%s rejeitou seu Convite.", playername); //Formata a mensgaem com o nome do player que rejeitou o convite
SendClientMessage(GetPVarInt(playerid, "QuemConvidou"), 0x00FF00FF, string); //Envia a mensagem a quem convidou o player
SendClientMessage(playerid, 0x00FF00FF, "Vocк rejeitou o Convite."); //Manda uma mensagem amigavel ao player que rejeitou :P
DeletePVar(playerid, "OrgConvidado"); //Deleta o PVar
DeletePVar(playerid, "QuemConvidou"); //Deleta o PVar
}
}
// ---------------------------------------------------- Sistema de Registro -- >
if(dialogid == DIALOG_REGISTER)
{
if(!response) return Kick(playerid);
if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "ERRO !", "{FFFFFF}Vocк deve escolher uma senha !\n\nEscreva uma senha, para se registrar!", "Salvar", "Sair");
if(response)
{
if(strlen(inputtext))
{
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
DOF2_CreateFile(Conta);
DOF2_SetString(Conta, "Password", inputtext);
DOF2_SaveFile();
Player[playerid][Organizacao] = 0;
new uzu[120];
format(uzu, sizeof(uzu), "Vocк se registrou com a senha %s", inputtext);
SendClientMessage(playerid, Branco, uzu);
SendClientMessage(playerid, Branco, "Para mudar sua senha use {FFF0FF}/msenha");
CriarConta(playerid);
CarregarConta(playerid);
}
else ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "2", "LALA", "Registrar", "Sair");
}
return 1;
}
// ---------------------------------------------------- Sistema de Login -------
if(dialogid == DIALOG_LOGIN) {
if(!response) return Kick(playerid);
if(response)
{
if(!strlen(inputtext)) // Caso jб for registrado, e nгo colocar a senha :
{
return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "ERRO !", "{FFFFFF}Vocк jб й um membro registrado\n\nEscreva sua senha para logar !\n\nCaso nгo lembre da senha procure nosso fуrum!","Entrar", "Sair");
}
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
if(strcmp(inputtext, DOF2_GetString(Conta, "Password"), true)) // Se botar a senha errada se fode !
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Senha Errada", "{FFFFFF}Vocк digitou a senha errada !","Entrar", "Sair");
SendClientMessage(playerid, Amarelo, "Senha Errada!");
}
else //Se acertar a senha
{
CarregarConta(playerid);
new stk[80];
format(stk, sizeof(stk), "Bem vindo de volta {FFF00F}%s !", GetNome(playerid));
SendClientMessage(playerid, Branco, stk);
}
}
return 1;
}
return 1;
}
// ------------------------------------------------------------------------------- >>
public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
return 1;
}
//------------------------------------------------------------------------------- STOCKS DO VELOCIMETRO
stock GetVehicleSpeed(vehicleid)
{
new Float:xPos[3];
GetVehicleVelocity(vehicleid, xPos[0], xPos[1], xPos[2]);
return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
}
// ------------------------------------------------------------------------------- >>
stock Float:GetVehicleHealthEx(vehicleid)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
if ( health > 900.0) {
return health / 10.0;
}
else return ( health / 10.0 )-(24);
}
// ------------------------------------------------------------------------------- >>
stock getVehicleName(vehicleid){
new vehmodel = GetVehicleModel(vehicleid);
new nameVeh[75];
if (vehmodel < 400 || vehmodel > 611) {
strcat(nameVeh, "Nenhum");
return nameVeh;
}
strcat(nameVeh, NomeVeiculos[vehmodel - 400]);
return nameVeh;
}
// ------------------------------------------------------------------------------- >>
stock ShowPlayerVelocimetro(playerid) {
if ( PlayerVelocimetro[playerid] ) {
return 0;
}
PlayerTextDrawSetString(playerid, textPlayerVelocimetro[0][playerid], getVehicleName(GetPlayerVehicleID(playerid)));
for( new text; text != 5; text++) TextDrawShowForPlayer(playerid, textVelocimetro[text]);
for( new text; text != 4; text++) PlayerTextDrawShow(playerid, textPlayerVelocimetro[text][playerid]);
PlayerVelocimetro[playerid] = true ;
PlayerVelocimetroTimer[playerid] = SetTimerEx("UpdatePlayerVelocimetro", 100, true, "i", playerid);
return 1;
}
stock HidePlayerVelocimetro(playerid) {
if ( !PlayerVelocimetro[playerid] ) {
return 0;
}
for( new text; text != 5; text++) TextDrawHideForPlayer(playerid, textVelocimetro[text]);
for( new text; text != 4; text++) PlayerTextDrawHide(playerid, textPlayerVelocimetro[text][playerid]);
PlayerVelocimetro[playerid] = false ;
KillTimer(PlayerVelocimetroTimer[playerid]);
return 1;
}
// ------------------------------------------------------------------------------- >>
public UpdatePlayerVelocimetro(playerid) {
new playervehicle;
if ( (playervehicle = GetPlayerVehicleID(playerid)) != INVALID_VEHICLE_ID) {
new string_velo[15];
format(string_velo, sizeof (string_velo), "%02d km/h", GetVehicleSpeed(playervehicle));
PlayerTextDrawSetString(playerid, textPlayerVelocimetro[1][playerid], string_velo);
format(string_velo, sizeof (string_velo), "%.0f%", GetVehicleHealthEx(playervehicle));
PlayerTextDrawSetString(playerid, textPlayerVelocimetro[3][playerid], string_velo);
}
return 1;
}
// -------------------------------------------------------------------------------------- PEGAR NOME DO VEНCULO
stock GetModelVehicle(VeiculoNome[]) //Funзгo Para pegar o nome do Veнculo
{
for(new i = 0; i < 211; i++)
{
if(strfind(NomeVeiculos[i], VeiculoNome, true) != -1)//Vai procurar no loop i o nome do veiculo
return i + 400;
}
return 0;//Retorna
}
// -----------------------------------------------------------------------------
stock CriarVeiculoEx(playerid, ModeloID) //Criar carros para nгo fazer flood, e nгo permitir ele criar outro
{
new Float:Pos[4];
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
GetPlayerFacingAngle(playerid, Pos[3]);
UmVeiculo[playerid] = CreateVehicle(ModeloID, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, false);
SetVehicleVirtualWorld(UmVeiculo[playerid], GetPlayerVirtualWorld(playerid));
PutPlayerInVehicle(playerid, UmVeiculo[playerid], 0);
/*
new Float:Pos[4]; //Cria 4 Floats para X, Y, Z, e A Posiзхes e Angulos
if(GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, Amarelo, "Vocк nгo pode criar carro dentro de um interior");
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER) return SendClientMessage(playerid, Amarelo, "Vocк jб tem um carro, saia de seu veнculo."); //Se ele for motorista fala para ele sair.
else // Se ele nгo for motorista
{
GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); // Pega a posiзгo dele
GetPlayerFacingAngle(playerid, Pos[3]); // E Pega o Вngulo dele
}
if(UmVeiculo[playerid] != 0) DestroyVehicle(UmVeiculo[playerid]);
UmVeiculo[playerid] = CreateVehicle(ModeloID, Pos[0], Pos[1], Pos[2], Pos[3], -1, -1, 60); // Cria o Veнculo juntamente com a variбvel UmVeiculo
SetVehicleVirtualWorld(UmVeiculo[playerid], GetPlayerVirtualWorld(playerid)); // Troca o mundo dele se ele tiver em outro
PutPlayerInVehicle(playerid, UmVeiculo[playerid], 0); // Coloca o Jogador no carro que foi criado
*/
return 1;
}
// ------------------------------------------------------------------------------- >> SALVAMENTO DE DADOS
CriarConta(playerid)
{
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
DOF2_SetInt(Conta, "Admin", 0);
DOF2_SetInt(Conta, "Skin", 98);
DOF2_SetInt(Conta, "Grana", 500);
DOF2_SetInt(Conta, "Nivel", 0);
DOF2_SetInt(Conta, "Organizacao", 0);
DOF2_SetInt(Conta, "Cargo", 0);
/*
DOF2_SetFloat(Conta, "PosX", 2069.8767);
DOF2_SetFloat(Conta, "PosY", -1766.6870);
DOF2_SetFloat(Conta, "PosZ", 13.5621);
DOF2_SetFloat(Conta, "PosA", 90.0);
*/
DOF2_SetInt(Conta, "Interior", 0);
DOF2_SetInt(Conta, "VW", 0);
DOF2_SaveFile();
}
/*
CriarOrg(playerid)
{
format(ArquivoOrg, sizeof(ArquivoOrg), "ORGS/%s", GetOrgName(Player[playerid][Organizacao]));
if(DOF2_FileExists(ArquivoOrg)) //Se a Organizaзгo existir
{
DOF2_SetInt(arquivo, "LIDER", Org[playerid][LIDER]);
// DOF2_SetInt(arquivo, "MEMBROS", Player[playerid][Cargo]);
DOF2_SetInt(arquivo, "FUNDOS", Org[playerid][FUNDOS]);
DOF2_SetInt(arquivo, "DROGAS", Org[playerid][DROGAS]);
}
else //Se a org nгo existir cria
{
DOF2_CreateFile(arquivo);
DOF2_SetInt(arquivo, "LIDER", Org[playerid][LIDER]);
// DOF2_SetInt(arquivo, "MEMBROS", Org[playerid][Cargo]);
DOF2_SetInt(arquivo, "FUNDOS", Org[playerid][FUNDOS]);
DOF2_SetInt(arquivo, "DROGAS", Org[playerid][DROGA]);
}
}
*/
// ------------------------------------------------------------------------------- >> CARREGAMENTO DE DADOS
CarregarConta(playerid)
{
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
Player[playerid][pAdmin] = DOF2_GetInt(Conta, "Admin");
Player[playerid][pSkin] = DOF2_GetInt(Conta, "Skin");
Player[playerid][pGrana] = DOF2_GetInt(Conta, "Grana");
Player[playerid][pNivel] = DOF2_GetInt(Conta, "Nivel");
Player[playerid][Organizacao] = DOF2_GetInt(Conta, "Organizacao");
Player[playerid][Cargo] = DOF2_GetInt(Conta, "Cargo");
/*
Player[playerid][pPosX] = DOF2_GetInt(Conta, "PosX");
Player[playerid][pPosY] = DOF2_GetInt(Conta, "PosY");
Player[playerid][pPosZ] = DOF2_GetInt(Conta, "PosZ");
Player[playerid][pPosA] = DOF2_GetInt(Conta, "PosA");
*/
Player[playerid][pInterior] = DOF2_GetInt(Conta, "Interior");
Player[playerid][pVW] = DOF2_GetInt(Conta, "VW");
Player[playerid][pLogado]=true;
SetPlayerScore(playerid, Player[playerid][pNivel]);
DarMoney(playerid, Player[playerid][pGrana]);
SetPlayerInterior(playerid, Player[playerid][pInterior]);
SetPlayerVirtualWorld(playerid, Player[playerid][pVW]);
/*
SetSpawnInfo(playerid, -1, Player[playerid][pSkin], Player[playerid][pPosX], Player[playerid][pPosY], Player[playerid][pPosZ], Player[playerid][pPosA],0,0,0,0,0,0);
SpawnPlayer(playerid);
*/
}
// ------------------------------------------------------------------------------- >> SALVAMENTO DE DADOS
SalvarConta(playerid)
{
format(Conta, sizeof(Conta), "Contas/%s.ini", GetNome(playerid));
/*
GetPlayerPos(playerid, Player[playerid][pPosX], Player[playerid][pPosY], Player[playerid][pPosZ]);
GetPlayerFacingAngle(playerid,Player[playerid][pPosA]);
*/
DOF2_SetInt(Conta, "Admin", Player[playerid][pAdmin]);
DOF2_SetInt(Conta, "Skin", Player[playerid][pSkin]);
DOF2_SetInt(Conta, "Money", Player[playerid][pGrana]);
DOF2_SetInt(Conta, "Score", Player[playerid][pNivel]);
DOF2_SetInt(Conta, "Organizacao", Player[playerid][Organizacao]);
DOF2_SetInt(Conta, "Cargo", Player[playerid][Cargo]);
/*
DOF2_SetFloat(Conta, "PosX", Player[playerid][pPosX]);
DOF2_SetFloat(Conta, "PosY", Player[playerid][pPosY]);
DOF2_SetFloat(Conta, "PosZ", Player[playerid][pPosZ]);
DOF2_SetFloat(Conta, "PosA", Player[playerid][pPosA]);
*/
DOF2_SetInt(Conta, "Interior", GetPlayerInterior(playerid));
DOF2_SetInt(Conta, "VW", GetPlayerVirtualWorld(playerid));
DOF2_SaveFile();
}
// ------------------------------------------------------------------------------- >> PEGAR NOME DO CAMARADA
GetNome(playerid)
{
new pNome[MAX_PLAYER_NAME];
GetPlayerName(playerid, pNome, 24);
return pNome;
}
// ------------------------------------------------------------------------------- >> PEGAR NOME DA ORG
stock GetOrgName(orgid)
{
new str[30];
if(orgid == 0)
{
str = "Civil";
}
if(orgid == 1)
{
str = "Polнcia Militar";
}
if(orgid == 2)
{
str = "Exйrcito";
}
if(orgid == 3)
{
str = "Polнcia Federal";
}
if(orgid == 4)
{
str = "Estado Islвmico";
}
if(orgid == 5)
{
str = "Comando Vermelho";
}
if(orgid == 6)
{
str = "PCC";
}
if(orgid == 7)
{
str = "Famнlia do Norte";
}
if(orgid == 8)
{
str = "Famнlia Groove";
}
if(orgid == 9)
{
str = "Famнlia Ballas";
}
if(orgid == 10)
{
str = "Milнcia";
}
return str;
}
// ------------------------------------------------------------------------------- >>
stock SendFamilyMessage(orgid, cor, mensagem[]) //stock que envia a mensagem para tal organizaзгo de acordo com "ogrid"
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Player[i][Organizacao] == orgid)
{
SendClientMessage(i, cor, mensagem);
}
}
}
return 0;
}
// ------------------------------------------------------------------------------- >> ALGUNS LUGARES EM LV
/*
{{"Armazйm LV"}, {0}, {1058.92,2087.63,10.82,278.73}},
{{"DP LV"}, {3}, {288.74,169.35,1007.17,355.33}},
AddPlayerClass(98,2192.3462,1676.3215,12.3672,86.7838,0,0,0,0,0,0); // SPAWN CIVIL LV
AddPlayerClass(23,2587.4788,1793.3158,10.8203,357.7793,0,0,0,0,0,0); // HQ TAXI / ONIBUS
AddPlayerClass(23,1971.6002,1622.6757,12.8656,268.6427,0,0,0,0,0,0); // RANDO SPAWN CIVIL
AddStaticVehicle(522,2367.0671,2034.2717,10.3955,5.8825,3,8); // LOJA DE FRANGO CHURKCLIN
AddStaticVehicle(522,2365.8528,2075.7424,10.3966,2.0328,3,8); // LOJA DE HAMBURGUER
AddStaticVehicle(522,2539.5369,2149.7537,10.3843,229.5709,3,8); // PIZZARIA
AddStaticVehicle(522,2515.7087,2297.1125,10.3957,178.8908,3,8); // SEXSHOP
AddStaticVehicle(522,2446.2229,2376.4846,11.7276,227.2958,3,8); // PREFEITURA
AddStaticVehicle(522,2363.7092,2377.7949,10.3835,271.6200,3,8); // DETRAN
AddStaticVehicle(522,2290.3806,2431.1997,10.3905,73.8899,3,8); // PM LV
AddStaticVehicle(522,2203.4688,2471.0186,10.3829,1.4908,3,8); // POSTO GASOLINA 1
AddStaticVehicle(522,2103.4473,2257.4939,10.5949,177.8269,3,8); // LOJA DE ROUPAS 2
AddStaticVehicle(522,2085.8845,2077.9194,10.6248,175.3299,3,8); // SEXSHOP 2
AddStaticVehicle(522,2114.5710,919.2162,10.3744,105.6646,3,8); // POSTO GASOLINA 2
AddStaticVehicle(522,2177.7878,961.7375,10.3808,266.8866,3,8); // LOJA DE ARMAS 2
AddStaticVehicle(522,2130.0952,1394.2064,10.3829,270.4818,3,8); // HQ MECANICOS LV
AddStaticVehicle(522,2127.7656,1389.3342,10.3832,45.9874,3,8); // HQ MECANICOS LV
AddStaticVehicle(522,1873.1046,2071.1697,10.6379,74.6656,3,8); // LOJA DE HAMBURGUER
AddStaticVehicle(522,1598.2584,2200.3647,10.3841,62.3179,3,8); // POSTO DE GASOLINA 3
AddStaticVehicle(520,1356.2085,2163.7024,11.7406,356.1178,0,0); // ESTADIO
AddStaticVehicle(522,1034.9666,2113.3062,10.3813,162.6428,7,79); // PORTO 1
AddStaticVehicle(522,1004.9235,2314.4680,10.2317,358.2092,7,79); // HQ PCC
AddStaticVehicle(522,2271.9810,713.2500,10.2349,89.5840,8,82); // HQ CV
AddStaticVehicle(522,2397.7437,1649.5356,10.3847,30.1590,8,82); // HQ TAXISTAS
AddStaticVehicle(522,2493.9314,2772.7156,10.3735,270.5896,8,82); // REFINARIA DE PETROLEO
AddStaticVehicle(522,2201.2173,2772.4490,10.2446,87.3935,8,82); // HQ FAMILIA DO NORTE
AddStaticVehicle(520,1390.1360,1401.7675,11.5439,204.8201,0,0); // AEROPORTO LV
AddPlayerClass(23,214.4745,1352.6920,10.5859,42.9896,0,0,0,0,0,0); // INDUSTRIA 1
AddPlayerClass(23,-2257.1936,2339.7527,4.8125,235.3028,0,0,0,0,0,0); // HQ ESTADO ISLAMICO
AddStaticVehicle(522,1674.0499,1447.1064,10.3643,75.6294,36,105); // AEROPORTO ENTRADA LV
1301.9064,1152.7106,10.3646 // INDUSTRIA 2
1046.0361,1311.3773,10.3804 // HQ MAFIA
170.1217,1883.2000,20.8242// HQ EXERCITO
-119.5759,1152.4451,19.5938 // HQ FAMILIA GROOOVEEE
-7.1452,1507.7839,13.6918 // FAVELA
-226.5534,2610.1304,62.7031 // HQ FAMILIA BALLAS
420.8994,2510.7957,17.4203 // AEROPORTO ABANDONADO
*/
|
Alguйm aн tem/sabe alguma gm base com sistema de registro e login usando DOF2?
Nгo precisa ter mais nada, sу o registro e login |
|
Ei, parceiro, sei que esta comeзando agora, assim como eu, mas quero te dar umas dicas e vou lhe passar umas GM que eu usei pra aprender a mexer:
1: Tente comeзar a deixar a DOF2, e comeзe a focar em alguma sql. (isso pode ser ъtil ou nao, depende se seu server for grande ou pequeno) 2: As bases servem para vc usar ela pra fazer uma continuaзгo(creio eu), use elas tambem para estudar algumas coisas que tem duvidas.(nao sei pq dei essa dica, mas nй, sempre bom ajudar). 3: Boa sorte. Aqui embaixo estгo algumas GM que usei pra comeзar a estudar. https://sampforum.blast.hk/showthread.php?tid=610151 https://www.*******.com/redirect?q=h...AxNTM4NjA1NzI4 http://sampexclusivo.blogspot.com/20...-atual_28.html Apenas lembrando, esse topico pode ser ou nгo Ъtil pra vc, mesmo assim, BOA SORTE AI. |

De nada!