Pages

Ads 468x60px


[GameMode] Simples base. Registro Bini e Animações

Venho por este meio publicar meu simples game mode que provávelmente poderá servir de muitas coisas, incluindo até a base de outros gamemodes por intermedio deste.

O modo de jogo não tem mais que 900 linhas. 


Funções:
- Várias animações
- Sistema de matar/morrer com score e dinheiro
- Sistema de registro em Bini e Dialogs Password. Salva Score/Dinheiro/Kills/Deaths (principal função do gm)

pawn Code:
//---------------------------------------------------------- // //  Modo de Jogo Simples //  Demonstração para bini SA-MP 0.3e // //---------------------------------------------------------- #include <a_samp> #include <bini> // ============= [ Configurações ] ========================== #define NOME_SERVIDOR "Overdose de Diversão" #define max_name_file   (064) #define max_text_chat   (128) #define DIALOG_LOGIN    (1) #define DIALOG_REGISTER (2) #define min_pass (03) #define max_pass (15) #define armas_proibidas 1,2,6,10,11,12,14,17,35,37,38,43,44,45  // (arma1,arma2, arma3, arma4 ...) //============== [ Funções ] =============================== static szFormat[max_text_chat]; #define IsAlphaNum(%0)              ((%0 >= 0x41 && %0 <= 0x5A) || (%0 >= 0x61 && %0 <= 0x7A) || (%0 >= '0' && %0 <= '9')) #define FormattedMessage(%1)        (format(szFormat, max_text_chat, %1), szFormat) // ============== [ Cores ] ================================= #define COR_CINZA 0xAFAFAFAA #define COR_VERDE 0x33AA33AA #define COR_BISQUE 0xFFE4C4AA #define COR_AMARELO 0xFFFF00AA #define COR_BRANCO 0xFFFFFFAA #define COR_AZUL 0x0000BBAA #define COR_AZULCLARO 0x33CCFFAA #define COR_LARANJA 0xFF9900AA #define COR_LIMAO 0x33FF33AA #define COR_MAGENTA 0xFF00FFFF #define COR_AZULMARINHO 0x000080AA #define COR_AQUA 0xF0F8FFAA #define COR_MOSCAAZUL 0x6495EDAA #define COR_PRETO 0x000000AA #define COR_CHARTREUSE 0x7FFF00AA #define COR_BROWN 0xA52A2AAA #define COR_CORAL 0xFF7F50AA #define COR_GOLD 0xB8860BAA #define COR_GREENYELLOW 0xADFF2FAA #define COR_INDIGO 0x4B00B0AA #define COR_IVORY 0xFFFF82AA #define COR_LAWNGREEN 0x7CFC00AA #define COR_LIMEGREEN 0x32CD32AA #define COR_MIDNIGHTBLUE 0x191970AA #define COR_MAROON 0x800000AA #define COR_OLIVE 0x808000AA #define COR_VERMELHA 0xFF4500AA #define COR_ROSA 0xFF66FFAA #define COR_SPRINGGREEN 0x00FF7FAA #define COR_TOMATO 0xFF6347AA #define COR_YELLOWGREEN 0xFFFF00AA #define COR_MEDIUMAQUA 0x83BFBFAA #define COR_MEDIUMMAGENTA 0x8B008BAA #define COR_BRIGHTRED 0xDC143CAA #define COR_SYSTEM 0xEFEFF7AA #define COR_PURPLE 0x330066AA // =============== [ SA:MP ] =============================== #define varGet(%0)              getproperty(0,%0) #define varSet(%0,%1)           setproperty(0, %0, %1) main() {     print("\n---------------------------------------");     print("Game mode "#NOME_SERVIDOR" iniciado \n");     print("---------------------------------------\n");     SetGameModeText("Diversão Total 0.1a");     SendRconCommand("hostname "#NOME_SERVIDOR); } public OnPlayerConnect(playerid) {     SendClientMessage(playerid, COR_VERDE, "===================================================");     SendClientMessage(playerid, COR_BRANCO, "              Bem vindo ao "#NOME_SERVIDOR);     SendClientMessage(playerid, COR_BRANCO, "         Modo de jogo criado por Bruno da Silva");     SendClientMessage(playerid, COR_BRANCO, "         Acesse meu site www.brunodasilva.com.br");     SendClientMessage(playerid, COR_VERDE, "===================================================");     SendClientMessage(playerid, COR_AZULCLARO, FormattedMessage(" ** Bem vindo ao servidor, %s! Obedeça as /regras", GetPlayerNick(playerid)));     GameTextForPlayer(playerid, #NOME_SERVIDOR, 3000, 6);     SendDeathMessage(playerid, -1, 200);     return ReadPlayerFile(playerid); } public OnPlayerText(playerid, text[]) {     SendPlayerMessageToAll(playerid, FormattedMessage("{66FF00}(%d): {66FF00}%s", playerid, text));     return false; } public OnPlayerRequestClass(playerid, classid) {     SetPlayerPos(playerid,1025.5751,-2140.7637,39.2032);     SetPlayerCameraPos(playerid,1019.7552,-2141.0266,37.7274);     SetPlayerCameraLookAt(playerid,1021.9974,-2140.9907,38.3012);     SetPlayerFacingAngle(playerid, 82.6125);     ApplyAnimation(playerid,"DANCING","DAN_LOOP_A",4.0,1,0,0,0,-1);     return 1; } public OnPlayerDisconnect(playerid, reason) {     switch(reason)     {         case 0: SendClientMessageToAll(COR_CINZA, FormattedMessage("[Info] %s saiu do servidor (Conexão lenta, crash)", GetPlayerNick(playerid)));         case 1: SendClientMessageToAll(COR_CINZA, FormattedMessage("[Info] %s saiu do servidor (Conta Própria)", GetPlayerNick(playerid)));         case 2: SendClientMessageToAll(COR_CINZA, FormattedMessage("[Info] %s saiu do servidor (Retirado por Admnistrador)", GetPlayerNick(playerid)));     }     SendDeathMessage(playerid, -1, 201);     return true; } public OnPlayerSpawn(playerid) {     //     // Dar armas para jogadores que nascem     //     GivePlayerWeapon(playerid, 04, 0000);     GivePlayerWeapon(playerid, 16, 0005);     GivePlayerWeapon(playerid, 24, 0300);     GivePlayerWeapon(playerid, 26, 0500);     GivePlayerWeapon(playerid, 31, 0600);     GivePlayerWeapon(playerid, 32, 4500);     GivePlayerWeapon(playerid, 34, 0050);     GivePlayerWeapon(playerid, 46, 0001);     //     // Dar colete vida e dinheiro     //     GivePlayerMoney(playerid, 1000);     SetPlayerHealth(playerid, 100.0);     SetPlayerArmour(playerid, 100.0);     PlayerPlaySound( playerid, 1098, 0.0, 0.0, 0.0);     return true; } public OnPlayerDeath(playerid, killerid, reason) {     GameTextForPlayer(playerid, "Voce esta ~r~morto", 2500, 5);     if(IsPlayerConnected(killerid) && killerid != INVALID_PLAYER_ID) {         //         // Dar dinheiro e vida para quem mata         //         GivePlayerMoney(killerid, GetPlayerMoney(playerid));         SetPlayerHealth(playerid, 100.0);         // Enviar chat-kill         SendDeathMessage(killerid, playerid, reason);         // Registrar variáveis em tempo real         SetPVarInt(killerid, "Kills" ,  GetPVarInt(killerid, "Kills") +1);         SetPVarInt(playerid, "Deaths",  GetPVarInt(playerid, "Deaths")+1);         SetPVarInt(killerid, "Money" ,  GetPlayerMoney(killerid));         SetPlayerScore(killerid, GetPlayerScore(killerid) + 3);         // Abrir conta de jogador KILLERID         FormattedMessage("contas/%s.ini", GetPlayerNick(killerid));         INI_WriteInt(szFormat,      "Score",    GetPlayerScore(killerid));         INI_WriteInt(szFormat,      "Kills",    GetPVarInt(killerid, "Kills"));         INI_WriteInt(szFormat,      "Deaths",   GetPVarInt(killerid, "Death"));         INI_WriteInt(szFormat,      "Money",    GetPVarInt(killerid, "Money"));         INI_Save();         // Abrir conta de jogador PLAYERID         FormattedMessage("contas/%s.ini", GetPlayerNick(playerid));         INI_WriteInt(szFormat,      "Score",    GetPlayerScore(playerid));         INI_WriteInt(szFormat,      "Kills",    GetPVarInt(playerid, "Kills"));         INI_WriteInt(szFormat,      "Deaths",   GetPVarInt(playerid, "Death"));         INI_WriteInt(szFormat,      "Money",    GetPVarInt(playerid, "Money"));         INI_Save();     }     //     // Tirar dinheiro de quem morre     //     ResetPlayerMoney(playerid);     SetPVarInt(playerid, "Money",  0);     SetPVarInt(playerid, "morrendo", 0);     return true; } public OnGameModeInit() {         ShowPlayerMarkers(PLAYER_MARKERS_MODE_GLOBAL);         ShowNameTags(1);         SetNameTagDrawDistance(140.0);         EnableStuntBonusForAll(0);         DisableInteriorEnterExits();         SetWeather(2);         SetWorldTime(11);         // ManualVehicleEngineAndLights();         LimitGlobalChatRadius(300.0);         AddPlayerClass(0,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(266,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(267,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(268,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(269,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(270,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(271,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(272,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(280,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(281,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(282,1958.3783,1343.1572,15.3746,270.1425,0,0,24,300,-1,-1);         AddPlayerClass(283,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(284,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(285,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(286,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(287,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(254,1958.3783,1343.1572,15.3746,0.0,0,0,24,300,-1,-1);         AddPlayerClass(255,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(256,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(257,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(258,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(259,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(260,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(261,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(262,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(263,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(264,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(274,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(275,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(276,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(1,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(2,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(290,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(291,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(292,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(293,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(294,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(295,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(296,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(297,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(298,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(299,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(277,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(278,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(279,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(288,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(47,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(48,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(49,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(50,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(51,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(52,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(53,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(54,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(55,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(56,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(57,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(58,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(59,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(60,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(61,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(62,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(63,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(64,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(66,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(67,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(68,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(69,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(70,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(71,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(72,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(73,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(75,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(76,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(78,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(79,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(80,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(81,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(82,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(83,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(84,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(85,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(87,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(88,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(89,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(91,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(92,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(93,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(95,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(96,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(97,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(98,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(99,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(100,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(101,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(102,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(103,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(104,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(105,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(106,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(107,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(108,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(109,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(110,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(111,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(112,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(113,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(114,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(115,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(116,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(117,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(118,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(120,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(121,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(122,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(123,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(124,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(125,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(126,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(127,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(128,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(129,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(131,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(133,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(134,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(135,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(136,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(137,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(138,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(139,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(140,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(141,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(142,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(143,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(144,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(145,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(146,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(147,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(148,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(150,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(151,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(152,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(153,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(154,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(155,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(156,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(157,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(158,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(159,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(160,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(161,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(162,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(163,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(164,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(165,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(166,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(167,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(168,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(169,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(170,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(171,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(172,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(173,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(174,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(175,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(176,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(177,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(178,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(179,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(180,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(181,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(182,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(183,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(184,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(185,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(186,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(187,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(188,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(189,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(190,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(191,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(192,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(193,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(194,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(195,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(196,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(197,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(198,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(199,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(200,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(201,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(202,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(203,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(204,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(205,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(206,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(207,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(209,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(210,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(211,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(212,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(213,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(214,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(215,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(216,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(217,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(218,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(219,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(220,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(221,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(222,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(223,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(224,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(225,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(226,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(227,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(228,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(229,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(230,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(231,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(232,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(233,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(234,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(235,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(236,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(237,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(238,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(239,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(240,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(241,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(242,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(243,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(244,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(245,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(246,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(247,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(248,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(249,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(250,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(251,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         AddPlayerClass(253,1958.3783,1343.1572,15.3746,269.1425,0,0,24,300,-1,-1);         return true; } public OnPlayerCommandText(playerid,cmdtext[]) {     if(!GetPVarInt(playerid, "Logado")) {         SendClientMessage(playerid, COR_VERMELHA, "[Erro] Você ainda não está logado para digitar comandos");         return true;     }     // Morrer     if (!strcmp("/morrer", cmdtext, false)) {             SendClientMessage(playerid, COR_SYSTEM, "[Info] Você morrerá em 10 segundos");             SetTimerEx("matarJogador", 10000, false, "i", playerid);             SetPVarInt(playerid, "morrendo", 1);             return true;     }     // Sincronizar     if(!strcmp(cmdtext, "/desbug", false)) {         static             Float:Px = 0.000000,             Float:Py = 0.000000,             Float:Pz = 0.000000,             Float:Pa = 0.000000         ;         GetPlayerPos(playerid, Px, Py, Pz);         GetPlayerFacingAngle(playerid, Pa);         RemovePlayerFromVehicle(playerid);         SetPlayerPos(playerid, Px, Py, (Pz+3));         SetPlayerFacingAngle(playerid, Pa);         TogglePlayerControllable(playerid, true);         return true;     }     // Animações     if (!strcmp("/animes", cmdtext, false)) {         SendClientMessage(playerid, COR_VERDE, "=================== [ Animações do Servidor ] ====================================");         SendClientMessage(playerid, COR_BRANCO, "/punheta - /peidar - /bebado - /vomitar - /bomba - /prendendo - /preso");         SendClientMessage(playerid, COR_BRANCO, "/risadas - /fumar  - /deitar - /tapinha - /ascenar - /negociar - /beijar - /crack");         SendClientMessage(playerid, COR_BRANCO, "/mijar - /sentar - /xingar - /strip - /falar /dancar - /renderse - /ligar - /desligar");         SendClientMessage(playerid, COR_BRANCO, "Para parar as animações travadas digite /parar. As vezes necessita digitar mais de uma vez.");         SendClientMessage(playerid, COR_VERDE, "===================================================================================");         return true;     }     // Animes     if(!strcmp("/parar", cmdtext, false)) {         ClearAnimations(playerid);         return true;     }     if(!strcmp("/ligar", cmdtext, false)) {         SetPlayerSpecialAction(playerid, 11);         return true;     }     if(!strcmp("/desligar", cmdtext, false)) {         SetPlayerSpecialAction(playerid, 13);         return true;     }     if (!strcmp(cmdtext, "/punheta", false)){         ApplyAnimation(playerid,"PAULNMAC", "wank_loop", 1.800001, 1, 0, 0, 1, 600);         return true;     }     if(!strcmp("/peidar", cmdtext, false)) {         ApplyAnimation(playerid,"FINALE","FIN_Land_Car",4.1,0,1,1,1,1);         return true;     }     if(!strcmp("/bebado", cmdtext, false)) {         ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.0, 1, 1, 1, 1, 0);         return true;     }     if(!strcmp("/vomitar", cmdtext, false)) {         ApplyAnimation(playerid, "FOOD", "EAT_Vomit_P", 3.0, 0, 0, 0, 0, 0);         return true;     }     if (!strcmp("/bomba", cmdtext, false))  {           ApplyAnimation(playerid, "BOMBER", "BOM_Plant", 4.0, 0, 0, 0, 0, 0);           return true;     }     if(!strcmp("/prendendo", cmdtext, true)) {           ApplyAnimation(playerid, "POLICE", "plc_drgbst_01", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/preso", cmdtext, false)) {           ApplyAnimation(playerid, "POLICE", "crm_drgbst_01", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/risadas", cmdtext, false))    {           ApplyAnimation(playerid, "RAPPING", "Laugh_01", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/fumar", cmdtext, false))  {           ApplyAnimation(playerid, "SWEET", "Sweet_injuredloop", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/deitar", cmdtext, false)) {           ApplyAnimation(playerid,"BEACH", "bather", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/tapinha", cmdtext, false)) {           ApplyAnimation(playerid, "SWEET", "sweet_ass_slap", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/ascenar", cmdtext, false)) {           ApplyAnimation(playerid, "KISSING", "BD_GF_Wave", 3.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/negociar", cmdtext, false)) {           ApplyAnimation(playerid, "DEALER", "DEALER_DEAL", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/beijar", cmdtext, false)) {           ApplyAnimation(playerid, "KISSING", "Playa_Kiss_02", 3.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/crack", cmdtext, false)) {           ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/mijar", cmdtext, false)) {           ApplyAnimation(playerid, "PAULNMAC", "Piss_in", 3.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/sentar", cmdtext, false)) {           ApplyAnimation(playerid,"BEACH", "ParkSit_M_loop", 4.0, 0, 0, 0, 0, 0);           return true;     }     if (!strcmp("/xingar", cmdtext, false)) {           ApplyAnimation( playerid,"ped", "fucku", 4.1, 0, 1, 1, 1, 1 );           return true;     }     if (!strcmp("/strip", cmdtext, false)) {           ApplyAnimation( playerid,"STRIP", "strip_D", 4.1, 0, 1, 1, 1, 1 );           return true;     }     if (!strcmp("/falar", cmdtext, false)) {           ApplyAnimation(playerid,"PED","IDLE_CHAT",4.1,0,1,1,1,1);           return true;     }     if (!strcmp("/dancar", cmdtext, false)) {           SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);           return true;     }     if(!strcmp(cmdtext, "/renderse", true))  {           ClearAnimations(playerid);           SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);           return true;     }     if(!strcmp("/rap", cmdtext, false)) {         ApplyAnimation(playerid, "ON_LOOKERS", "wave_loop", 4.0, 1, 0, 0, 0, 0);         return true;     }     // Nicks ON/OFF     if (!strcmp("/nickoff", cmdtext, false)) {         for(new i = 0; i < MAX_PLAYERS; i++) {             ShowPlayerNameTagForPlayer(playerid, i, true);         }         GameTextForPlayer(playerid, "~W~Nicks ~R~Ativados", 5000, 5);         return true;     }     if (!strcmp("/nickoff", cmdtext, false)) {         for(new i = 0; i < MAX_PLAYERS; i++) {             ShowPlayerNameTagForPlayer(playerid, i, false);         }         GameTextForPlayer(playerid, "~W~Nicks ~R~Desativados", 5000, 5);         return true;     }     return SendClientMessage(playerid, COR_VERMELHA, "[Erro] O comando digitado não existe"); } public OnPlayerUpdate(playerid) {     if(!IsPlayerConnected(playerid)) return false;     if(IsPlayerNPC(playerid)) return true;     //     // Não permitir arma em interiores     //     if(GetPlayerInterior(playerid) && GetPlayerWeapon(playerid)) {         return SetPlayerArmedWeapon(playerid, 0), true;     }     //     // Não permitir armas hacking no servidor     //     switch(GetPlayerWeapon(playerid)) {         case armas_proibidas: {             SendClientMessageToAll(COR_VERMELHA, FormattedMessage("[Admin] %s foi banido por usar armas proibidas", GetPlayerNick(playerid)));             return BanEx(playerid, "Weapon Hacking");         }     }     //     // Aplicar animação ao morrer     //     if(GetPVarInt(playerid, "morrendo")) {         ApplyAnimation(playerid, "CRACK", "crckdeth2", 4.0, 0, 0, 0, 0, 0);     }     return true; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {     //     // Dialog Login Aqui     // Nesta parte recebe-se a senha digitada ao login     //     if(dialogid == DIALOG_LOGIN) {         if(!response) {             SendClientMessageToAll(COR_VERMELHA, FormattedMessage("[Admin] %s foi retirado do servidor por não responder adequdamente a autenticação", GetPlayerNick(playerid)));             return Kick(playerid);         }         if(!strcmp(INI_ReadString(FormattedMessage("contas/%s.ini", GetPlayerNick(playerid)), "Senha"), inputtext, false)) {             //             // Aqui após o jogador ser autenticado.             //             SetPVarInt(playerid, "Logado", 1);         }         else {             return ShowPlayerDialog(playerid,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Autenticar Conta"," Bem vindo ao servidor "#NOME_SERVIDOR#"\nAutentique sua senha:","Autenticar","Cancelar");         }         return true;     }     //     // Dialog Registro Aqui     // Nesta parte recebe-se a senha digitada ao registro     //     if(dialogid == DIALOG_REGISTER) {         if(!response) {             SendClientMessageToAll(COR_VERMELHA, FormattedMessage("[Admin] %s foi retirado do servidor por não responder adequdamente o registro", GetPlayerNick(playerid)));             return Kick(playerid);         }         if(strlen(inputtext) < min_pass || strlen(inputtext) > max_pass || !IsValidString(inputtext)) {             SendClientMessage(playerid, COR_VERMELHA, "[Erro] Sua mensagem deve conter entre 3 e 15 caracteres válidos");             return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD, "Registrar","Digite uma senha para obter um registro","Confirmar", "Sair");         }         FormattedMessage("contas/%s.ini", GetPlayerNick(playerid));         INI_Create(szFormat);         INI_WriteString(szFormat,   "Senha",    inputtext);         INI_WriteInt(szFormat,      "Score",    0);         INI_WriteInt(szFormat,      "Kills",    0);         INI_WriteInt(szFormat,      "Deaths",   0);         INI_WriteInt(szFormat,      "Money",    0);         INI_Save();         //         // Após registrar. Colocar variáveis         //         SetPVarInt(playerid, "Logado", 1);         SetPVarString(playerid, "Senha", inputtext);         return true;     }     return true; } public OnGameModeExit() {     INI_Exit();     return true; } // =============== [ Funções ] =========================================== ReadPlayerFile(id) {     if(fexist(FormattedMessage("contas/%s.ini", GetPlayerNick(id)))) {         ShowPlayerDialog(id,DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Autenticar Conta"," Bem vindo ao servidor "#NOME_SERVIDOR#"\nAutentique sua senha:","Autenticar","Cancelar");     }     else {         ShowPlayerDialog(id,DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Registrar Conta"," Bem vindo ao servidor "#NOME_SERVIDOR#"\nRegistre sua senha:",  "Registrar","Cancelar");     }     return true; } // == [ Matar após x tempo ] == forward matarJogador(id); public matarJogador(id) {     return SetPlayerHealth(id, 0.0); } IsValidString(string[]) {     for(new i; string[i]; ++i) {         if(!IsAlphaNum(string[i])) {             return false;         }     }     return true; } IsValidSkin(SkinID) {     return 300 > SkinID > -1; } GetPlayerNick(id) {     static szName[MAX_PLAYER_NAME];     return GetPlayerName(id, szName, MAX_PLAYER_NAME), szName; }

Esta bastante otimizado. Bem organizado e tabulado. Também provavelmente terá atualizações neste mode, até que ele fique um DeathMatch razoável.

** Não utilizei processador de comandos por não usar comandos especiais.



Espero que gostem!