[Pedido] Gamemode base
#1

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
Reply
#2

Preguiзa domina esse corpo kkk...

Vб na бrea Lanзamentos(Clique Aqui) lб tem vбrias GM a disposiзгo escolha uma e pronto.
Reply
#3

Aeeeee meu xuxuba Mituh saudades de quando nos jogavamos no servidor do Lovejoy juntamente com o Spike <3

Caso queira ajuda chama pv q nos desenrola pasero
Reply
#4

Mano, tem esse GM aqui que eu tava fazendo. Queria fazer um RPG em LV, mais to sem tempo e estudando entгo vou postar aqui. Nгo tem quase nada, mais tem sistema de registro e login em dof2 , alguns comandos de admin, e um velocimetro que nгo foi eu que fiz

Code:
/*

					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

*/
https://pastebin.com/k5186y6e
Reply
#5

Esse Gm й muito bom, ta compilando e tem algumas coisas feitas ... й uma boa base. tem que criar pasta contas na scriptfiles !
Reply
#6

Quote:
Originally Posted by HelderPT
View Post
Aeeeee meu xuxuba Mituh saudades de quando nos jogavamos no servidor do Lovejoy juntamente com o Spike <3

Caso queira ajuda chama pv q nos desenrola pasero
Lembrou de mim nй veadow

Chamo s tiw, tava desenrolando uns bgl com o dimy tbm
Reply
#7

Quote:
Originally Posted by MituhBR
View Post
Lembrou de mim nй veadow

Chamo s tiw, tava desenrolando uns bgl com o dimy tbm
To querendo fazer um servidorzinho pra colocar mapas e cуdigos 4fun, pra fazer aquela zueirinha basica, se pбh conversa e talz pra jogar
Reply
#8

Quote:
Originally Posted by MituhBR
View Post
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.
Reply
#9

Tenho vбrios GM que eu comeзo й nem termino para testar algumas coisas! Veja esse Sistema de Registro / Login :

Pastebin

https://pastebin.com/Zh4ukhQk

GameMode

- Sem bugs ( Nгo achei nenhum )
- Tem 2 comandos
- Feito por enum
- Base para RP/G

Reply
#10

Quote:
Originally Posted by vitinhosamp
View Post
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.
Nгo planejo INVESTIR em servidor, quero apenas usar o dof2 jб que ele ja vai suprir a necessidade pra fazer um servidor pra brincar com os amigos
Reply
#11

Entгo use como brincadeira vc pediu apenas um sistema de Registro / Login

Dei mais do que isso De nada!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)