SHOW:
|
|
- or go back to the newest paste.
| 1 | /* | |
| 2 | ||
| 3 | FS LL-ADMIN | |
| 4 | BY LUCAS_ALEMAO (LUCAS LESSA) | |
| 5 | ||
| 6 | ZCMD By ZeeX | |
| 7 | SSCANF By Y_Less | |
| 8 | ||
| 9 | ||
| 10 | Agradecimentos: | |
| 11 | Jim._.Carrey | |
| 12 | Los (funções de Log) | |
| 13 | [STR]Matrix (Idéias de comandos) | |
| 14 | Panico_ONCrew (Idéias de comandos) | |
| 15 | ||
| 16 | Não retire os Créditos!! | |
| 17 | ||
| 18 | Inicio do Script: 04/02/2012 | |
| 19 | Final do Script: 11/02/2012 | |
| 20 | ||
| 21 | ||
| 22 | Falta fazer: OnPlayerClickPlayer | |
| 23 | ||
| 24 | - Nova interface de Registro e Login. | |
| 25 | - Novo sistema de gravação de Admin, Helper e VIP. Chega de bugs. | |
| 26 | - Função adicionada para não dar conflito com seu GM no sistema de registro. | |
| 27 | - Anti-Divulguer. | |
| 28 | - Anti-Bot. | |
| 29 | - Anti-Weapon Hack. | |
| 30 | - Anti-High Ping. | |
| 31 | - Agora temos HQ de admin (opcional). | |
| 32 | °Portão movel (/portaoadm) | |
| 33 | °Varios objetos. | |
| 34 | °Carros exclusivos para admin | |
| 35 | - OnPlayerDisconnect otimizado. | |
| 36 | - Em vez de usar os comandos /jogar e /trabalhar, use apenas /servico. Os comandos | |
| 37 | /jogar e /trabalhar não foram excluidos, eles ainda funcionam normalmente. | |
| 38 | - SSCANF adicionado no FS. Chega de conflitos. | |
| 39 | - Corrigido bug de morrer e perder admin. | |
| 40 | - Sistema de Disfarce: | |
| 41 | °/disfarce faz com que o Admin mude sua skin, seu nome e sua cor para ficar igual a do player | |
| 42 | que está sendo usado. | |
| 43 | °/sairdisfarce para voltar as caracteristicas originais. | |
| 44 | - Novo sistema de Logs (Agradecimentos a Los). | |
| 45 | - Novo sistema de prints. | |
| 46 | - /Relatorios agora são gravados em log. | |
| 47 | - Adicionado Sistema de Helpers: | |
| 48 | °/darhelper | |
| 49 | °/tirarhelper | |
| 50 | °/helpers | |
| 51 | °todos os comandos de helper em /la | |
| 52 | - Adicionado Sistema de Vips (opcional): | |
| 53 | °/ajudavip | |
| 54 | °/darvip | |
| 55 | °/tirarvip | |
| 56 | °/v | |
| 57 | °/kitvip | |
| 58 | °/vips | |
| 59 | °/cc | |
| 60 | °/relatorio diferenciado | |
| 61 | - Sistema de mensagens randomicas: | |
| 62 | °Adminis level 3+ podem ativa-las com /ativarmsgs ou /desativarmsgs. | |
| 63 | - Sistema de Enquetes: | |
| 64 | °Admins level 3+ podem usar /enquete para criar uma enquete. | |
| 65 | °Players usam /sim ou /nao. A enquete se encerra automaticamente em 30 segundos. | |
| 66 | - Adicionado comando /particular (todos os niveis de admin ou helper). | |
| 67 | - Sistema de musica ao conectar: | |
| 68 | °Admins level 4+ podem usar o comando /musicainicial para escolher uma musica para o player ouvir quando | |
| 69 | se conectar ao servidor. | |
| 70 | - Sistema de Foder um Jogador: | |
| 71 | °Admins nivel 4+ poderam usar o comando /foderplayer. | |
| 72 | °O Player fodido irá para o carandiru, ficará congelado, ficará mudo, e será forçado a ouvir uma musica do Restart kkkk. | |
| 73 | °Para desfode-lo vá até o arquivo Fodidos.txt e apague o IP dele da lista. | |
| 74 | - Sistema de AFK: | |
| 75 | °/afk | |
| 76 | °/sairafk | |
| 77 | °o /admins e /helpers mostra quem está online e quem está AFK. | |
| 78 | - Adicionado comando /mudarsenha (qualquer jogador). | |
| 79 | - Adicionado comando /players (todos os niveis de admin ou helper). Mostra a quantidade de players online. | |
| 80 | - Adicionado comando /limparchat (admin nivel 1+). Limpa o chat para todos os players. | |
| 81 | - Adicionado comando /tempo (admin nivel 2+). Seta o tempo para Manha/Tarde/Noite. | |
| 82 | - Adicionado comando /dargrana (admin nivel 2+). Da grana a algum player. | |
| 83 | - Adicionado comando /jetpack (admin nivel 2+). Da um Jetpack para alguem. | |
| 84 | - Adicionado comando /trazertodos (admin nivel 2+). Traz todos os jogadores até você. | |
| 85 | - Adicionado comando /moverplayer (admin nivel 2+). Move um player até outro. | |
| 86 | - Adicionado comando /resetargrana (admin nivel 3+). Reseta a grana de um jogador. | |
| 87 | - Adicionado comando /setargrana (admin nivel 3+). Seta a grana de um jogador. | |
| 88 | - Adicionado comando /resetar (admin nivel 4+). Reseta Absolutamente todos os dados da conta de um player. | |
| 89 | - Adicionado comando /versenha (admin nivel 5). Mostra a senha de um jogador para o admin. | |
| 90 | - Adicionado comando /setaradmin (admin nivel 5). Seta o admin de um player, independente de ele aceitar ou não | |
| 91 | - Adicionado comando /trancarserver (admin nivel 5). Tranca o server com uma senha. | |
| 92 | - Adicionado comando /destrancarserver (admin nivel 5). Destranca o server. | |
| 93 | - Adicionado comando /seradmin (admin RCON). Vira admin nivel 5. | |
| 94 | ||
| 95 | - ORDEM DE PRINT - | |
| 96 | ||
| 97 | Pasta Logs; | |
| 98 | Pasta Banidos; | |
| 99 | Pasta Banidos/Contas; | |
| 100 | Arquivo Fodidos.txt; | |
| 101 | Arquivo Admins.adm; | |
| 102 | Arquivo Helpers.hel; | |
| 103 | Arquivo Vips.vip; | |
| 104 | Pasta Contas; | |
| 105 | ||
| 106 | Se seu samp-server abrir e fechar rapido, abra o server_log e veja qual foi a ultima pasta verificada. | |
| 107 | a pasta depois dela, seguindo a ordem de cima, é a que está faltando. | |
| 108 | ||
| 109 | */ | |
| 110 | ||
| 111 | /* INCLUDES */ | |
| 112 | #include a_samp | |
| 113 | #include zcmd | |
| 114 | #include dof2 | |
| 115 | ||
| 116 | /* DEIXE A SEU FAVOR */ | |
| 117 | ||
| 118 | //SE QUISER USAR O SISTEMA DE REGISTRO DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0 | |
| 119 | #define USAR_SISTEMA_REGISTRO 1 | |
| 120 | ||
| 121 | //SE QUISER UASR O SISTEMA DE VIP DO FS DEIXE 1, SE NÃO QUISER COLOQUE 0 | |
| 122 | #define USAR_SISTEMA_VIP 1 | |
| 123 | ||
| 124 | //SE QUISER USAR UM TEXTDRAW DE FUNDO DEIXE 1, SE NÃO QUISER COLOQUE 0 | |
| 125 | #define USAR_TEXT 1 | |
| 126 | ||
| 127 | //SE QUISER QUE OS ADMINS SPAWNEM NA HQ DEIXE 1, SE NÃO QUISER COLOQUE 0 | |
| 128 | #define SPAWNAR_HQ 1 | |
| 129 | ||
| 130 | //SE DESEJA QUE APAREÇA [ADM] ANTES DO NICK DOS ADMINS NO CHAT DEIXE 1, SE NÃO QUISER COLOQUE 0 | |
| 131 | #define DESTAQUE_ADMINS 1 | |
| 132 | ||
| 133 | //DEFINA ABAIXO O PING MAXIMO PARA OS JOGADORES DO SEU SERVER | |
| 134 | #define MAX_PING 500 | |
| 135 | ||
| 136 | ||
| 137 | /* MACROS */ | |
| 138 | #define MensagemFormatadaParaTodos(%0,%1,%2); format(String, sizeof(String), %1, %2); SendClientMessageToAll(%0, String); | |
| 139 | #define MensagemFormatada(%0,%1,%2); format(String, sizeof(String), %1, %2); SendClientMessage(playerid, %0, String); | |
| 140 | #define SetarDado(%0,%1,%2); PlayerDados[%0][%1] = %2; SalvarDados(%0); | |
| 141 | #define GetarDado(%0,%1) PlayerDados[%0][%1] | |
| 142 | #define Loop(%0,%1) for(new %0 = 0; %0 < %1; ++%0) | |
| 143 | ||
| 144 | #define Msg SendClientMessage | |
| 145 | #define MsgAll SendClientMessageToAll | |
| 146 | #define LogExistir fexist | |
| 147 | ||
| 148 | /* CORES */ | |
| 149 | #define VERDE 0x21DD00FF | |
| 150 | #define VERMELHO 0xFF030FFF | |
| 151 | #define VERMELHO_ESCURO 0xE60000FF | |
| 152 | #define VERMELHO_CLARO 0xFB0000FF | |
| 153 | #define AMARELO 0xFFFF00FF | |
| 154 | #define LARANJA 0xF97804FF | |
| 155 | #define AZUL_CLARO 0x00C2ECFF | |
| 156 | #define ROXO 0xB360FDFF | |
| 157 | #define BRANCO 0xFFFFFFFF | |
| 158 | #define PRETO 0x000000FF | |
| 159 | #define AZUL 0x1229FAFF | |
| 160 | #define VERDE_CLARO 0x38FF06FF | |
| 161 | #define ROSA_CHOQUE 0xE100E1FF | |
| 162 | #define VERDE_ESCURO 0x008040FF | |
| 163 | #define CINZA 0xCECECEFF | |
| 164 | #define ROSA 0xD52DFFFF | |
| 165 | #define CINZA_ESCURO 0x626262FF | |
| 166 | #define VERDE_AGUA 0x03D687FF | |
| 167 | ||
| 168 | /* DIALOGS */ | |
| 169 | #define DIALOG_REGISTRO 4672 | |
| 170 | #define DIALOG_LOGIN 4673 | |
| 171 | #define DIALOG_BANIDO 4674 | |
| 172 | #define DIALOG_IPS 4675 | |
| 173 | #define DIALOG_INFO 4676 | |
| 174 | #define DIALOG_AL 4677 | |
| 175 | #define DIALOG_ADM 4678 | |
| 176 | #define DIALOG_HELPER 4679 | |
| 177 | #define DIALOG_MUSICAS 4680 | |
| 178 | #define DIALOG_SENHANOVA 4681 | |
| 179 | #define DIALOG_FORCAR 4682 | |
| 180 | #define DIALOG_AJUDAV 4683 | |
| 181 | ||
| 182 | /* FORWARDS */ | |
| 183 | forward TempoPreso(playerid); | |
| 184 | forward VerificarPreso(playerid); | |
| 185 | forward NomeCarro(playerid); | |
| 186 | forward LiberarKit(playerid); | |
| 187 | forward MensagensRandom(); | |
| 188 | forward FecharEnquete(); | |
| 189 | forward TocarSom(playerid); | |
| 190 | forward CriarLogs(); | |
| 191 | forward ImprimirInformacoes(); | |
| 192 | forward VerificarPasta(pasta[]); | |
| 193 | forward VerificarArquivo(arquivo[]); | |
| 194 | forward FoderSpawn(playerid); | |
| 195 | forward DiminuirTempo(); | |
| 196 | forward FecharPortao(); | |
| 197 | forward NovoSpawn(playerid); | |
| 198 | forward EnviarMsgHack(playerid); | |
| 199 | ||
| 200 | enum pInfo | |
| 201 | {
| |
| 202 | Senha, | |
| 203 | Matou, | |
| 204 | Morreu, | |
| 205 | Admin, | |
| 206 | bool:Helper, | |
| 207 | Advertencias, | |
| 208 | Preso, | |
| 209 | bool:Congelado, | |
| 210 | bool:Assistindo, | |
| 211 | bool:Trabalhando, | |
| 212 | bool:Calado, | |
| 213 | bool:Invisivel, | |
| 214 | bool:Logado, | |
| 215 | bool:Vip, | |
| 216 | bool:PegouKit, | |
| 217 | bool:Afk, | |
| 218 | bool:Disfarcado | |
| 219 | } | |
| 220 | ||
| 221 | enum eEnquete | |
| 222 | {
| |
| 223 | bool:Criada, | |
| 224 | VotoSim, | |
| 225 | VotoNao, | |
| 226 | Titulo[128] | |
| 227 | } | |
| 228 | ||
| 229 | /* VARIAVEIS E ARRAYS */ | |
| 230 | new PlayerDados[MAX_PLAYERS][pInfo]; | |
| 231 | new String[256]; | |
| 232 | new StringContas[256]; | |
| 233 | new ID; | |
| 234 | new AdminNivel[50]; | |
| 235 | new AdminTrabalhando[50]; | |
| 236 | new Dia, Mes, Ano, Hora, Minuto, Segundo; | |
| 237 | new CarrosCriados[100]; | |
| 238 | new TodosCarros = 0; | |
| 239 | new Barris[100]; | |
| 240 | new tBarris = 0; | |
| 241 | new TimerPreso; | |
| 242 | new nivel; | |
| 243 | new TimerKit; | |
| 244 | new TimerMsgs; | |
| 245 | new TimerCont; | |
| 246 | new CarroDono[MAX_PLAYERS]; | |
| 247 | new Text3D:DonoCarro[MAX_PLAYERS]; | |
| 248 | new PlayersOnline = 0; | |
| 249 | new Enquete[eEnquete]; | |
| 250 | new MusicaInicial[256]; | |
| 251 | new time; | |
| 252 | new PortaoHQ; | |
| 253 | new CarrosAdm[14]; | |
| 254 | new bool:ServerTrancado; | |
| 255 | new bool:MsgHack[MAX_PLAYERS]; | |
| 256 | new NomeOriginal[MAX_PLAYERS][30]; | |
| 257 | ||
| 258 | new Mensagens[][] = {
| |
| 259 | "Você faz parte do servidor, chame seus amigos para jogarem aqui :D", | |
| 260 | "Caso tenha dúvida chame um admin, use /relatorio", | |
| 261 | "Use /ajuda para conhecer os comandos.", | |
| 262 | "Se você for vip use /ajudavip para ver seus comandos.", | |
| 263 | "para ver os admins online use /admins, /helpers para ver os Helpers." | |
| 264 | }; | |
| 265 | ||
| 266 | new Musica[5][256] = {
| |
| 267 | "nada", | |
| 268 | "http://dc346.4shared.com/img/644772952/4e7e79b6/dlink__2Fdownload_2Fo0ojFABE_3Ftsid_3D20120321-013313-69c1bb08/preview.mp3",//sweet | |
| 269 | "http://dc427.4shared.com/img/965797774/2cb01e40/dlink__2Fdownload_2Foxa0xbKh_3Ftsid_3D20120321-013455-11ae6783/preview.mp3",//feel so close | |
| 270 | "http://dc382.4shared.com/img/601537173/5cb8acbe/dlink__2Fdownload_2FtzgMp7lR_3Ftsid_3D20120321-013602-155261ac/preview.mp3",//memories | |
| 271 | "http://dc342.4shared.com/img/567562876/400f1c84/dlink__2Fdownload_2Fa4gw9qih_3Ftsid_3D20120321-013700-7cc7c36a/preview.mp3"//open bar | |
| 272 | }; | |
| 273 | ||
| 274 | new Cores[][] = {
| |
| 275 | "{1BE01B}",
| |
| 276 | "{038003}",
| |
| 277 | "{0CF50C}",
| |
| 278 | "{F5180C}",
| |
| 279 | "{0C8CF5}",
| |
| 280 | "{0C2BF5}",
| |
| 281 | "{0CBBF5}",
| |
| 282 | "{F5F50C}",
| |
| 283 | "{DEDE04}",
| |
| 284 | "{FC9E05}",
| |
| 285 | "{FFFFFF}",
| |
| 286 | "{FF05F7}",
| |
| 287 | "{990594}",
| |
| 288 | "{9C9C9C}",
| |
| 289 | "{14C9C9}",
| |
| 290 | "{05E6AD}",
| |
| 291 | "{E67D05}",
| |
| 292 | "{6B6B6B}"
| |
| 293 | }; | |
| 294 | ||
| 295 | #if USAR_TEXT == 1 | |
| 296 | new Text:Inicio[MAX_PLAYERS]; | |
| 297 | #endif | |
| 298 | ||
| 299 | public OnFilterScriptInit() | |
| 300 | {
| |
| 301 | CarrosAdm[0] = CreateVehicle(432,2179.80004883,1857.69995117,10.89999962,0.00000000,-1,-1,15); | |
| 302 | CarrosAdm[1] = CreateVehicle(601,2185.30004883,1857.50000000,10.80000019,0.00000000,-1,-1,15); | |
| 303 | CarrosAdm[2] = CreateVehicle(402,2188.80004883,1856.59997559,10.80000019,0.00000000,-1,-1,15); | |
| 304 | CarrosAdm[3] = CreateVehicle(411,2192.39990234,1856.80004883,10.60000038,0.00000000,-1,-1,15); | |
| 305 | CarrosAdm[4] = CreateVehicle(415,2196.19995117,1856.69995117,10.69999981,0.00000000,-1,-1,15); | |
| 306 | CarrosAdm[5] = CreateVehicle(429,2199.89990234,1856.80004883,10.60000038,0.00000000,-1,-1,15); | |
| 307 | CarrosAdm[6] = CreateVehicle(451,2179.69995117,1878.59997559,10.60000038,180.00000000,-1,-1,15); | |
| 308 | CarrosAdm[7] = CreateVehicle(477,2183.30004883,1878.50000000,10.69999981,180.00000000,-1,-1,15); | |
| 309 | CarrosAdm[8] = CreateVehicle(506,2187.50000000,1878.30004883,10.60000038,180.00000000,-1,-1,15); | |
| 310 | CarrosAdm[9] = CreateVehicle(541,2191.50000000,1878.59997559,10.50000000,180.00000000,-1,-1,15); | |
| 311 | CarrosAdm[10] = CreateVehicle(562,2195.30004883,1878.69995117,10.60000038,180.00000000,-1,-1,15); | |
| 312 | CarrosAdm[11] = CreateVehicle(565,2199.30004883,1878.59997559,10.50000000,180.00000000,-1,-1,15); | |
| 313 | CarrosAdm[12] = CreateVehicle(534,2202.80004883,1878.50000000,10.60000038,180.00000000,-1,-1,15); | |
| 314 | CarrosAdm[13] = CreateVehicle(535,2206.50000000,1878.90002441,10.69999981,180.00000000,-1,-1,15); | |
| 315 | CreateObject(980,2231.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 316 | CreateObject(980,2220.10009766,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 317 | CreateObject(980,2208.80004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 318 | CreateObject(980,2197.50000000,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 319 | CreateObject(980,2186.30004883,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 320 | CreateObject(980,2174.89990234,1882.80004883,13.10000038,0.00000000,0.00000000,0.00000000); | |
| 321 | CreateObject(980,2169.10009766,1877.19995117,13.10000038,0.00000000,0.00000000,90.00000000); | |
| 322 | CreateObject(980,2169.10009766,1866.30004883,13.10000038,0.00000000,0.00000000,90.00000000); | |
| 323 | CreateObject(980,2169.10009766,1862.50000000,13.10000038,0.00000000,0.00000000,90.00000000); | |
| 324 | CreateObject(980,2169.10009766,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); | |
| 325 | CreateObject(980,2179.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); | |
| 326 | CreateObject(980,2189.89990234,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); | |
| 327 | CreateObject(980,2199.00000000,1841.09997559,12.80000019,0.00000000,0.00000000,0.00000000); | |
| 328 | CreateObject(980,2169.10009766,1861.19995117,13.19999981,0.00000000,0.00000000,96.00000000); | |
| 329 | CreateObject(980,2169.89990234,1859.69995117,12.60000038,0.00000000,0.00000000,99.99853516); | |
| 330 | CreateObject(980,2171.30004883,1856.80004883,12.80000019,0.00000000,0.00000000,115.99755859); | |
| 331 | CreateObject(980,2172.50000000,1855.40002441,12.80000019,0.00000000,0.00000000,133.99362183); | |
| 332 | CreateObject(980,2181.30004883,1851.09997559,13.10000038,0.00000000,0.00000000,180.00000000); | |
| 333 | CreateObject(980,2191.39990234,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684); | |
| 334 | CreateObject(980,2198.69995117,1851.09997559,13.10000038,0.00000000,0.00000000,179.99450684); | |
| 335 | CreateObject(980,2205.10009766,1835.80004883,12.60000038,0.00000000,0.00000000,272.00000000); | |
| 336 | CreateObject(980,2205.39990234,1826.00000000,12.60000038,0.00000000,0.00000000,271.99951172); | |
| 337 | CreateObject(980,2222.00000000,1820.59997559,12.60000038,0.00000000,0.00000000,177.99951172); | |
| 338 | CreateObject(980,2211.19995117,1821.00000000,12.60000038,0.00000000,0.00000000,177.99499512); | |
| 339 | CreateObject(980,2242.89990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 340 | CreateObject(980,2254.10009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 341 | CreateObject(980,2265.39990234,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 342 | CreateObject(980,2276.60009766,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 343 | CreateObject(980,2287.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 344 | CreateObject(980,2297.69995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 345 | CreateObject(980,2308.19995117,1882.59997559,16.39999962,0.00000000,0.00000000,0.00000000); | |
| 346 | PortaoHQ = CreateObject(980,2204.39990234,1846.00000000,12.60000038,0.00000000,0.00000000,91.99951172); | |
| 347 | Create3DTextLabel("{25E01B}Admins usem {04C4C4}/PortaoAdm",-1, 2207.8176,1853.0674,10.8203, 15, 0, 0);
| |
| 348 | SetTimer("ImprimirInformacoes", 40, false);
| |
| 349 | return 1; | |
| 350 | } | |
| 351 | ||
| 352 | public ImprimirInformacoes() | |
| 353 | {
| |
| 354 | print("\n________________________________________________");
| |
| 355 | print("\n\nCarregando LL Admin V1.5 By Lucas_Alemao...\n");
| |
| 356 | VerificarPasta("Logs");
| |
| 357 | CriarLogs(); | |
| 358 | VerificarPasta("Banidos");
| |
| 359 | VerificarPasta("Banidos/Contas");
| |
| 360 | VerificarArquivo("Fodidos.txt");
| |
| 361 | VerificarArquivo("Admins.adm");
| |
| 362 | VerificarArquivo("Helpers.hel");
| |
| 363 | VerificarArquivo("Vips.vip");
| |
| 364 | VerificarPasta("Contas");
| |
| 365 | print("\nLL Admin V1.5 Carregado com sucesso.\n");
| |
| 366 | print("\nUse /la para ajuda.");
| |
| 367 | print("Bom Jogo :D\n\n");
| |
| 368 | print("________________________________________________");
| |
| 369 | return 1; | |
| 370 | } | |
| 371 | ||
| 372 | public VerificarPasta(pasta[]) | |
| 373 | {
| |
| 374 | format(String, sizeof(String), "LLADMIN/%s/verificacao",pasta); | |
| 375 | DOF2_CreateFile(String); | |
| 376 | if(DOF2_FileExists(String)) | |
| 377 | {
| |
| 378 | printf("Pasta '%s' Encontrada e carregada com sucesso.", pasta);
| |
| 379 | } | |
| 380 | else if(DOF2_FileExists(String)) | |
| 381 | {
| |
| 382 | printf("Pasta '%s' Não encontrada.", pasta);
| |
| 383 | } | |
| 384 | DOF2_RemoveFile(String); | |
| 385 | return 1; | |
| 386 | } | |
| 387 | ||
| 388 | public VerificarArquivo(arquivo[]) | |
| 389 | {
| |
| 390 | format(String, sizeof(String), "LLADMIN/%s", arquivo); | |
| 391 | if(DOF2_FileExists(String)) | |
| 392 | {
| |
| 393 | printf("Arquivo '%s' Encontrado e carregado com sucesso.", arquivo);
| |
| 394 | return 1; | |
| 395 | } | |
| 396 | else if(!DOF2_FileExists(String)) | |
| 397 | {
| |
| 398 | printf("Arquivo '%s' não encontrado. O FS o criou automaticamente.", arquivo);
| |
| 399 | DOF2_CreateFile(String); | |
| 400 | return 1; | |
| 401 | } | |
| 402 | return 1; | |
| 403 | } | |
| 404 | ||
| 405 | public OnFilterScriptExit() | |
| 406 | {
| |
| 407 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 408 | {
| |
| 409 | SalvarDados(i); | |
| 410 | } | |
| 411 | DOF2_Exit(); | |
| 412 | return 1; | |
| 413 | } | |
| 414 | ||
| 415 | public OnPlayerConnect(playerid) | |
| 416 | {
| |
| 417 | if(strfind(Nome(playerid),"clock$",true) != -1) Ban(playerid); | |
| 418 | if(strfind(Nome(playerid),"prn",true) != -1) Ban(playerid); | |
| 419 | if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid); | |
| 420 | if(strfind(Nome(playerid),"con",true) != -1) Ban(playerid); | |
| 421 | if(strfind(Nome(playerid),"SgtPepper",true) != -1) Ban(playerid); | |
| 422 | if(strfind(Nome(playerid),"Pepe",true) != -1) Ban(playerid); | |
| 423 | if(strfind(Nome(playerid),"nul",true) != -1) Ban(playerid); | |
| 424 | if(strfind(Nome(playerid),"Pepno",true) != -1) Ban(playerid); | |
| 425 | if(strfind(Nome(playerid),"Pepsi",true) != -1) Ban(playerid); | |
| 426 | if(strfind(Nome(playerid),"Rocky",true) != -1) Ban(playerid); | |
| 427 | if(strfind(Nome(playerid),"Carl",true) != -1) Ban(playerid); | |
| 428 | if(strfind(Nome(playerid),"Vino_Toro",true) != -1) Ban(playerid); | |
| 429 | if(strfind(Nome(playerid),"Zoquete",true) != -1) Ban(playerid); | |
| 430 | if(strfind(Nome(playerid),"AquilesBrinco",true) != -1) Ban(playerid); | |
| 431 | if(strfind(Nome(playerid),"Azucar",true) != -1) Ban(playerid); | |
| 432 | if(strfind(Nome(playerid),"Manfrey",true) != -1) Ban(playerid); | |
| 433 | if(strfind(Nome(playerid),"Papirola",true) != -1) Ban(playerid); | |
| 434 | if(strfind(Nome(playerid),"[ViP]Labrik",true) != -1)Ban(playerid); | |
| 435 | if(strfind(Nome(playerid),"Sony",true) != -1) Ban(playerid); | |
| 436 | if(strfind(Nome(playerid),"Pacman",true) != -1) Ban(playerid); | |
| 437 | if(strfind(Nome(playerid),"Batman",true) != -1)Ban(playerid); | |
| 438 | if(strfind(Nome(playerid),"aux",true) != -1) Ban(playerid); | |
| 439 | if(strfind(Nome(playerid),"com1",true) != -1) Ban(playerid); | |
| 440 | if(strfind(Nome(playerid),"com2",true) != -1) Ban(playerid); | |
| 441 | if(strfind(Nome(playerid),"com3",true) != -1) Ban(playerid); | |
| 442 | if(strfind(Nome(playerid),"com4",true) != -1) Ban(playerid); | |
| 443 | if(strfind(Nome(playerid),"com5",true) != -1) Ban(playerid); | |
| 444 | if(strfind(Nome(playerid),"com6",true) != -1) Ban(playerid); | |
| 445 | if(strfind(Nome(playerid),"com7",true) != -1) Ban(playerid); | |
| 446 | if(strfind(Nome(playerid),"com8",true) != -1) Ban(playerid); | |
| 447 | if(strfind(Nome(playerid),"com9",true) != -1) Ban(playerid); | |
| 448 | if(strfind(Nome(playerid),"lpt1",true) != -1) Ban(playerid); | |
| 449 | if(strfind(Nome(playerid),"lpt2",true) != -1) Ban(playerid); | |
| 450 | if(strfind(Nome(playerid),"lpt3",true) != -1) Ban(playerid); | |
| 451 | if(strfind(Nome(playerid),"lpt4",true) != -1) Ban(playerid); | |
| 452 | if(strfind(Nome(playerid),"lpt5",true) != -1) Ban(playerid); | |
| 453 | if(strfind(Nome(playerid),"lpt6",true) != -1) Ban(playerid); | |
| 454 | if(strfind(Nome(playerid),"lpt8",true) != -1) Ban(playerid); | |
| 455 | if(strfind(Nome(playerid),"lpt9",true) != -1) Ban(playerid); | |
| 456 | SetTimerEx("TocarSom", 1000, false, "i", playerid);
| |
| 457 | PlayersOnline++; | |
| 458 | PlayerDados[playerid][Logado] = false; | |
| 459 | PlayerDados[playerid][Admin] = 0; | |
| 460 | PlayerDados[playerid][Helper] = false; | |
| 461 | PlayerDados[playerid][Vip] = false; | |
| 462 | new strConta[80]; | |
| 463 | new Ip[25]; | |
| 464 | for(new t = 0; t < 100; ++t) | |
| 465 | {
| |
| 466 | SendClientMessage(playerid, -1, " "); | |
| 467 | } | |
| 468 | format(strConta, sizeof(strConta), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid)); | |
| 469 | if(DOF2_FileExists(strConta)) | |
| 470 | {
| |
| 471 | format(String, sizeof(String), "{FFFFFF}Você está banido deste servidor!\n\n Dados do Banimento:\n\n{45F75A}Admin: {FFFFFF}%s \n{45F75A}Motivo: {FFFFFF}%s", DOF2_GetString(strConta, "Admin"), DOF2_GetString(strConta, "Motivo"));
| |
| 472 | format(String, sizeof(String), "%s\n{45F75A}Data: {FFFFFF}%d/%d/%d \n{45F75A}Hora: {FFFFFF}%d:%d", String, DOF2_GetInt(strConta, "Dia"), DOF2_GetInt(strConta, "Mes"), DOF2_GetInt(strConta, "Ano"), DOF2_GetInt(strConta, "Hora"), DOF2_GetInt(strConta, "Minuto"));
| |
| 473 | ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", ""); | |
| 474 | return 1; | |
| 475 | } | |
| 476 | GetPlayerIp(playerid, Ip, 25); | |
| 477 | if(strcmp(Ip ,"255.255.255.255", true) == 0) | |
| 478 | {
| |
| 479 | Ban(playerid); | |
| 480 | } | |
| 481 | if(DOF2_IsSet("LLADMIN/Banidos/Ips.txt", Ip))
| |
| 482 | {
| |
| 483 | format(String, sizeof(String), "{FFFFFF} Seu IP está banido deste Servidor!\n\nDados:\nIP:%s\n%s", Ip, DOF2_GetString("LLADMIN/Banidos/Ips.txt", Ip));
| |
| 484 | ShowPlayerDialog(playerid, DIALOG_BANIDO, DIALOG_STYLE_MSGBOX, "Banido!", String, "Fechar", ""); | |
| 485 | return 1; | |
| 486 | } | |
| 487 | if(DOF2_IsSet("LLADMIN/Fodidos.txt", Ip))
| |
| 488 | {
| |
| 489 | SetTimerEx("FoderSpawn", 1000, false, "i", playerid);
| |
| 490 | return 1; | |
| 491 | } | |
| 492 | format(String, sizeof(String), "%s Conectou ao servidor", Nome(playerid)); | |
| 493 | SendClientMessageToAll(VERDE_CLARO, String); | |
| 494 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 495 | #if (USAR_TEXT == 1) && (USAR_SISTEMA_REGISTRO == 1) | |
| 496 | TextFundo(playerid); | |
| 497 | #endif | |
| 498 | #if USAR_SISTEMA_REGISTRO == 1 | |
| 499 | if(!DOF2_FileExists(StringContas)) | |
| 500 | {
| |
| 501 | format(String, sizeof(String), "{F1FC14}Conta: %s\n{FC1E1E}Não registrada.\n\n{07D915}Digite uma senha para se registrar\nem nosso banco de dados.", Nome(playerid));
| |
| 502 | ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair");
| |
| 503 | return 1; | |
| 504 | } | |
| 505 | else | |
| 506 | {
| |
| 507 | format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
| |
| 508 | ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
| |
| 509 | return 1; | |
| 510 | } | |
| 511 | #else | |
| 512 | return 1; | |
| 513 | #endif | |
| 514 | } | |
| 515 | ||
| 516 | public FoderSpawn(playerid) | |
| 517 | {
| |
| 518 | SetSpawnInfo(playerid, 0, 0, 107.2300,1920.6311,18.5208, 0, 0, 0, 0, 0, 0, 0); | |
| 519 | SpawnPlayer(playerid); | |
| 520 | SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453); | |
| 521 | TogglePlayerControllable(ID, false); | |
| 522 | Msg(playerid, VERMELHO, "Você foi fodido por um admin! Agora aguente!"); | |
| 523 | PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0); | |
| 524 | return 1; | |
| 525 | } | |
| 526 | ||
| 527 | public TocarSom(playerid) | |
| 528 | {
| |
| 529 | if(strfind(MusicaInicial, "nada", true) != -1) | |
| 530 | {
| |
| 531 | return 1; | |
| 532 | } | |
| 533 | PlayAudioStreamForPlayer(playerid, MusicaInicial, 0, 0, 0, 20, 0); | |
| 534 | return 1; | |
| 535 | } | |
| 536 | ||
| 537 | public OnPlayerDisconnect(playerid, reason) | |
| 538 | {
| |
| 539 | new Motivo[20]; | |
| 540 | if(reason == 0) Motivo = "Queda de conexão"; | |
| 541 | if(reason == 1) Motivo = "Conta própria"; | |
| 542 | if(reason == 2) Motivo = "Kickado/Banido"; | |
| 543 | format(String, sizeof(String), "{289E08}O Jogador {39F505}%s{289E08} Desconectou do servidor. (%s)", Nome(playerid), Motivo);
| |
| 544 | MsgAll(-1, String); | |
| 545 | if(GetarDado(playerid, Admin) > 0) | |
| 546 | {
| |
| 547 | format(String, sizeof(String), "~w~Admin ~g~%s ~r~Offline", Nome(playerid)); | |
| 548 | GameTextForAll(String, 1000, 1); | |
| 549 | } | |
| 550 | PlayersOnline--; | |
| 551 | SalvarDados(playerid); | |
| 552 | DOF2_Exit(); | |
| 553 | return 1; | |
| 554 | } | |
| 555 | ||
| 556 | public FecharEnquete() | |
| 557 | {
| |
| 558 | new StrEnquete[256]; | |
| 559 | Enquete[Criada] = false; | |
| 560 | format(StrEnquete, 256, "Enquete %s Fechada.", Enquete[Titulo]); | |
| 561 | SendClientMessageToAll(ROSA, StrEnquete); | |
| 562 | format(StrEnquete, 256, "Votos Sim: %d", Enquete[VotoSim]); | |
| 563 | SendClientMessageToAll(ROSA_CHOQUE, StrEnquete); | |
| 564 | format(StrEnquete, 256, "Voto Não: %d", Enquete[VotoNao]); | |
| 565 | SendClientMessageToAll(ROSA_CHOQUE, StrEnquete); | |
| 566 | if(Enquete[VotoSim] > Enquete[VotoNao]) | |
| 567 | {
| |
| 568 | SendClientMessageToAll(ROSA, "\nO Sim Venceu."); | |
| 569 | return 1; | |
| 570 | } | |
| 571 | if(Enquete[VotoNao] > Enquete[VotoSim]) | |
| 572 | {
| |
| 573 | SendClientMessageToAll(ROSA, "\nO Nao Venceu."); | |
| 574 | return 1; | |
| 575 | } | |
| 576 | return 1; | |
| 577 | } | |
| 578 | public OnPlayerSpawn(playerid) | |
| 579 | {
| |
| 580 | if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
| |
| 581 | {
| |
| 582 | PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
| |
| 583 | } | |
| 584 | if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
| |
| 585 | {
| |
| 586 | SetarDado(playerid, Helper, DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid)));
| |
| 587 | } | |
| 588 | if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
| |
| 589 | {
| |
| 590 | SetarDado(playerid, Vip, DOF2_GetBool("LLADMIN/vips.vip", Nome(playerid)));
| |
| 591 | } | |
| 592 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 593 | #if SPAWNAR_HQ == 1 | |
| 594 | if((PlayerDados[playerid][Admin] > 0) || (PlayerDados[playerid][Helper] == true)) | |
| 595 | {
| |
| 596 | SetTimerEx("NovoSpawn", 500, false, "i", playerid);
| |
| 597 | } | |
| 598 | #endif | |
| 599 | SetTimerEx("VerificarPreso", 1000, false, "i", playerid);
| |
| 600 | ResetPlayerWeapons(playerid); | |
| 601 | #if USAR_SISTEMA_REGISTRO == 0 | |
| 602 | if(!DOF2_FileExists(StringContas)) | |
| 603 | {
| |
| 604 | DOF2_CreateFile(StringContas); | |
| 605 | DOF2_SetInt(StringContas, "Matou", 0); | |
| 606 | DOF2_SetInt(StringContas, "Morreu", 0); | |
| 607 | DOF2_SetInt(StringContas, "Grana", 0); | |
| 608 | //DOF2_SetInt(StringContas, "Admin", 0); | |
| 609 | //DOF2_SetBool(StringContas, "Helper", false); | |
| 610 | DOF2_SetInt(StringContas, "Advertencias", 0); | |
| 611 | DOF2_SetInt(StringContas, "Preso", 0); | |
| 612 | //DOF2_SetBool(StringContas, "Vip", false); | |
| 613 | PlayerDados[playerid][Logado] = true; | |
| 614 | } | |
| 615 | if(DOF2_FileExists(StringContas)) | |
| 616 | {
| |
| 617 | PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou"); | |
| 618 | PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu"); | |
| 619 | if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
| |
| 620 | {
| |
| 621 | PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
| |
| 622 | } | |
| 623 | PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias"); | |
| 624 | GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana")); | |
| 625 | PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso"); | |
| 626 | if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
| |
| 627 | {
| |
| 628 | PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
| |
| 629 | } | |
| 630 | if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
| |
| 631 | {
| |
| 632 | PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
| |
| 633 | } | |
| 634 | //PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper"); | |
| 635 | //PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip"); | |
| 636 | if((PlayerDados[playerid][Admin] > 0) && (PlayerDados[playerid][Logado] == false)) | |
| 637 | {
| |
| 638 | PlayerDados[playerid][Logado] = true; | |
| 639 | format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]); | |
| 640 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 641 | format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid)); | |
| 642 | GameTextForAll(String, 1000, 1); | |
| 643 | PlayerDados[playerid][Trabalhando] = true; | |
| 644 | SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar"); | |
| 645 | SetPlayerColor(playerid, 0x24E9FFFF); | |
| 646 | SetPlayerHealth(playerid, 999999); | |
| 647 | } | |
| 648 | } | |
| 649 | #endif | |
| 650 | return 0; | |
| 651 | } | |
| 652 | ||
| 653 | public OnPlayerUpdate(playerid) | |
| 654 | {
| |
| 655 | new ping = GetPlayerPing(playerid); | |
| 656 | if(ping > MAX_PING) | |
| 657 | {
| |
| 658 | MensagemFormatadaParaTodos(AZUL_CLARO, "O jogador %s [ID: %d] foi kickado do servidor por ultrapassar o ping maximo (%d).", Nome(playerid), playerid, MAX_PING); | |
| 659 | Kick(playerid); | |
| 660 | } | |
| 661 | new Arma = GetPlayerWeapon(playerid); | |
| 662 | if(MsgHack[playerid] == true) return 1; | |
| 663 | switch(Arma) | |
| 664 | {
| |
| 665 | case 9: | |
| 666 | {
| |
| 667 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma serra eletrica. /assitir para conferir.", Nome(playerid), playerid); | |
| 668 | MensagemParaAdmins(String); | |
| 669 | MsgHack[playerid] = true; | |
| 670 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 671 | } | |
| 672 | case 35: | |
| 673 | {
| |
| 674 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid); | |
| 675 | MensagemParaAdmins(String); | |
| 676 | MsgHack[playerid] = true; | |
| 677 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 678 | } | |
| 679 | case 36: | |
| 680 | {
| |
| 681 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-misseis. /assitir para conferir.", Nome(playerid), playerid); | |
| 682 | MensagemParaAdmins(String); | |
| 683 | MsgHack[playerid] = true; | |
| 684 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 685 | } | |
| 686 | case 37: | |
| 687 | {
| |
| 688 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um lança-chamas. /assitir para conferir.", Nome(playerid), playerid); | |
| 689 | MensagemParaAdmins(String); | |
| 690 | MsgHack[playerid] = true; | |
| 691 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 692 | } | |
| 693 | case 38: | |
| 694 | {
| |
| 695 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma minigun. /assitir para conferir.", Nome(playerid), playerid); | |
| 696 | MensagemParaAdmins(String); | |
| 697 | MsgHack[playerid] = true; | |
| 698 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 699 | } | |
| 700 | case 39: | |
| 701 | {
| |
| 702 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando explosivos remotos. /assitir para conferir.", Nome(playerid), playerid); | |
| 703 | MensagemParaAdmins(String); | |
| 704 | MsgHack[playerid] = true; | |
| 705 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 706 | } | |
| 707 | case 40: | |
| 708 | {
| |
| 709 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando um detonador. /assitir para conferir.", Nome(playerid), playerid); | |
| 710 | MensagemParaAdmins(String); | |
| 711 | MsgHack[playerid] = true; | |
| 712 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 713 | } | |
| 714 | case 43: | |
| 715 | {
| |
| 716 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando uma camera fotografica. /assitir para conferir.", Nome(playerid), playerid); | |
| 717 | MensagemParaAdmins(String); | |
| 718 | MsgHack[playerid] = true; | |
| 719 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 720 | } | |
| 721 | case 44: | |
| 722 | {
| |
| 723 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid); | |
| 724 | MensagemParaAdmins(String); | |
| 725 | MsgHack[playerid] = true; | |
| 726 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 727 | } | |
| 728 | case 45: | |
| 729 | {
| |
| 730 | format(String, sizeof(String), "[ANTI WH] O jogador %s [ID: %d] está usando oculos de visão noturna. /assitir para conferir.", Nome(playerid), playerid); | |
| 731 | MensagemParaAdmins(String); | |
| 732 | MsgHack[playerid] = true; | |
| 733 | SetTimerEx("EnviarMsgHack", 60000, true, "i", playerid);
| |
| 734 | } | |
| 735 | } | |
| 736 | return 1; | |
| 737 | } | |
| 738 | ||
| 739 | public EnviarMsgHack(playerid) | |
| 740 | {
| |
| 741 | MsgHack[playerid] = false; | |
| 742 | return 1; | |
| 743 | } | |
| 744 | ||
| 745 | public NovoSpawn(playerid) | |
| 746 | {
| |
| 747 | SetPlayerPos(playerid, 2225.9814,1837.7249,10.8203); | |
| 748 | SetPlayerFacingAngle(playerid, 98.0608); | |
| 749 | return 1; | |
| 750 | } | |
| 751 | ||
| 752 | public VerificarPreso(playerid) | |
| 753 | {
| |
| 754 | if(PlayerDados[playerid][Preso] > 0) | |
| 755 | {
| |
| 756 | SetPlayerPos(ID, 264.6288,77.5742,1001.0391); | |
| 757 | SetPlayerInterior(ID, 6); | |
| 758 | SendClientMessage(playerid, VERMELHO, "Seu Tempo de Cadeia ainda não acabou!"); | |
| 759 | TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", playerid);
| |
| 760 | } | |
| 761 | return 1; | |
| 762 | } | |
| 763 | ||
| 764 | public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger) | |
| 765 | {
| |
| 766 | if((vehicleid >= CarrosAdm[0]) && (vehicleid <= CarrosAdm[13])) | |
| 767 | {
| |
| 768 | if((PlayerDados[playerid][Helper] == false) || (PlayerDados[playerid][Admin] < 1)) | |
| 769 | {
| |
| 770 | RemovePlayerFromVehicle(playerid); | |
| 771 | Msg(playerid, CINZA, "Você precisa ser admin para usar este carro."); | |
| 772 | } | |
| 773 | } | |
| 774 | if(PlayerDados[playerid][Admin] > 0) | |
| 775 | {
| |
| 776 | if(PlayerDados[playerid][Trabalhando] == true) | |
| 777 | {
| |
| 778 | SetTimerEx("NomeCarro", 3500, false, "i", playerid);
| |
| 779 | } | |
| 780 | } | |
| 781 | return 0; | |
| 782 | } | |
| 783 | ||
| 784 | public NomeCarro(playerid) | |
| 785 | {
| |
| 786 | new idc = GetPlayerVehicleID(playerid); | |
| 787 | format(String, sizeof(String), "[LL ADMIN] Veículo ID %d", idc); | |
| 788 | SendClientMessage(playerid, CINZA, String); | |
| 789 | } | |
| 790 | ||
| 791 | public OnPlayerDeath(playerid, killerid, reason) | |
| 792 | {
| |
| 793 | PlayerDados[playerid][Morreu]++; | |
| 794 | PlayerDados[killerid][Matou]++; | |
| 795 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 796 | if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
| |
| 797 | {
| |
| 798 | PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
| |
| 799 | } | |
| 800 | KillTimer(TimerKit); | |
| 801 | return 0; | |
| 802 | } | |
| 803 | ||
| 804 | public OnPlayerText(playerid, text[]) | |
| 805 | {
| |
| 806 | new str2[256]; | |
| 807 | if((strfind(text, "7777", true) != -1) || (strfind(text, "7788", true) != -1) || (strfind(text, "189.", true) != -1) || (strfind(text, "187.", true) != -1) || (strfind(text, "185.", true) != -1) || (strfind(text, "7575", true) != -1) || (strfind(text, "75.", true) != -1)) | |
| 808 | {
| |
| 809 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Jogador {FB0000}%s{00C2EC} Foi Banido por divulgar IP.\r\n", Nome(playerid));
| |
| 810 | EscreverLog("LLADMIN/Logs/Banidos.log", String);
| |
| 811 | format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(playerid)); | |
| 812 | getdate(Ano, Mes, Dia); | |
| 813 | gettime(Hora, Minuto, Segundo); | |
| 814 | DOF2_CreateFile(String); | |
| 815 | DOF2_SetString(String, "Admin", "Admin automatico"); | |
| 816 | DOF2_SetString(String, "Motivo", "Divulgação de IP"); | |
| 817 | DOF2_SetInt(String, "Ano", Ano); | |
| 818 | DOF2_SetInt(String, "Mes", Mes); | |
| 819 | DOF2_SetInt(String, "Dia", Dia); | |
| 820 | DOF2_SetInt(String, "Hora", Hora); | |
| 821 | DOF2_SetInt(String, "Minuto", Minuto); | |
| 822 | Kick(playerid); | |
| 823 | } | |
| 824 | format(String, sizeof(String), "LLADMIN/Teleportes/%s.txt", text); | |
| 825 | if(DOF2_FileExists(String)) | |
| 826 | {
| |
| 827 | format(str2, sizeof(str2), "O Jogador %s foi para o 'te %s' [Teleporte Criado pelo Admin: %s] (para ir basta digitar as palavras entre aspas)", Nome(playerid), DOF2_GetString(String, "Comando"), DOF2_GetString(String, "Admin")); | |
| 828 | SendClientMessageToAll(AMARELO, str2); | |
| 829 | SetPlayerPos(playerid, DOF2_GetFloat(String, "X"), DOF2_GetFloat(String, "Y"), DOF2_GetFloat(String, "Z")); | |
| 830 | return 0; | |
| 831 | } | |
| 832 | if(PlayerDados[playerid][Calado] == true) | |
| 833 | {
| |
| 834 | SendClientMessage(playerid, BRANCO, "Você Está calado e não pode falar!"); | |
| 835 | return 0; | |
| 836 | } | |
| 837 | #if DESTAQUE_ADMINS == 1 | |
| 838 | if(GetarDado(playerid, Admin) > 1) | |
| 839 | {
| |
| 840 | if(GetarDado(playerid, Disfarcado) == true) | |
| 841 | {
| |
| 842 | format(String, sizeof(String), "%s: %s", Nome(playerid), text); | |
| 843 | MsgAll(GetPlayerColor(playerid), String); | |
| 844 | return 0; | |
| 845 | } | |
| 846 | format(String, sizeof(String), "[ADM] %s: %s", Nome(playerid), text); | |
| 847 | MsgAll(GetPlayerColor(playerid), String); | |
| 848 | return 0; | |
| 849 | } | |
| 850 | #endif | |
| 851 | return 1; | |
| 852 | } | |
| 853 | ||
| 854 | public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) | |
| 855 | {
| |
| 856 | if(dialogid == DIALOG_REGISTRO) | |
| 857 | {
| |
| 858 | if(response) | |
| 859 | {
| |
| 860 | if(!strlen(inputtext)) | |
| 861 | {
| |
| 862 | format(String, sizeof(String), "{F1FC14}Conta: %s\n{FC1E1E}Não registrada.\n\n{07D915}Digite uma senha para se registrar\nem nosso banco de dados.", Nome(playerid));
| |
| 863 | ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "{1EB2FC}Registrando...", String, "Registrar", "Sair");
| |
| 864 | SendClientMessage(playerid, VERMELHO, "Digite uma senha para se registrar ¬¬"); | |
| 865 | return 1; | |
| 866 | } | |
| 867 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 868 | DOF2_CreateFile(StringContas); | |
| 869 | DOF2_SetString(StringContas, "Senha", inputtext); | |
| 870 | DOF2_SetInt(StringContas, "Matou", 0); | |
| 871 | DOF2_SetInt(StringContas, "Morreu", 0); | |
| 872 | DOF2_SetInt(StringContas, "Grana", 0); | |
| 873 | DOF2_SetInt(StringContas, "Advertencias", 0); | |
| 874 | DOF2_SetInt(StringContas, "Preso", 0); | |
| 875 | SendClientMessage(playerid, AZUL_CLARO, "Registrado Com Sucesso! você foi logado automaticamente"); | |
| 876 | - | TextDrawDestroy(Inicio[playerid]); |
| 876 | + | #if USAR_TEXT == 1 |
| 877 | TextDrawDestroy(Inicio[playerid]); | |
| 878 | #endif | |
| 879 | return 1; | |
| 880 | } | |
| 881 | else | |
| 882 | {
| |
| 883 | SendClientMessage(playerid, VERMELHO, "Você não quis se registrar e por isso foi kickado!"); | |
| 884 | Kick(playerid); | |
| 885 | return 1; | |
| 886 | } | |
| 887 | } | |
| 888 | if(dialogid == DIALOG_LOGIN) | |
| 889 | {
| |
| 890 | if(response) | |
| 891 | {
| |
| 892 | if(!strlen(inputtext)) | |
| 893 | {
| |
| 894 | format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
| |
| 895 | ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
| |
| 896 | SendClientMessage(playerid, VERMELHO, "Digite sua senha para se logar ¬¬"); | |
| 897 | return 1; | |
| 898 | } | |
| 899 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 900 | if(strcmp(inputtext, DOF2_GetString(StringContas, "Senha"), true)) | |
| 901 | {
| |
| 902 | format(String, sizeof(String), "{F1FC14}Conta: %s\n{28FC14}Registrada.\n\n{14F1FC}Digite sua senha para Logar", Nome(playerid));
| |
| 903 | ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "{FC14E9}Logando...", String, "Logar", "Sair");
| |
| 904 | SendClientMessage(playerid, VERMELHO_CLARO, "Senha incorreta!"); | |
| 905 | return 1; | |
| 906 | } | |
| 907 | else | |
| 908 | {
| |
| 909 | PlayerDados[playerid][Matou] = DOF2_GetInt(StringContas, "Matou"); | |
| 910 | PlayerDados[playerid][Morreu] = DOF2_GetInt(StringContas, "Morreu"); | |
| 911 | //PlayerDados[playerid][Admin] = DOF2_GetInt(StringContas, "Admin"); | |
| 912 | if(DOF2_IsSet("LLADMIN/Admins.adm", Nome(playerid)))
| |
| 913 | {
| |
| 914 | PlayerDados[playerid][Admin] = DOF2_GetInt("LLADMIN/Admins.adm", Nome(playerid));
| |
| 915 | } | |
| 916 | PlayerDados[playerid][Advertencias] = DOF2_GetInt(StringContas, "Advertencias"); | |
| 917 | GivePlayerMoney(playerid, DOF2_GetInt(StringContas, "Grana")); | |
| 918 | PlayerDados[playerid][Preso] = DOF2_GetInt(StringContas, "Preso"); | |
| 919 | //PlayerDados[playerid][Helper] = DOF2_GetBool(StringContas, "Helper"); | |
| 920 | if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
| |
| 921 | {
| |
| 922 | PlayerDados[playerid][Helper] = DOF2_GetBool("LLADMIN/Helpers.hel", Nome(playerid));
| |
| 923 | } | |
| 924 | if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
| |
| 925 | {
| |
| 926 | PlayerDados[playerid][Vip] = DOF2_GetBool("LLADMIN/Vips.vip", Nome(playerid));
| |
| 927 | } | |
| 928 | //PlayerDados[playerid][Vip] = DOF2_GetBool(StringContas, "Vip"); | |
| 929 | SendClientMessage(playerid, VERDE_CLARO, "Logado Com sucesso!"); | |
| 930 | #if USAR_TEXT == 1 | |
| 931 | TextDrawDestroy(Inicio[playerid]); | |
| 932 | #endif | |
| 933 | if(PlayerDados[playerid][Admin] > 0) | |
| 934 | {
| |
| 935 | format(String, sizeof(String), "Logado de Admin Nível %d", PlayerDados[playerid][Admin]); | |
| 936 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 937 | format(String, sizeof(String), "~w~Admin ~g~%s ~y~Online", Nome(playerid)); | |
| 938 | GameTextForAll(String, 1000, 1); | |
| 939 | PlayerDados[playerid][Trabalhando] = true; | |
| 940 | SendClientMessage(playerid, AZUL_CLARO, "Você está trabalhando, para jogar use /jogar"); | |
| 941 | SetPlayerColor(playerid, 0x24E9FFFF); | |
| 942 | SetPlayerHealth(playerid, 999999); | |
| 943 | return 1; | |
| 944 | } | |
| 945 | return 1; | |
| 946 | } | |
| 947 | } | |
| 948 | else | |
| 949 | {
| |
| 950 | SendClientMessage(playerid, VERMELHO, "Você não quis se Logar e por isso foi kickado!"); | |
| 951 | Kick(playerid); | |
| 952 | return 1; | |
| 953 | } | |
| 954 | } | |
| 955 | if(dialogid == DIALOG_BANIDO) | |
| 956 | {
| |
| 957 | if(response) | |
| 958 | {
| |
| 959 | SendClientMessage(playerid, BRANCO, "Kickado"); | |
| 960 | Kick(playerid); | |
| 961 | } | |
| 962 | return 1; | |
| 963 | } | |
| 964 | if(dialogid == DIALOG_ADM) | |
| 965 | {
| |
| 966 | if(response) | |
| 967 | {
| |
| 968 | format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo admin do server!", Nome(playerid));
| |
| 969 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 970 | EscreverLog("LLADMIN/Logs/NovoAdm.log", String);
| |
| 971 | SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Admin."); | |
| 972 | SetarDado(playerid, Admin, nivel); | |
| 973 | DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), nivel);
| |
| 974 | } | |
| 975 | if(!response) | |
| 976 | {
| |
| 977 | format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser admin do server!", Nome(playerid));
| |
| 978 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 979 | } | |
| 980 | return 1; | |
| 981 | } | |
| 982 | if(dialogid == DIALOG_HELPER) | |
| 983 | {
| |
| 984 | if(!response) | |
| 985 | return format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser Helper do server.", Nome(playerid)), SendClientMessageToAll(AZUL_CLARO, String);
| |
| 986 | format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo Helper do server", Nome(playerid));
| |
| 987 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 988 | SendClientMessage(playerid, VERDE_CLARO, "Use /la para ver seus comandos de Helper."); | |
| 989 | SalvarDados(playerid); | |
| 990 | SetarDado(playerid, Helper, true); | |
| 991 | DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true);
| |
| 992 | return 1; | |
| 993 | } | |
| 994 | if(dialogid == DIALOG_MUSICAS) | |
| 995 | {
| |
| 996 | if(!response) return 0; | |
| 997 | if(listitem == 0) | |
| 998 | {
| |
| 999 | MusicaInicial = "nada"; | |
| 1000 | return 1; | |
| 1001 | } | |
| 1002 | if(listitem == 1) | |
| 1003 | {
| |
| 1004 | MusicaInicial = Musica[1]; | |
| 1005 | return 1; | |
| 1006 | } | |
| 1007 | if(listitem == 2) | |
| 1008 | {
| |
| 1009 | MusicaInicial = Musica[2]; | |
| 1010 | return 1; | |
| 1011 | } | |
| 1012 | if(listitem == 3) | |
| 1013 | {
| |
| 1014 | MusicaInicial = Musica[3]; | |
| 1015 | return 1; | |
| 1016 | } | |
| 1017 | if(listitem == 4) | |
| 1018 | {
| |
| 1019 | MusicaInicial = Musica[4]; | |
| 1020 | return 1; | |
| 1021 | } | |
| 1022 | } | |
| 1023 | if(dialogid == DIALOG_SENHANOVA) | |
| 1024 | {
| |
| 1025 | new StrConta[100]; | |
| 1026 | format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 1027 | if(!strlen(inputtext)) | |
| 1028 | {
| |
| 1029 | format(String, sizeof(String), "{D9E01B}Digite uma senha ou clique em Cancelar.\n\n{1BE0AF}Sua senha atual é {1B63E0}'%s'.\n\nDigite sua nova senha abaixo:", DOF2_GetString(StrConta, "Senha"));
| |
| 1030 | ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar");
| |
| 1031 | return 1; | |
| 1032 | } | |
| 1033 | DOF2_SetString(StrConta, "Senha", inputtext); | |
| 1034 | format(String, sizeof(String), "{12FF05}Sua nova senha é {25E01B}'%s'", inputtext);
| |
| 1035 | SendClientMessage(playerid, -1, String); | |
| 1036 | SalvarDados(playerid); | |
| 1037 | } | |
| 1038 | return 0; | |
| 1039 | } | |
| 1040 | ||
| 1041 | //SISTEMA DE VIPS | |
| 1042 | #if USAR_SISTEMA_VIP == 1 | |
| 1043 | CMD:v(playerid, params[]) | |
| 1044 | {
| |
| 1045 | new t[128]; | |
| 1046 | if(PlayerDados[playerid][Vip] == false) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!"); | |
| 1047 | if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /v [texto]", "Use o comando para enviar uma mensagem a todos os vips online."); | |
| 1048 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1049 | {
| |
| 1050 | if(PlayerDados[i][Vip] == true) | |
| 1051 | {
| |
| 1052 | format(String, sizeof(String), "VIP %s: %s", Nome(playerid), t); | |
| 1053 | SendClientMessage(i, VERDE_CLARO, String); | |
| 1054 | } | |
| 1055 | } | |
| 1056 | return 1; | |
| 1057 | } | |
| 1058 | CMD:kitvip(playerid, params[]) | |
| 1059 | {
| |
| 1060 | if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você não é um jogador VIP!"); | |
| 1061 | MensagemFormatadaParaTodos(AMARELO, "O Jogador %s pegou um KitVip", Nome(playerid)); | |
| 1062 | GivePlayerWeapon(playerid, 4, 1); //FACA | |
| 1063 | GivePlayerWeapon(playerid, 16, 200); //GRANADA | |
| 1064 | GivePlayerWeapon(playerid, 24, 300); //DESERT EAGLE | |
| 1065 | GivePlayerWeapon(playerid, 26, 300); //SAWNOFF | |
| 1066 | GivePlayerWeapon(playerid, 29, 500); //MP5 | |
| 1067 | GivePlayerWeapon(playerid, 30, 500); //AK-47 | |
| 1068 | GivePlayerWeapon(playerid, 34, 200); //SNIPER | |
| 1069 | GivePlayerWeapon(playerid, 39, 100); //EXPLOSIVO | |
| 1070 | PlayerDados[playerid][PegouKit] = true; | |
| 1071 | TimerKit = SetTimerEx("LiberarKit", 30*1000, false, "i", playerid);
| |
| 1072 | return 1; | |
| 1073 | } | |
| 1074 | CMD:vips(playerid, params[]) | |
| 1075 | {
| |
| 1076 | new IsVip; | |
| 1077 | SendClientMessage(playerid, VERDE_CLARO, "Vips Online:"); | |
| 1078 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1079 | {
| |
| 1080 | if(PlayerDados[i][Vip]) | |
| 1081 | {
| |
| 1082 | format(String, sizeof(String), "%s", Nome(i)); | |
| 1083 | SendClientMessage(playerid, BRANCO, String); | |
| 1084 | IsVip++; | |
| 1085 | } | |
| 1086 | } | |
| 1087 | if(IsVip == 0) | |
| 1088 | {
| |
| 1089 | SendClientMessage(playerid, CINZA, "Nenhum VIP online."); | |
| 1090 | } | |
| 1091 | IsVip = 0; | |
| 1092 | return 1; | |
| 1093 | } | |
| 1094 | CMD:cc(playerid, params[]) | |
| 1095 | {
| |
| 1096 | new | |
| 1097 | Carro, | |
| 1098 | Cor1, | |
| 1099 | Cor2; | |
| 1100 | if(!PlayerDados[playerid][Vip]) return SendClientMessage(playerid, BRANCO, "Você precisa ser Vip para usar este comando!"); | |
| 1101 | if(sscanf(params, "iii", Carro, Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /cc [ID] [cor1] [cor2]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um veiculo VIP."); | |
| 1102 | new Float:X, | |
| 1103 | Float:Y, | |
| 1104 | Float:X1, | |
| 1105 | Float:Y1, | |
| 1106 | Float:Z, | |
| 1107 | Float:A; | |
| 1108 | PosicaoFrentePlayer(playerid, X, Y, 3); | |
| 1109 | GetPlayerPos(playerid, X1, Y1, Z); | |
| 1110 | GetPlayerFacingAngle(playerid, A); | |
| 1111 | DestroyVehicle(CarroDono[playerid]); | |
| 1112 | CarroDono[playerid] = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15); | |
| 1113 | format(String, sizeof(String), "Carro VIP de {FFFF00}%s", Nome(playerid));
| |
| 1114 | DonoCarro[playerid] = Create3DTextLabel(String, VERDE_CLARO, X, Y, Z+1, 30, 0, 1); | |
| 1115 | Attach3DTextLabelToVehicle(DonoCarro[playerid], CarroDono[playerid], 0, 0, 0); | |
| 1116 | PutPlayerInVehicle(playerid, CarroDono[playerid], 0); | |
| 1117 | return 1; | |
| 1118 | } | |
| 1119 | #endif | |
| 1120 | ||
| 1121 | CMD:sim(playerid, params[]) | |
| 1122 | {
| |
| 1123 | if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!"); | |
| 1124 | Enquete[VotoSim]++; | |
| 1125 | SendClientMessage(playerid, AMARELO, "Voto computado com sucesso."); | |
| 1126 | return 1; | |
| 1127 | } | |
| 1128 | ||
| 1129 | CMD:nao(playerid, params[]) | |
| 1130 | {
| |
| 1131 | if(Enquete[Criada] == false) return SendClientMessage(playerid, CINZA, "Nenhuma enquete aberta!"); | |
| 1132 | Enquete[VotoNao]++; | |
| 1133 | SendClientMessage(playerid, AMARELO, "Voto computado com sucesso."); | |
| 1134 | return 1; | |
| 1135 | } | |
| 1136 | ||
| 1137 | CMD:relatorio(playerid, params[]) | |
| 1138 | {
| |
| 1139 | new Texto[128]; | |
| 1140 | if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, BRANCO, "[LL ADMIN] Use /relatorio [texto] para mandar uma mensagem para os admins online"); | |
| 1141 | new strel[256]; | |
| 1142 | format(strel, sizeof(strel), "Relatorio de %s: %s\r\n", Nome(playerid), Texto); | |
| 1143 | EscreverLog("LLADMIN/Logs/Relatorios.log", strel);
| |
| 1144 | if(PlayerDados[playerid][Vip] == true) | |
| 1145 | {
| |
| 1146 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 1147 | {
| |
| 1148 | if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper])) | |
| 1149 | {
| |
| 1150 | format(String, sizeof(String), "Relatorio VIP de %s [ID: %d]: %s", Nome(playerid), playerid, Texto); | |
| 1151 | SendClientMessage(i, VERDE, String); | |
| 1152 | } | |
| 1153 | } | |
| 1154 | SendClientMessage(playerid, VERDE, "Seu relatorio VIP foi enviado com sucesso!"); | |
| 1155 | return 1; | |
| 1156 | } | |
| 1157 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 1158 | {
| |
| 1159 | if((PlayerDados[i][Admin] > 0) || (PlayerDados[i][Helper])) | |
| 1160 | {
| |
| 1161 | format(String, sizeof(String), "Relatorio de %s [ID: %d]: %s", Nome(playerid), playerid, Texto); | |
| 1162 | SendClientMessage(i, AMARELO, String); | |
| 1163 | } | |
| 1164 | } | |
| 1165 | SendClientMessage(playerid, AMARELO, "Seu relatorio foi enviado com sucesso!"); | |
| 1166 | return 1; | |
| 1167 | } | |
| 1168 | CMD:hq(playerid) | |
| 1169 | {
| |
| 1170 | SetPlayerPos(playerid, 2204.39990234,1846.00000000,12.60000038); | |
| 1171 | return 1; | |
| 1172 | } | |
| 1173 | ||
| 1174 | CMD:ajudavip(playerid, params[]) | |
| 1175 | {
| |
| 1176 | if(GetarDado(playerid, Vip) == false) return Msg(playerid, BRANCO, "Você não é um jgoador VIP."); | |
| 1177 | ShowPlayerDialog(playerid, DIALOG_AJUDAV, DIALOG_STYLE_MSGBOX, "------------- AJUDA VIP -------------", "/kitvip - Pega um kit de armas VIP.\n/v - Chat vip.\n/cc - Cria um carro vip.\n/vips - mostra os vips online", "Fechar", ""); | |
| 1178 | return 1; | |
| 1179 | } | |
| 1180 | ||
| 1181 | CMD:admins(playerid, params[]) | |
| 1182 | {
| |
| 1183 | new IsAdmin; | |
| 1184 | SendClientMessage(playerid, ROSA, "Admin Online:"); | |
| 1185 | new Online[10]; | |
| 1186 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 1187 | {
| |
| 1188 | if(PlayerDados[i][Admin] > 0) | |
| 1189 | {
| |
| 1190 | if(PlayerDados[i][Admin] == 1) AdminNivel = "Moderador"; | |
| 1191 | if(PlayerDados[i][Admin] == 2) AdminNivel = "Admin Iniciante"; | |
| 1192 | if(PlayerDados[i][Admin] == 3) AdminNivel = "Admin Geral"; | |
| 1193 | if(PlayerDados[i][Admin] == 4) AdminNivel = "Sub Dono"; | |
| 1194 | if(PlayerDados[i][Admin] == 5) AdminNivel = "Poderoso Chefão"; | |
| 1195 | if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando"; | |
| 1196 | if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando"; | |
| 1197 | if(PlayerDados[i][Afk] == true) Online = "AFK"; | |
| 1198 | if(PlayerDados[i][Afk] == false) Online = "Online"; | |
| 1199 | format(String, sizeof(String), "%s | %s | %s | %s", Nome(i), AdminNivel, AdminTrabalhando, Online); | |
| 1200 | SendClientMessage(playerid, LARANJA, String); | |
| 1201 | IsAdmin ++; | |
| 1202 | } | |
| 1203 | } | |
| 1204 | if(IsAdmin == 0) | |
| 1205 | {
| |
| 1206 | SendClientMessage(playerid, CINZA, "Nenhum Admin Online!"); | |
| 1207 | } | |
| 1208 | IsAdmin = 0; | |
| 1209 | SendClientMessage(playerid, CINZA, "Use /helpers"); | |
| 1210 | return 1; | |
| 1211 | } | |
| 1212 | ||
| 1213 | //SÓ VAI FUNCIONAR O SEGUINTE COMANDO SE VC USAR O SISTEMA DE REGISTRO DO FS | |
| 1214 | #if USAR_SISTEMA_REGISTRO == 1 | |
| 1215 | CMD:mudarsenha(playerid, params[]) | |
| 1216 | {
| |
| 1217 | new StrConta[100]; | |
| 1218 | format(StrConta,sizeof(StrConta), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 1219 | format(String, sizeof(String), "{1BE0AF}Sua senha atual é {1B63E0}'%s'.\n\nDigite sua nova senha abaixo:", DOF2_GetString(StrConta, "Senha"));
| |
| 1220 | ShowPlayerDialog(playerid, DIALOG_SENHANOVA, DIALOG_STYLE_INPUT, "{1BE084}Nova Senha", String, "Mudar", "Cancelar");
| |
| 1221 | return 1; | |
| 1222 | } | |
| 1223 | #endif | |
| 1224 | ||
| 1225 | ||
| 1226 | ||
| 1227 | ||
| 1228 | CMD:helpers(playerid, params[]) | |
| 1229 | {
| |
| 1230 | new IsHelper; | |
| 1231 | new Online[10]; | |
| 1232 | SendClientMessage(playerid, VERDE, "Helpers Online:"); | |
| 1233 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 1234 | {
| |
| 1235 | if(PlayerDados[i][Helper]) | |
| 1236 | {
| |
| 1237 | if(PlayerDados[i][Trabalhando] == true) AdminTrabalhando = "Trabalhando"; | |
| 1238 | if(PlayerDados[i][Trabalhando] == false) AdminTrabalhando = "Jogando"; | |
| 1239 | if(PlayerDados[i][Afk] == true) Online = "AFK"; | |
| 1240 | if(PlayerDados[i][Afk] == false) Online = "Online"; | |
| 1241 | format(String, sizeof(String), "%s | %s | %s", Nome(i), AdminTrabalhando, Online); | |
| 1242 | SendClientMessage(playerid, VERDE_CLARO, String); | |
| 1243 | IsHelper ++; | |
| 1244 | } | |
| 1245 | } | |
| 1246 | if(IsHelper == 0) | |
| 1247 | {
| |
| 1248 | SendClientMessage(playerid, CINZA, "Nenhum Helper Online!"); | |
| 1249 | } | |
| 1250 | IsHelper = 0; | |
| 1251 | return 1; | |
| 1252 | } | |
| 1253 | ||
| 1254 | ||
| 1255 | CMD:temposair(playerid, params[]) | |
| 1256 | {
| |
| 1257 | if(PlayerDados[playerid][Preso] < 1) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está preso para usar este comando"); | |
| 1258 | format(String, sizeof(String), "Faltam %d Segundos para você ficar livre!", PlayerDados[playerid][Preso]); | |
| 1259 | SendClientMessage(playerid, VERDE_CLARO, String); | |
| 1260 | return 1; | |
| 1261 | } | |
| 1262 | ||
| 1263 | CMD:la(playerid, params[]) | |
| 1264 | {
| |
| 1265 | new Ajuda[1500]; | |
| 1266 | if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1267 | if(PlayerDados[playerid][Helper])//HELPER | |
| 1268 | {
| |
| 1269 | strcat(Ajuda,"{FFFFFF}Helper\n{FFEA03}/Jogar - /Trabalhar - /Servico - /Ir - /Trazer - /Particular - /Players\n/Afk - /SairAfk - /PortaoAdm\n\n");
| |
| 1270 | } | |
| 1271 | if(PlayerDados[playerid][Admin] > 0)//NIVEL 1 | |
| 1272 | {
| |
| 1273 | strcat(Ajuda, "{FFFFFF}Nivel 1\n{4CFA1B}/Jogar - /Trabalhar - /Servico - /InfoPlayer - /Verip - /Avisar - /Destrancarcarros\n/Kickar - /Tapa - /Assistir - /pAssistir - /Texto - /a - /Particular\n/Players - /Afk - /SairAfk - /Contagem - /PortaoAdm - /LimparChat\n\n");
| |
| 1274 | }//20 | |
| 1275 | if(PlayerDados[playerid][Admin] > 1)//NIVEL 2 | |
| 1276 | {
| |
| 1277 | strcat(Ajuda, "{FFFFFF}Nivel 2\n{0C9E05}/SetarInterior - /Banir - /Desbanir - /Advertir - /Ir - /Trazer\n/Congelar - /Descongelar - /Dararma - /Desarmar - /CriarCarro\n/Respawn - /DestruirCarro - /Calar - /Liberar - /SetarVida - /SetarColete\n/ForcarCarro - /ForcarSkin - /Jetpack - /TrazerTodos - /MoverPlayer\n\n");
| |
| 1278 | }//22 | |
| 1279 | if(PlayerDados[playerid][Admin] > 2)//NIVEL 3 | |
| 1280 | {
| |
| 1281 | strcat(Ajuda, "{FFFFFF}Nivel 3\n{11CFCF}/Prender - /Soltar - /SetarSkin - /SetarNome - /SetarCor\n/Clima - /GodMode - /Ejetar - /Falar - /Crash - /SetarPontos\n/SetarPos - /VerPos - /Barril - /dBarris - /BanirIP - /DesbanirIP\n/Tempo - /AtivarMsgs - /DesativarMsgs\n/Enquete - /Disfarce - /SairDisfarce\n\n");
| |
| 1282 | }//23 | |
| 1283 | if(PlayerDados[playerid][Admin] > 3)//NIVEL 4 | |
| 1284 | {
| |
| 1285 | strcat(Ajuda, "{FFFFFF}Nivel 4\n{1170CF}/KickarTodos - /DesarmarTodos - /ChatFalso - /GMX - /Invisivel\n/Visivel - /InteriorTodos - /IPs - /CongelarTodos\n/DescongelarTodos - /MatarTodos - /DarVip - /TirarVip - /MusicaInicial\n/FoderPlayer - /DEntradas - /Resetar\n\n");
| |
| 1286 | }//17 | |
| 1287 | if(PlayerDados[playerid][Admin] > 4)//NIVEL 5 | |
| 1288 | {
| |
| 1289 | strcat(Ajuda, "{FFFFFF}Nivel 5\n{FA0505}/NomeServer - /NomeGM - /NomeMapa - /CriarTeleporte - /DarAdmin\n/SetarGravidade - /DarHelper - /TirarHelper - /SetarAdmin - /TrancarServer\n/DestrancarServer\n\n");
| |
| 1290 | }//11 = 93 | |
| 1291 | ShowPlayerDialog(playerid, DIALOG_AL, DIALOG_STYLE_MSGBOX, "LL ADMIN - Ajuda", Ajuda, "Fechar", ""); | |
| 1292 | return 1; | |
| 1293 | } | |
| 1294 | ||
| 1295 | //---------------------------------COMANDOS DE ADMIN---------------------------------------- | |
| 1296 | ||
| 1297 | //------------------PARA NIVEL 1 OU HELPER------------------------------ | |
| 1298 | ||
| 1299 | CMD:limparchat(playerid, params[]) | |
| 1300 | {
| |
| 1301 | if(!NivelRequerido(playerid, 1)) return 1; | |
| 1302 | for(new t = 0; t < 100; ++t) | |
| 1303 | {
| |
| 1304 | SendClientMessageToAll(-1, " "); | |
| 1305 | } | |
| 1306 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} limpou o chat.", Nome(playerid));
| |
| 1307 | return 1; | |
| 1308 | } | |
| 1309 | ||
| 1310 | CMD:portaoadm(playerid, params[]) | |
| 1311 | {
| |
| 1312 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1313 | MoveObject(PortaoHQ, 2205.10009766,1835.50000000,12.60000038, 4, 0.00000000, 0.00000000, 91.99951172); | |
| 1314 | GameTextForPlayer(playerid, "Portao ~g~Aberto", 1000, 6); | |
| 1315 | SetTimer("FecharPortao", 5000, false);
| |
| 1316 | return 1; | |
| 1317 | } | |
| 1318 | ||
| 1319 | CMD:contagem(playerid, params[]) | |
| 1320 | {
| |
| 1321 | if(!NivelRequerido(playerid, 1)) return 1; | |
| 1322 | if(sscanf(params, "i", time)) return MensagemDupla(playerid, "[LL ADMIN] Use /contagem [tempo]", "Use o comando para iniciar uma contagem regressiva."); | |
| 1323 | if((time < 1) || (time > 20)) return Msg(playerid, CINZA, "Use no maximo 20 segundos!"); | |
| 1324 | MensagemFormatadaParaTodos(AZUL_CLARO, "Contagem de %d segundos iniciada pelo admin {1B95E0}%s{00C2EC}.", time, Nome(playerid));
| |
| 1325 | TimerCont = SetTimer("DiminuirTempo", 1000, true);
| |
| 1326 | return 1; | |
| 1327 | } | |
| 1328 | ||
| 1329 | CMD:afk(playerid, params[]) | |
| 1330 | {
| |
| 1331 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1332 | if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1333 | TogglePlayerSpectating(playerid, true); | |
| 1334 | SetPlayerHealth(playerid, 99999); | |
| 1335 | TogglePlayerControllable(playerid, false); | |
| 1336 | PlayerDados[playerid][Afk] = true; | |
| 1337 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} Está AFK. Veja em /admins", Nome(playerid));
| |
| 1338 | if(PlayerDados[playerid][Helper] == true) | |
| 1339 | {
| |
| 1340 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC} Está AFK. Veja em /helpers", Nome(playerid));
| |
| 1341 | } | |
| 1342 | Msg(playerid, CINZA, "Use /sairafk para sair do Afk."); | |
| 1343 | return 1; | |
| 1344 | } | |
| 1345 | ||
| 1346 | CMD:sairafk(playerid, params[]) | |
| 1347 | {
| |
| 1348 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1349 | if(PlayerDados[playerid][Trabalhando] == false) return Msg(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1350 | TogglePlayerSpectating(playerid, false); | |
| 1351 | SetPlayerHealth(playerid, 99999); | |
| 1352 | TogglePlayerControllable(playerid, true); | |
| 1353 | PlayerDados[playerid][Afk] = false; | |
| 1354 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} não está mais AFK. Veja em /admins", Nome(playerid));
| |
| 1355 | if(PlayerDados[playerid][Helper] == true) | |
| 1356 | {
| |
| 1357 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Helper {1B95E0}%s{00C2EC}não está mais AFK. Veja em /helpers", Nome(playerid));
| |
| 1358 | } | |
| 1359 | return 1; | |
| 1360 | } | |
| 1361 | ||
| 1362 | CMD:players(playerid, params[]) | |
| 1363 | {
| |
| 1364 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1365 | format(String, sizeof(String), "Players Online: {E0D01B}%d/%d", PlayersOnline, GetMaxPlayers());
| |
| 1366 | SendClientMessageToAll(AZUL, String); | |
| 1367 | return 1; | |
| 1368 | } | |
| 1369 | ||
| 1370 | CMD:particular(playerid, params[]) | |
| 1371 | {
| |
| 1372 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1373 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1374 | new t[128]; | |
| 1375 | if(sscanf(params, "us", ID, t)) return MensagemDupla(playerid, "[LL ADMIN] Use /particular [ID] [texto]", "Use o comando para mandar uma mensagem particular para um jogador."); | |
| 1376 | format(String, sizeof(String), "Particular de {E0D01B}%s{FFFF00}: %s", Nome(playerid), t);
| |
| 1377 | Msg(ID, AMARELO, String); | |
| 1378 | format(String, sizeof(String), "Particular enviada com sucesso para %s", Nome(ID)); | |
| 1379 | Msg(playerid, AMARELO, String); | |
| 1380 | return 1; | |
| 1381 | } | |
| 1382 | CMD:servico(playerid, params[]) | |
| 1383 | {
| |
| 1384 | if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1385 | if((PlayerDados[playerid][Trabalhando] == true)) | |
| 1386 | {
| |
| 1387 | PlayerDados[playerid][Trabalhando] = false; | |
| 1388 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
| |
| 1389 | if(PlayerDados[playerid][Helper]) | |
| 1390 | {
| |
| 1391 | format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
| |
| 1392 | } | |
| 1393 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1394 | SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /servico novamente."); | |
| 1395 | SetPlayerColor(playerid, LARANJA); | |
| 1396 | SetPlayerHealth(playerid, 100); | |
| 1397 | return 1; | |
| 1398 | } | |
| 1399 | if((PlayerDados[playerid][Trabalhando] == false)) | |
| 1400 | {
| |
| 1401 | PlayerDados[playerid][Trabalhando] = true; | |
| 1402 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid));
| |
| 1403 | if(PlayerDados[playerid][Helper]) | |
| 1404 | {
| |
| 1405 | format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid));
| |
| 1406 | } | |
| 1407 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1408 | SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /servico novamente."); | |
| 1409 | SetPlayerColor(playerid, 0x24E9FFFF); | |
| 1410 | SetPlayerHealth(playerid, 999999); | |
| 1411 | } | |
| 1412 | return 1; | |
| 1413 | } | |
| 1414 | ||
| 1415 | CMD:jogar(playerid, params[]) | |
| 1416 | {
| |
| 1417 | if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1418 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você ja está jogando!"); | |
| 1419 | PlayerDados[playerid][Trabalhando] = false; | |
| 1420 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
| |
| 1421 | if(PlayerDados[playerid][Helper]) | |
| 1422 | {
| |
| 1423 | format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Jogando, Agora ele é um Jogador Normal", Nome(playerid));
| |
| 1424 | } | |
| 1425 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1426 | SendClientMessage(playerid, VERDE_CLARO, "Para voltar a trabalhar use /trabalhar"); | |
| 1427 | SetPlayerColor(playerid, LARANJA); | |
| 1428 | SetPlayerHealth(playerid, 100); | |
| 1429 | return 1; | |
| 1430 | } | |
| 1431 | ||
| 1432 | CMD:trabalhar(playerid, params[]) | |
| 1433 | {
| |
| 1434 | if((PlayerDados[playerid][Admin] == 0) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin ou helper para usar este comando!"); | |
| 1435 | if(PlayerDados[playerid][Trabalhando] == true) return SendClientMessage(playerid, CINZA, "Você ja está trabalhando!"); | |
| 1436 | PlayerDados[playerid][Trabalhando] = true; | |
| 1437 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /admins", Nome(playerid));
| |
| 1438 | if(PlayerDados[playerid][Helper]) | |
| 1439 | {
| |
| 1440 | format(String, sizeof(String), "O Helper {1B95E0}%s{00C2EC} Está Trabalhando, Veja em /helpers", Nome(playerid));
| |
| 1441 | } | |
| 1442 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1443 | SendClientMessage(playerid, VERDE_CLARO, "Para voltar a jogar use /jogar"); | |
| 1444 | SetPlayerColor(playerid, 0x24E9FFFF); | |
| 1445 | SetPlayerHealth(playerid, 999999); | |
| 1446 | return 1; | |
| 1447 | } | |
| 1448 | CMD:infoplayer(playerid, params[]) | |
| 1449 | {
| |
| 1450 | new StringM[500]; | |
| 1451 | new Fala[4]; | |
| 1452 | new ip[25]; | |
| 1453 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1454 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1455 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /infoplayer [ID]"), SendClientMessage(playerid, CINZA, "Use o Comando para ver as informações de um certo player"); | |
| 1456 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1457 | if(PlayerDados[ID][Calado] == true) Fala = "Sim"; | |
| 1458 | if(PlayerDados[ID][Calado] == false) Fala = "Nao"; | |
| 1459 | GetPlayerIp(ID, ip, 25); | |
| 1460 | format(StringM, sizeof(StringM), "{FFFFFF}Dados de {11D41E}%s{FFFFFF}\n\n{11D41E}Matou:{FFFFFF} %d\n{11D41E}Morreu:{FFFFFF} %d\n{11D41E}Grana:{FFFFFF} %d\n{11D41E}Admin Level:{FFFFFF} %d\n{11D41E}Calado:{FFFFFF} %s\n{11D41E}Tempo Preso:{FFFFFF} %d", Nome(ID), PlayerDados[ID][Matou], PlayerDados[ID][Morreu], GetPlayerMoney(ID), PlayerDados[ID][Admin], Fala, PlayerDados[ID][Preso]);
| |
| 1461 | format(StringM, sizeof(StringM), "%s\n{11D41E}Advertencias:{FFFFFF} %d \n{11D41E}IP:{FFFFFF} %s", StringM, PlayerDados[ID][Advertencias], ip);
| |
| 1462 | ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informações do Player", StringM, "Fechar", ""); | |
| 1463 | return 1; | |
| 1464 | } | |
| 1465 | ||
| 1466 | CMD:verip(playerid, params[]) | |
| 1467 | {
| |
| 1468 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1469 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1470 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL-ADMIN] Use /verid [ID]"); | |
| 1471 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1472 | new strip[20]; | |
| 1473 | GetPlayerIp(ID, strip, 20); | |
| 1474 | format(String, sizeof(String), "O IP de %s é:", Nome(ID)); | |
| 1475 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1476 | format(String, sizeof(String), "%s", strip); | |
| 1477 | SendClientMessage(playerid, VERDE_CLARO, String); | |
| 1478 | return 1; | |
| 1479 | } | |
| 1480 | ||
| 1481 | CMD:avisar(playerid, params[]) | |
| 1482 | {
| |
| 1483 | new Texto[128]; | |
| 1484 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1485 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1486 | if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /avisar [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar um aviso aos jogadores"); | |
| 1487 | format(String, sizeof(String), "Admin %s [nivel %d]: %s", Nome(playerid), PlayerDados[playerid][Admin], Texto); | |
| 1488 | SendClientMessageToAll(AZUL, "________________________AVISO DA ADMINISTRAÇÃO________________________"); | |
| 1489 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1490 | return 1; | |
| 1491 | } | |
| 1492 | ||
| 1493 | CMD:destrancarcarros(playerid, params[]) | |
| 1494 | {
| |
| 1495 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1496 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1497 | for(new c = 0; c < MAX_VEHICLES; c++) | |
| 1498 | {
| |
| 1499 | SetVehicleParamsEx(c, 0, 0, 0, 0, 0, 0, 0); | |
| 1500 | } | |
| 1501 | SendClientMessage(playerid, AMARELO, "Todos os veiculos foram destrancados!"); | |
| 1502 | return 1; | |
| 1503 | } | |
| 1504 | ||
| 1505 | CMD:kickar(playerid, params[]) | |
| 1506 | {
| |
| 1507 | new Razao[128]; | |
| 1508 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1509 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1510 | if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /kickar [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para kickar um jogador"); | |
| 1511 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1512 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1513 | format(String, sizeof(String), "[LL-ADMIN] O Admin %s Kickou o Jogador %s[ID: %d] pelo motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao); | |
| 1514 | SendClientMessageToAll(VERDE_CLARO, String); | |
| 1515 | Kickar(ID, Nome(playerid), Razao); | |
| 1516 | EscreverLog("LLADMIN/Logs/Kickados.log", String);
| |
| 1517 | return 1; | |
| 1518 | } | |
| 1519 | ||
| 1520 | CMD:tapa(playerid, params[]) | |
| 1521 | {
| |
| 1522 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1523 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1524 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /tapa [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para dar um tapa em um jogador"); | |
| 1525 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1526 | new Float:Pos[3]; | |
| 1527 | GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]); | |
| 1528 | SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20); | |
| 1529 | format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu um tapa em %s\r\n", Nome(playerid), Nome(ID)); | |
| 1530 | EscreverLog("LLADMIN/Logs/Tapas.log", String);
| |
| 1531 | return 1; | |
| 1532 | } | |
| 1533 | ||
| 1534 | CMD:assistir(playerid, params[]) | |
| 1535 | {
| |
| 1536 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1537 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1538 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /assistir [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para assistir os movimentos de um jogador"); | |
| 1539 | TogglePlayerSpectating(playerid, 1); | |
| 1540 | PlayerSpectatePlayer(playerid, ID); | |
| 1541 | PlayerDados[playerid][Assistindo] = true; | |
| 1542 | SendClientMessage(playerid, VERDE_CLARO, "Para parar de assistir use /passistir"); | |
| 1543 | return 1; | |
| 1544 | } | |
| 1545 | ||
| 1546 | CMD:passistir(playerid, params[]) | |
| 1547 | {
| |
| 1548 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1549 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1550 | if(PlayerDados[playerid][Assistindo] == false) return SendClientMessage(playerid, AZUL, "Você não está assistindo ninguem!"); | |
| 1551 | TogglePlayerSpectating(playerid, 0); | |
| 1552 | SendClientMessage(playerid, VERDE_CLARO, "Você parou de assistir o jogador!"); | |
| 1553 | PlayerDados[playerid][Assistindo] = false; | |
| 1554 | return 1; | |
| 1555 | } | |
| 1556 | ||
| 1557 | CMD:texto(playerid, params[]) | |
| 1558 | {
| |
| 1559 | new Texto[128]; | |
| 1560 | if(PlayerDados[playerid][Admin] < 1) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1561 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1562 | if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /texto [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar uma mensagem em forma de GameText aos jogadores"); | |
| 1563 | format(String, sizeof(String), "~y~%s: ~w~%s", Nome(playerid), Texto); | |
| 1564 | GameTextForAll(String, 2000, 4); | |
| 1565 | return 1; | |
| 1566 | } | |
| 1567 | ||
| 1568 | CMD:a(playerid, params[]) | |
| 1569 | {
| |
| 1570 | new Texto[128]; | |
| 1571 | if((PlayerDados[playerid][Admin] < 1) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin para usar este comando!"); | |
| 1572 | if(sscanf(params, "s", Texto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /a [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para mandar mensagens para os admins online"); | |
| 1573 | if(PlayerDados[playerid][Helper] == true) AdminNivel = "Helper"; | |
| 1574 | if(PlayerDados[playerid][Admin] == 1) AdminNivel = "Moderador"; | |
| 1575 | if(PlayerDados[playerid][Admin] == 2) AdminNivel = "Admin Iniciante"; | |
| 1576 | if(PlayerDados[playerid][Admin] == 3) AdminNivel = "Admin Geral"; | |
| 1577 | if(PlayerDados[playerid][Admin] == 4) AdminNivel = "Sub Dono"; | |
| 1578 | if(PlayerDados[playerid][Admin] == 5) AdminNivel = "Poderoso Chefão"; | |
| 1579 | format(String, sizeof(String), "%s %s: %s", AdminNivel, Nome(playerid), Texto); | |
| 1580 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 1581 | {
| |
| 1582 | if(PlayerDados[i][Admin] > 0) | |
| 1583 | {
| |
| 1584 | SendClientMessage(i, AZUL_CLARO, String); | |
| 1585 | } | |
| 1586 | } | |
| 1587 | EscreverLog("LLADMIN/Logs/Chatadm.log", String);
| |
| 1588 | return 1; | |
| 1589 | } | |
| 1590 | ||
| 1591 | //-----------------------------ADMIN NIVEL 2------------------------------------ | |
| 1592 | ||
| 1593 | CMD:moverplayer(playerid, params[]) | |
| 1594 | {
| |
| 1595 | new id2; | |
| 1596 | if(!NivelRequerido(playerid, 2)) return 1; | |
| 1597 | if(sscanf(params, "uu", ID, id2)) return MensagemDupla(playerid, "[LL ADMIN] Use /moverplayer [ID] [ID2]", "Use o comando para mover um player até outro."); | |
| 1598 | new Float:X, | |
| 1599 | Float:Y, | |
| 1600 | Float:Z; | |
| 1601 | GetPlayerPos(id2, X, Y, Z); | |
| 1602 | SetPlayerPos(ID, X, Y, Z); | |
| 1603 | format(String, sizeof(String), "O admin {1B95E0}%s{00C2EC} moveu o jogador %s até %s.", Nome(playerid), Nome(ID), Nome(id2));
| |
| 1604 | MsgAll(AZUL_CLARO, String); | |
| 1605 | return 1; | |
| 1606 | } | |
| 1607 | ||
| 1608 | CMD:trazertodos(playerid, params[]) | |
| 1609 | {
| |
| 1610 | if(!NivelRequerido(playerid, 2)) return 1; | |
| 1611 | new Float:X, | |
| 1612 | Float:Y, | |
| 1613 | Float:Z; | |
| 1614 | GetPlayerPos(playerid, X, Y, Z); | |
| 1615 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1616 | {
| |
| 1617 | if(IsPlayerConnected(i)) | |
| 1618 | {
| |
| 1619 | SetPlayerPos(i, X+1, Y+1, Z); | |
| 1620 | } | |
| 1621 | } | |
| 1622 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} puxou todos os jogadores até ele.", Nome(playerid));
| |
| 1623 | return 1; | |
| 1624 | } | |
| 1625 | ||
| 1626 | CMD:jetpack(playerid, params[]) | |
| 1627 | {
| |
| 1628 | if(!NivelRequerido(playerid, 2)) return 1; | |
| 1629 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /jetpack [ID]", "Use o comando para dar um jetpakc a agum jogador."); | |
| 1630 | SetPlayerSpecialAction(ID, 2); | |
| 1631 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu um JetPack a %s.", Nome(playerid));
| |
| 1632 | return 1; | |
| 1633 | } | |
| 1634 | ||
| 1635 | CMD:explodir(playerid, params[]) | |
| 1636 | {
| |
| 1637 | if(!NivelRequerido(playerid, 2)) return 1; | |
| 1638 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /explodir [ID]", "Use o comando para explodir um jogador."); | |
| 1639 | new Float:X, | |
| 1640 | Float:Y, | |
| 1641 | Float:Z; | |
| 1642 | GetPlayerPos(ID, X, Y, Z); | |
| 1643 | CreateExplosion(X, Y, Z, 1, 5); | |
| 1644 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} explodiu o jogador %s", Nome(playerid), Nome(ID));
| |
| 1645 | return 1; | |
| 1646 | } | |
| 1647 | ||
| 1648 | CMD:tempo(playerid, params[]) | |
| 1649 | {
| |
| 1650 | new t[10]; | |
| 1651 | if(!NivelRequerido(playerid, 2)) return 1; | |
| 1652 | if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]", "Use o comando para alterar o tempo do servidor"); | |
| 1653 | if(strcmp(t, "manha", true) == 0) | |
| 1654 | {
| |
| 1655 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para manha", Nome(playerid));
| |
| 1656 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1657 | {
| |
| 1658 | SetPlayerTime(i, 9, 0); | |
| 1659 | } | |
| 1660 | SetWorldTime(9); | |
| 1661 | return 1; | |
| 1662 | } | |
| 1663 | if(strcmp(t, "tarde", true) == 0) | |
| 1664 | {
| |
| 1665 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para tarde", Nome(playerid));
| |
| 1666 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1667 | {
| |
| 1668 | SetPlayerTime(i, 14, 0); | |
| 1669 | } | |
| 1670 | SetWorldTime(14); | |
| 1671 | return 1; | |
| 1672 | } | |
| 1673 | if(strcmp(t, "noite", true) == 0) | |
| 1674 | {
| |
| 1675 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} mudou o tempo para noite", Nome(playerid));
| |
| 1676 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 1677 | {
| |
| 1678 | SetPlayerTime(i, 0, 0); | |
| 1679 | } | |
| 1680 | SetWorldTime(0); | |
| 1681 | return 1; | |
| 1682 | } | |
| 1683 | Msg(playerid, CINZA, "[LL ADMIN] Use /tempo [Manha/Tarde/Noite]"); | |
| 1684 | return 1; | |
| 1685 | } | |
| 1686 | ||
| 1687 | CMD:dargrana(playerid, params[]) | |
| 1688 | {
| |
| 1689 | new q; | |
| 1690 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1691 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1692 | if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "[LL ADMIN] Use /dargrana [ID] [quantidade]", "Use o comando para dar algum dinheiro a algum jogador"); | |
| 1693 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{38FF06} deu %d reais para {1B95E0}%s{38FF06}\r\n", Nome(playerid), q, Nome(ID));
| |
| 1694 | GivePlayerMoney(ID, q); | |
| 1695 | return 1; | |
| 1696 | } | |
| 1697 | ||
| 1698 | CMD:forcarcarro(playerid, params[]) | |
| 1699 | {
| |
| 1700 | new IDCarro; | |
| 1701 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1702 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1703 | if(sscanf(params, "ui", ID, IDCarro)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /forcarcarro [ID] [ID Veículo]"), SendClientMessage(playerid, CINZA, "Use o comando para colocar o player em um veículo"); | |
| 1704 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1705 | PutPlayerInVehicle(ID, IDCarro, 0); | |
| 1706 | format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te colocou em um veículo", Nome(playerid));
| |
| 1707 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1708 | format(String, sizeof(String), "Você colocou o jogador {1B95E0}%s{38FF06} em um veículo", Nome(ID));
| |
| 1709 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1710 | return 1; | |
| 1711 | } | |
| 1712 | ||
| 1713 | CMD:forcarskin(playerid, params[]) | |
| 1714 | {
| |
| 1715 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1716 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1717 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /forcarskin [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para forçar a seleção de skin de um jogador"); | |
| 1718 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1719 | ForceClassSelection(ID); | |
| 1720 | format(String, sizeof(String), "O Admin {1B95E0}%s{38FF06} te forçou a seleção de skin", Nome(playerid));
| |
| 1721 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1722 | format(String, sizeof(String), "Você forçou o jogador {1B95E0}%s{38FF06} a escolher uma skin", Nome(ID));
| |
| 1723 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1724 | SetPlayerHealth(playerid, 0); | |
| 1725 | return 1; | |
| 1726 | } | |
| 1727 | ||
| 1728 | ||
| 1729 | CMD:setarinterior(playerid, params[]) | |
| 1730 | {
| |
| 1731 | new Interior; | |
| 1732 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1733 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1734 | if(sscanf(params, "ui", ID, Interior)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarinterior [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando mudar o interior de um jogador"); | |
| 1735 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1736 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1737 | SetPlayerInterior(ID, Interior); | |
| 1738 | format(String, sizeof(String), "[LL-ADMIN] O Admin %s mudou o interior do Jogador %s[ID: %d] para %d", Nome(playerid), Nome(ID), ID, Interior); | |
| 1739 | SendClientMessageToAll(VERDE_CLARO, String); | |
| 1740 | return 1; | |
| 1741 | } | |
| 1742 | ||
| 1743 | ||
| 1744 | CMD:banir(playerid, params[]) | |
| 1745 | {
| |
| 1746 | new Razao[128]; | |
| 1747 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1748 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1749 | if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /banir [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para banir a conta de um jogador"); | |
| 1750 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1751 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1752 | format(String, sizeof(String), "[LL-ADMIN] O Admin %s Baniu o Jogador %s[ID: %d] pelo motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao); | |
| 1753 | SendClientMessageToAll(VERDE_CLARO, String); | |
| 1754 | EscreverLog("LLADMIN/Logs/Banidos.log", String);
| |
| 1755 | format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID)); | |
| 1756 | getdate(Ano, Mes, Dia); | |
| 1757 | gettime(Hora, Minuto, Segundo); | |
| 1758 | DOF2_CreateFile(String); | |
| 1759 | DOF2_SetString(String, "Admin", Nome(playerid)); | |
| 1760 | DOF2_SetString(String, "Motivo", Razao); | |
| 1761 | DOF2_SetInt(String, "Ano", Ano); | |
| 1762 | DOF2_SetInt(String, "Mes", Mes); | |
| 1763 | DOF2_SetInt(String, "Dia", Dia); | |
| 1764 | DOF2_SetInt(String, "Hora", Hora); | |
| 1765 | DOF2_SetInt(String, "Minuto", Minuto); | |
| 1766 | Kick(ID); | |
| 1767 | return 1; | |
| 1768 | } | |
| 1769 | ||
| 1770 | CMD:desbanir(playerid, params[]) | |
| 1771 | {
| |
| 1772 | new Conta[128]; | |
| 1773 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1774 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1775 | if(sscanf(params, "s", Conta)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanir [Conta]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir uma conta banida"); | |
| 1776 | format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Conta); | |
| 1777 | if(DOF2_FileExists(String)) | |
| 1778 | {
| |
| 1779 | DOF2_RemoveFile(String); | |
| 1780 | format(String, sizeof(String), "[LL ADMIN] Conta {1B95E0}%s{38FF06} Desbanida!", Conta);
| |
| 1781 | SendClientMessage(playerid, VERDE_CLARO, String); | |
| 1782 | return 1; | |
| 1783 | } | |
| 1784 | else | |
| 1785 | {
| |
| 1786 | format(String, sizeof(String), "[LL ADMIN] A Conta {1B95E0}%s{CECECE} Não Existe ou Não está banida!", Conta);
| |
| 1787 | SendClientMessage(playerid, CINZA, String); | |
| 1788 | } | |
| 1789 | format(String, sizeof(String), "O Admin %s desbaniu a conta %s\r\n", Nome(playerid), Conta); | |
| 1790 | EscreverLog("LLADMIN/Logs/Desbanidos.log", String);
| |
| 1791 | return 1; | |
| 1792 | } | |
| 1793 | ||
| 1794 | ||
| 1795 | CMD:advertir(playerid, params[]) | |
| 1796 | {
| |
| 1797 | new Razao[128]; | |
| 1798 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1799 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1800 | if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /advertir [ID] [Razão]"), SendClientMessage(playerid, CINZA, "Use o comando para advertir um jogador"); | |
| 1801 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1802 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1803 | if(PlayerDados[ID][Advertencias] != 3) | |
| 1804 | {
| |
| 1805 | format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu uma Advertencia a %s Pelo Motivo: %s\r\n", Nome(playerid), Nome(ID), Razao); | |
| 1806 | SendClientMessageToAll(VERMELHO_CLARO, String); | |
| 1807 | EscreverLog("LLADMIN/Logs/Advertidos.log", String);
| |
| 1808 | format(String, sizeof(String), "Você foi Advertido pelo admin %s Pelo motivo: %s. Se for advertido 3 vezes será BANIDO Automaticamente", Nome(playerid), Razao); | |
| 1809 | SendClientMessage(ID, LARANJA, String); | |
| 1810 | PlayerDados[ID][Advertencias] += 1; | |
| 1811 | } | |
| 1812 | if(PlayerDados[ID][Advertencias] == 3) | |
| 1813 | {
| |
| 1814 | format(String, sizeof(String), "[LL ADMIN] O Admin %s Deu a terceira Advertencia a %s Pelo Motivo: %s e por isso ele foi Banido!", Nome(playerid), Nome(ID), Razao); | |
| 1815 | SendClientMessageToAll(VERMELHO_CLARO, String); | |
| 1816 | format(String, sizeof(String), "Você foi Advertido pela terceira vez pelo admin %s Pelo motivo: %s. por isso você foi banido!", Nome(playerid), Razao); | |
| 1817 | SendClientMessage(ID, LARANJA, String); | |
| 1818 | format(String, sizeof(String), "LLADMIN/Banidos/Contas/%s.txt", Nome(ID)); | |
| 1819 | getdate(Ano, Mes, Dia); | |
| 1820 | gettime(Hora, Minuto, Segundo); | |
| 1821 | new IP[25]; | |
| 1822 | GetPlayerIp(ID, IP, 25); | |
| 1823 | DOF2_CreateFile(String); | |
| 1824 | DOF2_SetString(String, "Admin", Nome(playerid)); | |
| 1825 | DOF2_SetString(String, "Motivo", "3° Advertencia"); | |
| 1826 | DOF2_SetInt(String, "Ano", Ano); | |
| 1827 | DOF2_SetInt(String, "Mes", Mes); | |
| 1828 | DOF2_SetInt(String, "Dia", Dia); | |
| 1829 | DOF2_SetInt(String, "Hora", Hora); | |
| 1830 | DOF2_SetInt(String, "Minuto", Minuto); | |
| 1831 | Kick(ID); | |
| 1832 | } | |
| 1833 | return 1; | |
| 1834 | } | |
| 1835 | ||
| 1836 | CMD:ir(playerid, params[]) | |
| 1837 | {
| |
| 1838 | if((PlayerDados[playerid][Admin] < 2) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 ou helper para usar este comando!"); | |
| 1839 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1840 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /ir [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para ir até um jogador"); | |
| 1841 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1842 | new Float:Pos[3]; | |
| 1843 | GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]); | |
| 1844 | if(IsPlayerInAnyVehicle(playerid)) | |
| 1845 | {
| |
| 1846 | new carroid = GetPlayerVehicleID(playerid); | |
| 1847 | SetVehiclePos(carroid, Pos[0], Pos[1], Pos[2]); | |
| 1848 | format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid)); | |
| 1849 | if(PlayerDados[playerid][Helper]) | |
| 1850 | {
| |
| 1851 | format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid)); | |
| 1852 | } | |
| 1853 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1854 | format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID); | |
| 1855 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1856 | return 1; | |
| 1857 | } | |
| 1858 | SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2); | |
| 1859 | format(String, sizeof(String), "O Admin %s veio até você!", Nome(playerid)); | |
| 1860 | if(PlayerDados[playerid][Helper]) | |
| 1861 | {
| |
| 1862 | format(String, sizeof(String), "O Helper %s veio até você!", Nome(playerid)); | |
| 1863 | } | |
| 1864 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1865 | format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID); | |
| 1866 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1867 | return 1; | |
| 1868 | } | |
| 1869 | ||
| 1870 | CMD:trazer(playerid, params[]) | |
| 1871 | {
| |
| 1872 | if((PlayerDados[playerid][Admin] < 2) && (PlayerDados[playerid][Helper] == false)) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 ou helper para usar este comando!"); | |
| 1873 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1874 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /trazer [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para trazer um jogador até você"); | |
| 1875 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1876 | new Float:Pos[3]; | |
| 1877 | GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]); | |
| 1878 | if(IsPlayerInAnyVehicle(ID)) | |
| 1879 | {
| |
| 1880 | new carroid = GetPlayerVehicleID(ID); | |
| 1881 | SetVehiclePos(carroid, Pos[0]+2, Pos[1]+2, Pos[2]+2); | |
| 1882 | format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid)); | |
| 1883 | if(PlayerDados[playerid][Helper]) | |
| 1884 | {
| |
| 1885 | format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid)); | |
| 1886 | } | |
| 1887 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1888 | format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID); | |
| 1889 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1890 | return 1; | |
| 1891 | } | |
| 1892 | SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2); | |
| 1893 | format(String, sizeof(String), "O Admin %s trouxe você até ele!", Nome(playerid)); | |
| 1894 | if(PlayerDados[playerid][Helper]) | |
| 1895 | {
| |
| 1896 | format(String, sizeof(String), "O Helper %s trouxe você até ele!", Nome(playerid)); | |
| 1897 | } | |
| 1898 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 1899 | format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID); | |
| 1900 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 1901 | return 1; | |
| 1902 | } | |
| 1903 | ||
| 1904 | CMD:congelar(playerid, params[]) | |
| 1905 | {
| |
| 1906 | new Razao[128]; | |
| 1907 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1908 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1909 | if(sscanf(params, "us", ID, Razao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /congelar [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para impedir um jogador de se mover"); | |
| 1910 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1911 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 1912 | TogglePlayerControllable(ID, false); | |
| 1913 | PlayerDados[playerid][Congelado] = true; | |
| 1914 | format(String, sizeof(String), "[LL ADMIN] O Admin %s Congelou o Jogador %s [ID: %d] Pelo Motivo: %s\r\n", Nome(playerid), Nome(ID), ID, Razao); | |
| 1915 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1916 | SendClientMessage(playerid, VERDE_CLARO, "Para descongelar use /descongelar"); | |
| 1917 | EscreverLog("LLADMIN/Logs/Congelados.log", String);
| |
| 1918 | return 1; | |
| 1919 | } | |
| 1920 | ||
| 1921 | CMD:descongelar(playerid, params[]) | |
| 1922 | {
| |
| 1923 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1924 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1925 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /descongelar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para permitir ao jogador se movimentar"); | |
| 1926 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1927 | if(PlayerDados[ID][Congelado] == false) return SendClientMessage(playerid, CINZA, "O Jogados não está congelado!"); | |
| 1928 | TogglePlayerControllable(ID, true); | |
| 1929 | PlayerDados[ID][Congelado] = false; | |
| 1930 | format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Descongelou o jogador {1BA5E0}%s{00C2EC} [ID: %d]", Nome(playerid), Nome(ID), ID);
| |
| 1931 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1932 | return 1; | |
| 1933 | } | |
| 1934 | ||
| 1935 | CMD:dararma(playerid, params[]) | |
| 1936 | {
| |
| 1937 | new NomeArma[80]; | |
| 1938 | new | |
| 1939 | Arma, | |
| 1940 | Municao; | |
| 1941 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1942 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1943 | if(sscanf(params, "uii", ID, Arma, Municao)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /dararma [ID] [Arma] [Munição]"), SendClientMessage(playerid, CINZA, "Use o comando para dar uma arma para um jogador"); | |
| 1944 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 1945 | if(Arma < 1 || Arma == 19 || Arma == 20 || Arma == 21 || Arma > 46) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID Invalido, use de 1 a 46"); | |
| 1946 | if(Arma == 1) NomeArma = "Soco Inglês"; | |
| 1947 | if(Arma == 2) NomeArma = "Taco de Golf"; | |
| 1948 | if(Arma == 3) NomeArma = "Cacetete"; | |
| 1949 | if(Arma == 4) NomeArma = "Faca"; | |
| 1950 | if(Arma == 5) NomeArma = "Taco de Baseball"; | |
| 1951 | if(Arma == 6) NomeArma = "Pá"; | |
| 1952 | if(Arma == 7) NomeArma = "Taco de Sinuca"; | |
| 1953 | if(Arma == 8) NomeArma = "Kitana"; | |
| 1954 | if(Arma == 9) NomeArma = "Serra elétrica"; | |
| 1955 | if(Arma == 10) NomeArma = "Pinto de Borracha"; | |
| 1956 | if(Arma == 11) NomeArma = "Pinto roxo"; | |
| 1957 | if(Arma == 12) NomeArma = "Vibrador"; | |
| 1958 | if(Arma == 13) NomeArma = "Vibrador de Prata"; | |
| 1959 | if(Arma == 14) NomeArma = "Flor"; | |
| 1960 | if(Arma == 15) NomeArma = "Bengala"; | |
| 1961 | if(Arma == 16) NomeArma = "Granada"; | |
| 1962 | if(Arma == 17) NomeArma = "Bomba de gás"; | |
| 1963 | if(Arma == 18) NomeArma = "Molotov"; | |
| 1964 | if(Arma == 22) NomeArma = "Pistola 9mm"; | |
| 1965 | if(Arma == 23) NomeArma = "Pistola com silenciador"; | |
| 1966 | if(Arma == 24) NomeArma = "Desert Eagle"; | |
| 1967 | if(Arma == 25) NomeArma = "ShotGun"; | |
| 1968 | if(Arma == 26) NomeArma = "Sawnoff Shotgun"; | |
| 1969 | if(Arma == 27) NomeArma = "Combat Shotgun"; | |
| 1970 | if(Arma == 28) NomeArma = "Micro SMG"; | |
| 1971 | if(Arma == 29) NomeArma = "MP5"; | |
| 1972 | if(Arma == 30) NomeArma = "AK47"; | |
| 1973 | if(Arma == 31) NomeArma = "M4"; | |
| 1974 | if(Arma == 32) NomeArma = "Tec 9"; | |
| 1975 | if(Arma == 33) NomeArma = "Country Rifle"; | |
| 1976 | if(Arma == 34) NomeArma = "Sniper Rifle"; | |
| 1977 | if(Arma == 35) NomeArma = "Bazooca RPG"; | |
| 1978 | if(Arma == 36) NomeArma = "Bazooca Normal"; | |
| 1979 | if(Arma == 37) NomeArma = "Lança Chamas"; | |
| 1980 | if(Arma == 38) NomeArma = "Mini Gun"; | |
| 1981 | if(Arma == 39) NomeArma = "C4"; | |
| 1982 | if(Arma == 40) NomeArma = "Detonador"; | |
| 1983 | if(Arma == 41) NomeArma = "Spray"; | |
| 1984 | if(Arma == 42) NomeArma = "Extintor"; | |
| 1985 | if(Arma == 43) NomeArma = "Oculos de visão noturna"; | |
| 1986 | if(Arma == 45) NomeArma = "Oculos de visão de calor"; | |
| 1987 | if(Arma == 46) NomeArma = "Paraquedas"; | |
| 1988 | GivePlayerWeapon(ID, Arma, Municao); | |
| 1989 | format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Deu um(a) {1BA5E0}%s{00C2EC} Com {1BA5E0}%d{00C2EC} Balas para {1BA5E0}%s{00C2EC}", Nome(playerid), NomeArma, Municao, Nome(ID));
| |
| 1990 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 1991 | return 1; | |
| 1992 | } | |
| 1993 | ||
| 1994 | CMD:desarmar(playerid, params[]) | |
| 1995 | {
| |
| 1996 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 1997 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 1998 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desarmar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para desarmar um jogador"); | |
| 1999 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2000 | if(PlayerDados[ID][Admin] > PlayerDados[playerid][Admin]) return SendClientMessage(playerid, CINZA, "Você não pode fazer nada contra um admin superior a você!"); | |
| 2001 | format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} Desarmou o jogador {1BA5E0}%s{00C2EC}", Nome(playerid), Nome(ID));
| |
| 2002 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2003 | ResetPlayerWeapons(ID); | |
| 2004 | return 1; | |
| 2005 | } | |
| 2006 | ||
| 2007 | CMD:criarcarro(playerid, params[]) | |
| 2008 | {
| |
| 2009 | new | |
| 2010 | Carro, | |
| 2011 | Cor1, | |
| 2012 | Cor2; | |
| 2013 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2014 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2015 | if(sscanf(params, "iii", Carro, Cor1, Cor2)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /criarcarro [ID] [cor1] [cor2]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um veiculo, para fazer um respawn use /respawn"); | |
| 2016 | new Float:X, | |
| 2017 | Float:Y, | |
| 2018 | Float:X1, | |
| 2019 | Float:Y1, | |
| 2020 | Float:Z, | |
| 2021 | Float:A; | |
| 2022 | PosicaoFrentePlayer(playerid, X, Y, 3); | |
| 2023 | GetPlayerPos(playerid, X1, Y1, Z); | |
| 2024 | GetPlayerFacingAngle(playerid, A); | |
| 2025 | new idcarro; | |
| 2026 | idcarro = CreateVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2, 15); | |
| 2027 | CarrosCriados[TodosCarros] = idcarro; | |
| 2028 | TodosCarros ++; | |
| 2029 | return 1; | |
| 2030 | } | |
| 2031 | ||
| 2032 | CMD:respawn(playerid, params[]) | |
| 2033 | {
| |
| 2034 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2035 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2036 | format(String, sizeof(String), "[LL ADMIN] O Admin {1BA5E0}%s{00C2EC} deu Respawn nos veículos!", Nome(playerid));
| |
| 2037 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2038 | SendClientMessage(playerid, VERDE_CLARO, "Todos os carros criados foram destruidos!"); | |
| 2039 | for(new i = 0; i < sizeof(CarrosCriados); i++) | |
| 2040 | {
| |
| 2041 | DestroyVehicle(CarrosCriados[i]); | |
| 2042 | } | |
| 2043 | for(new c = 0; c < MAX_VEHICLES; c++) | |
| 2044 | {
| |
| 2045 | SetVehicleToRespawn(c); | |
| 2046 | } | |
| 2047 | return 1; | |
| 2048 | } | |
| 2049 | ||
| 2050 | CMD:destruircarro(playerid, params[]) | |
| 2051 | {
| |
| 2052 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2053 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2054 | if(IsPlayerInAnyVehicle(playerid)) | |
| 2055 | {
| |
| 2056 | new idcarro = GetPlayerVehicleID(playerid); | |
| 2057 | DestroyVehicle(idcarro); | |
| 2058 | format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idcarro); | |
| 2059 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 2060 | return 1; | |
| 2061 | } | |
| 2062 | new idc; | |
| 2063 | if(sscanf(params, "i", idc)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /destruircarro [ID], ou entre em um veículo e use o comando."); | |
| 2064 | if(idc == INVALID_VEHICLE_ID) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID invalido!"); | |
| 2065 | DestroyVehicle(idc); | |
| 2066 | format(String, sizeof(String), "[LL ADMIN] Você destruiu o veículo ID %d", idc); | |
| 2067 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 2068 | return 1; | |
| 2069 | } | |
| 2070 | ||
| 2071 | CMD:idcarro(playerid, params[]) | |
| 2072 | {
| |
| 2073 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2074 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2075 | if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, BRANCO, "Você não está em um veículo!"); | |
| 2076 | new idc; | |
| 2077 | idc = GetPlayerVehicleID(playerid); | |
| 2078 | format(String, sizeof(String), "O ID do veículo é %d, para destrui-lo use /destruircarro", idc); | |
| 2079 | SendClientMessage(playerid, CINZA, String); | |
| 2080 | return 1; | |
| 2081 | } | |
| 2082 | ||
| 2083 | CMD:calar(playerid, params[]) | |
| 2084 | {
| |
| 2085 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2086 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2087 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /calar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para impedir um jogador de usar o chat"); | |
| 2088 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2089 | if(PlayerDados[ID][Calado] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador Ja está calado!"); | |
| 2090 | PlayerDados[ID][Calado] = true; | |
| 2091 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Calou o Jogador {1B95E0}%s{00C2EC}\r\n", Nome(playerid), Nome(ID));
| |
| 2092 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2093 | EscreverLog("LLADMIN/Logs/Calados.log", String);
| |
| 2094 | SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Para Liberar a fala do jogador use /liberar [ID]"); | |
| 2095 | return 1; | |
| 2096 | } | |
| 2097 | ||
| 2098 | CMD:liberar(playerid, params[]) | |
| 2099 | {
| |
| 2100 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2101 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2102 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /liberar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para liberar um jogador calado para usar o chat"); | |
| 2103 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2104 | if(PlayerDados[ID][Calado] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] O jogador não está calado!"); | |
| 2105 | PlayerDados[ID][Calado] = false; | |
| 2106 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Liberou a fala de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
| |
| 2107 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2108 | return 1; | |
| 2109 | } | |
| 2110 | ||
| 2111 | CMD:setarvida(playerid, params[]) | |
| 2112 | {
| |
| 2113 | new Vida; | |
| 2114 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2115 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2116 | if(sscanf(params, "ui", ID, Vida)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarvida [ID] [VIDA]"); | |
| 2117 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2118 | if(Vida < 0 || Vida > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100"); | |
| 2119 | SetPlayerHealth(ID, Vida); | |
| 2120 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou a Vida de {1B95E0}%s{00C2EC} para {1B95E0}%d{00C2EC}", Nome(playerid), Nome(ID), Vida);
| |
| 2121 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2122 | return 1; | |
| 2123 | } | |
| 2124 | ||
| 2125 | CMD:setarcolete(playerid, params[]) | |
| 2126 | {
| |
| 2127 | new Colete; | |
| 2128 | if(PlayerDados[playerid][Admin] < 2) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 2 para usar este comando!"); | |
| 2129 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2130 | if(sscanf(params, "ui", ID, Colete)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcolete [ID] [COLETE]"); | |
| 2131 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2132 | if(Colete < 0 || Colete > 100) return SendClientMessage(playerid, CINZA, "[LL ADMIN]Valor Inválido! Use de 0 a 100"); | |
| 2133 | SetPlayerArmour(ID, Colete); | |
| 2134 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o Colete de {1B95E0}%s{00C2EC} para {1B95E0}%d{00C2EC}", Nome(playerid), Nome(ID), Colete);
| |
| 2135 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2136 | return 1; | |
| 2137 | } | |
| 2138 | ||
| 2139 | //-------------------------ADMIN NIVEL 3---------------------------------------- | |
| 2140 | ||
| 2141 | CMD:enquete(playerid, params[]) | |
| 2142 | {
| |
| 2143 | if(!NivelRequerido(playerid, 3)) return 1; | |
| 2144 | new t[128]; | |
| 2145 | if(sscanf(params, "s", t)) return MensagemDupla(playerid, "[LL ADMIN] Use /enquete [Pergunta]", "Use o comando para fazer uma enquete para os jogadores."); | |
| 2146 | Enquete[Criada] = true; | |
| 2147 | Enquete[Titulo] = t; | |
| 2148 | format(String, sizeof(String), "Enquete de %s: %s", Nome(playerid), t); | |
| 2149 | SendClientMessageToAll(ROXO, String); | |
| 2150 | SendClientMessageToAll(ROXO, "Use /sim ou /nao"); | |
| 2151 | SendClientMessage(playerid, AZUL_CLARO, "A Enquete será fechada automaticamente em 30 segundos."); | |
| 2152 | SetTimer("FecharEnquete", 30000, false);
| |
| 2153 | return 1; | |
| 2154 | } | |
| 2155 | ||
| 2156 | CMD:ativarmsgs(playerid, params[]) | |
| 2157 | {
| |
| 2158 | if(!NivelRequerido(playerid, 3)) return 1; | |
| 2159 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} ativou as mensagens randomicas no servidor.", Nome(playerid));
| |
| 2160 | TimerMsgs = SetTimer("MensagensRandom", 30*1000, true);
| |
| 2161 | Msg(playerid, AMARELO, "para desativar as mensagens randomicas use /desativarmsgs."); | |
| 2162 | return 1; | |
| 2163 | } | |
| 2164 | ||
| 2165 | CMD:desativarmsgs(playerid, params[]) | |
| 2166 | {
| |
| 2167 | if(!NivelRequerido(playerid, 3)) return 1; | |
| 2168 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} desativou as mensagens randomicas no servidor.", Nome(playerid));
| |
| 2169 | KillTimer(TimerMsgs); | |
| 2170 | Msg(playerid, AMARELO, "para dativa-las novamente use /ativarmsgs"); | |
| 2171 | return 1; | |
| 2172 | } | |
| 2173 | ||
| 2174 | CMD:resetargrana(playerid, params[]) | |
| 2175 | {
| |
| 2176 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2177 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2178 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetargrana [ID]", "Use o comando para resetar o dinheiro de algum jogador"); | |
| 2179 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} resetou o dinheiro de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
| |
| 2180 | ResetPlayerMoney(ID); | |
| 2181 | return 1; | |
| 2182 | } | |
| 2183 | ||
| 2184 | CMD:setargrana(playerid, params[]) | |
| 2185 | {
| |
| 2186 | new q; | |
| 2187 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2188 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2189 | if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "[LL ADMIN] Use /setargrana [ID] [Quantidade]", "Use o comando para setar o dinheiro de algum jogador para a quantia desejada"); | |
| 2190 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o dinheiro de {1B95E0}%s{00C2EC} para %d", Nome(playerid), Nome(ID), q);
| |
| 2191 | ResetPlayerMoney(ID); | |
| 2192 | GivePlayerMoney(ID, q); | |
| 2193 | return 1; | |
| 2194 | } | |
| 2195 | ||
| 2196 | CMD:prender(playerid, params[]) | |
| 2197 | {
| |
| 2198 | new Tempo, Motivo[70]; | |
| 2199 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2200 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2201 | if(sscanf(params, "uis", ID, Tempo, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /prender [ID] [Tempo] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para prender um jogador na cadeia"); | |
| 2202 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2203 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Prendeu {1B95E0}%s{00C2EC} por %d Segundos pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Tempo, Motivo);
| |
| 2204 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2205 | EscreverLog("LLADMIN/Logs/Presos.log", String);
| |
| 2206 | SetPlayerPos(ID, 264.6288,77.5742,1001.0391); | |
| 2207 | SetPlayerInterior(ID, 6); | |
| 2208 | PlayerDados[ID][Preso] = Tempo; | |
| 2209 | TimerPreso = SetTimerEx("TempoPreso", 1000, true, "i", ID);
| |
| 2210 | return 1; | |
| 2211 | } | |
| 2212 | ||
| 2213 | CMD:soltar(playerid, params[]) | |
| 2214 | {
| |
| 2215 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2216 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2217 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /soltar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para soltar um jogador preso"); | |
| 2218 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2219 | if(PlayerDados[ID][Preso] == 0) return SendClientMessage(playerid, CINZA, "O Jogador não está preso"); | |
| 2220 | PlayerDados[ID][Preso] = 1; | |
| 2221 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou o jogador {1B95E0}%s{00C2EC} da Cadeia", Nome(playerid), Nome(ID));
| |
| 2222 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2223 | return 1; | |
| 2224 | } | |
| 2225 | ||
| 2226 | CMD:setarskin(playerid, params[]) | |
| 2227 | {
| |
| 2228 | new Skin; | |
| 2229 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2230 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2231 | if(sscanf(params, "ui", ID, Skin)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarskin [ID] [Skin]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a skin de um jogador"); | |
| 2232 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2233 | if(Skin < 0 || Skin > 299) return SendClientMessage(playerid, CINZA, "[ERRO] ID Inválido, use IDs de 0 a 299!"); | |
| 2234 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} setou a Skin de {1B95E0}%s{00C2EC} para a ID n°%d", Nome(playerid), Nome(ID), Skin);
| |
| 2235 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2236 | SetPlayerSkin(ID, Skin); | |
| 2237 | return 1; | |
| 2238 | } | |
| 2239 | ||
| 2240 | CMD:setarnome(playerid, params[]) | |
| 2241 | {
| |
| 2242 | new NovoNome[30]; | |
| 2243 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2244 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2245 | if(sscanf(params, "us", ID, NovoNome)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarnome [ID] [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome de um jogador"); | |
| 2246 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2247 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o nome de {1B95E0}%s{00C2EC} Para {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), NovoNome);
| |
| 2248 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2249 | EscreverLog("LLADMIN/Logs/NovoNome.log", String);
| |
| 2250 | format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID)); | |
| 2251 | DOF2_RemoveFile(String); | |
| 2252 | SetPlayerName(ID, NovoNome); | |
| 2253 | format(String, sizeof(String), "LLADMIN/Contas/%s.txt", Nome(ID)); | |
| 2254 | DOF2_CreateFile(String); | |
| 2255 | SalvarDados(ID); | |
| 2256 | return 1; | |
| 2257 | } | |
| 2258 | ||
| 2259 | CMD:setarcor(playerid, params[]) | |
| 2260 | {
| |
| 2261 | new Cor[100]; | |
| 2262 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2263 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2264 | if(sscanf(params, "us", ID, Cor)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarcor [ID] [Cor]"), SendClientMessage(playerid, CINZA, "Use o comando para mudar a cor do nick de um jogador"); | |
| 2265 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2266 | if(strcmp(Cor, "vermelho", true) == 0) | |
| 2267 | {
| |
| 2268 | SetPlayerColor(ID, VERMELHO); | |
| 2269 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Vermelho!", Nome(playerid), Nome(ID));
| |
| 2270 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2271 | return 1; | |
| 2272 | } | |
| 2273 | if(strcmp(Cor, "azul", true) == 0) | |
| 2274 | {
| |
| 2275 | SetPlayerColor(ID, AZUL); | |
| 2276 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Azul!", Nome(playerid), Nome(ID));
| |
| 2277 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2278 | return 1; | |
| 2279 | } | |
| 2280 | if(strcmp(Cor, "verde", true) == 0) | |
| 2281 | {
| |
| 2282 | SetPlayerColor(ID, VERDE); | |
| 2283 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Verde!", Nome(playerid), Nome(ID));
| |
| 2284 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2285 | return 1; | |
| 2286 | } | |
| 2287 | if(strcmp(Cor, "amarelo", true) == 0) | |
| 2288 | {
| |
| 2289 | SetPlayerColor(ID, AMARELO); | |
| 2290 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Amarelo!", Nome(playerid), Nome(ID));
| |
| 2291 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2292 | return 1; | |
| 2293 | } | |
| 2294 | if(strcmp(Cor, "rosa", true) == 0) | |
| 2295 | {
| |
| 2296 | SetPlayerColor(ID, ROSA_CHOQUE); | |
| 2297 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Rosa!", Nome(playerid), Nome(ID));
| |
| 2298 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2299 | return 1; | |
| 2300 | } | |
| 2301 | if(strcmp(Cor, "laranja", true) == 0) | |
| 2302 | {
| |
| 2303 | SetPlayerColor(ID, LARANJA); | |
| 2304 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Laranja!", Nome(playerid), Nome(ID));
| |
| 2305 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2306 | return 1; | |
| 2307 | } | |
| 2308 | if(strcmp(Cor, "cinza", true) == 0) | |
| 2309 | {
| |
| 2310 | SetPlayerColor(ID, CINZA); | |
| 2311 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID));
| |
| 2312 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2313 | return 1; | |
| 2314 | } | |
| 2315 | if(strcmp(Cor, "branco", true) == 0) | |
| 2316 | {
| |
| 2317 | SetPlayerColor(ID, BRANCO); | |
| 2318 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Cinza!", Nome(playerid), Nome(ID));
| |
| 2319 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2320 | return 1; | |
| 2321 | } | |
| 2322 | if(strcmp(Cor, "preto", true) == 0) | |
| 2323 | {
| |
| 2324 | SetPlayerColor(ID, PRETO); | |
| 2325 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou a Cor do nick de {1B95E0}%s{00C2EC} Para Preto!", Nome(playerid), Nome(ID));
| |
| 2326 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2327 | return 1; | |
| 2328 | } | |
| 2329 | SendClientMessage(playerid, CINZA, "Cores: Vermelho, Azul, Verde, Amarelo, Rosa, Laranja, Cinza, Branco e Preto"); | |
| 2330 | return 1; | |
| 2331 | } | |
| 2332 | ||
| 2333 | CMD:clima(playerid, params[]) | |
| 2334 | {
| |
| 2335 | new Clima; | |
| 2336 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2337 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2338 | if(sscanf(params, "i", Clima)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /clima [ID do clima]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o clima do servidor"); | |
| 2339 | if(Clima < 1 || Clima > 50 || Clima < 250 || Clima > 250 || Clima < 2009 || Clima > 2009) return SendClientMessage(playerid, CINZA, "[LL ADMIN] ID Invalido, use IDs de 0 a 50, 250 ou 2009"); | |
| 2340 | SetWeather(Clima); | |
| 2341 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} mudou o Clima para o ID %d!", Nome(playerid), Clima);
| |
| 2342 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2343 | return 1; | |
| 2344 | } | |
| 2345 | ||
| 2346 | CMD:godmode(playerid, params[]) | |
| 2347 | {
| |
| 2348 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2349 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2350 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /godmode [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para deixar um jogador imortal"); | |
| 2351 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2352 | SetPlayerHealth(ID, 999999); | |
| 2353 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} deixou o Jogador {1B95E0}%s{00C2EC} em GodMode!", Nome(playerid), Nome(ID));
| |
| 2354 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2355 | return 1; | |
| 2356 | } | |
| 2357 | ||
| 2358 | CMD:ejetar(playerid, params[]) | |
| 2359 | {
| |
| 2360 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2361 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2362 | if(sscanf(params, "u", ID)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /ejetar [ID]"), SendClientMessage(playerid, CINZA, "Use o comando para tirar um jogador de seu carro"); | |
| 2363 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2364 | if(!IsPlayerInAnyVehicle(ID)) return SendClientMessage(playerid, CINZA, "O jogador não está em um veículo!"); | |
| 2365 | RemovePlayerFromVehicle(ID); | |
| 2366 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Ejetou o jogador {1B95E0}%s{00C2EC} de seu carro!", Nome(playerid), Nome(ID));
| |
| 2367 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2368 | return 1; | |
| 2369 | } | |
| 2370 | ||
| 2371 | CMD:falar(playerid, params[]) | |
| 2372 | {
| |
| 2373 | new Fala[128]; | |
| 2374 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2375 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2376 | if(sscanf(params, "s", Fala)) return SendClientMessage(playerid, CINZA, "Use /falar [texto]"), SendClientMessage(playerid, CINZA, "Use o comando para falar usando a voz do google tradutor"); | |
| 2377 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2378 | {
| |
| 2379 | format(String, sizeof(String), "http://translate.google.com/translate_tts?tl=pt&q=%s", Fala); | |
| 2380 | PlayAudioStreamForPlayer(i, String, 0, 0, 0, 0, 0); | |
| 2381 | } | |
| 2382 | format(String, sizeof(String), "[LL ADMIN] Admin {1B95E0}%s{00C2EC} Falando!", Nome(playerid));
| |
| 2383 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2384 | return 1; | |
| 2385 | } | |
| 2386 | ||
| 2387 | CMD:crash(playerid, params[]) | |
| 2388 | {
| |
| 2389 | new Motivo[100]; | |
| 2390 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2391 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2392 | if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /crash [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para crashar um jogador"); | |
| 2393 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2394 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Crashou {1B95E0}%s{00C2EC} pelo motivo: {1B95E0}%s{00C2EC}!\r\n", Nome(playerid), Nome(ID), Motivo);
| |
| 2395 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2396 | EscreverLog("LLADMIN/Logs/Crashados.log", String);
| |
| 2397 | GameTextForPlayer(ID, "~k~~INVALID_KEY~", 5000, 5); | |
| 2398 | return 1; | |
| 2399 | } | |
| 2400 | ||
| 2401 | CMD:setarpontos(playerid, params[]) | |
| 2402 | {
| |
| 2403 | new Pontos; | |
| 2404 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2405 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2406 | if(sscanf(params, "ui", ID, Pontos)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarpontos [ID] [Pontos]"), SendClientMessage(playerid, CINZA, "Use o comando para setar o score de um jogador"); | |
| 2407 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2408 | SetPlayerScore(ID, Pontos); | |
| 2409 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou os pontos de {1B95E0}%s{00C2EC} para: {1B95E0}%d{00C2EC}!", Nome(playerid), Nome(ID), Pontos);
| |
| 2410 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2411 | return 1; | |
| 2412 | } | |
| 2413 | ||
| 2414 | CMD:setarpos(playerid, params[]) | |
| 2415 | {
| |
| 2416 | new X, Y, Z; | |
| 2417 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2418 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2419 | if(sscanf(params, "uiii", ID, X, Y, Z)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setarposicao [ID] [Pos X] [Pos Y] [Pos Z]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a posição de um jogador"); | |
| 2420 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2421 | SetPlayerPos(ID, X, Y, Z); | |
| 2422 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Teleportou o jogador {1B95E0}%s{00C2EC} para as cordenadas: %d %d %d!", Nome(playerid), Nome(ID), X, Y, Z);
| |
| 2423 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2424 | return 1; | |
| 2425 | } | |
| 2426 | ||
| 2427 | CMD:verpos(playerid, params[]) | |
| 2428 | {
| |
| 2429 | new Float: X, | |
| 2430 | Float: Y, | |
| 2431 | Float: Z; | |
| 2432 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2433 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2434 | GetPlayerPos(playerid, X, Y, Z); | |
| 2435 | format(String, sizeof(String), "[LL ADMIN] Você está na posição %f %f %f", X, Y, Z); | |
| 2436 | SendClientMessage(playerid, AMARELO, String); | |
| 2437 | return 1; | |
| 2438 | } | |
| 2439 | ||
| 2440 | CMD:barril(playerid, params[]) | |
| 2441 | {
| |
| 2442 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2443 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2444 | new Float: X, | |
| 2445 | Float: Y, | |
| 2446 | Float: Z; | |
| 2447 | GetPlayerPos(playerid, X, Y, Z); | |
| 2448 | PosicaoFrentePlayer(playerid, X, Y, 5); | |
| 2449 | new barril; | |
| 2450 | barril = CreateObject(1225, X, Y, Z, 0, 0, 0, 50); | |
| 2451 | Barris[tBarris] = barril; | |
| 2452 | tBarris ++; | |
| 2453 | SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Você criou um barril explosivo, para destrui-lo use /dbarris"); | |
| 2454 | return 1; | |
| 2455 | } | |
| 2456 | ||
| 2457 | CMD:dbarris(playerid, params[]) | |
| 2458 | {
| |
| 2459 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2460 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2461 | for(new o = 0; o < sizeof(Barris); o++) | |
| 2462 | {
| |
| 2463 | DestroyObject(Barris[o]); | |
| 2464 | } | |
| 2465 | SendClientMessage(playerid, VERDE_CLARO, "[LL ADMIN] Todos os Barris foram destruídos"); | |
| 2466 | return 1; | |
| 2467 | } | |
| 2468 | ||
| 2469 | CMD:hora(playerid, params[]) | |
| 2470 | {
| |
| 2471 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2472 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2473 | if(sscanf(params, "ii", Hora, Minuto)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /hora [Hora] [Minuto]"); | |
| 2474 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou a hora do servidor para: {1B95E0}%d:%d", Nome(playerid), Hora, Minuto);
| |
| 2475 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2476 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2477 | {
| |
| 2478 | SetPlayerTime(i, Hora, Minuto); | |
| 2479 | } | |
| 2480 | return 1; | |
| 2481 | } | |
| 2482 | ||
| 2483 | CMD:banirip(playerid, params[]) | |
| 2484 | {
| |
| 2485 | new Motivo[128]; | |
| 2486 | new Str2[128]; | |
| 2487 | new Ip[25]; | |
| 2488 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2489 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2490 | if(sscanf(params, "us", ID, Motivo)) return SendClientMessage(playerid, CINZA, "Use /banirip [ID] [Motivo]"), SendClientMessage(playerid, CINZA, "Use o comando para banir o IP de um jogador"); | |
| 2491 | if(!DOF2_FileExists("LLADMIN/BANIDOS/Ips.txt")) DOF2_CreateFile("LLADMIN/BANIDOS/Ips.txt");
| |
| 2492 | GetPlayerIp(ID, Ip, 25); | |
| 2493 | format(String, sizeof(String), "%s", Ip); | |
| 2494 | format(Str2, sizeof(Str2), "Admin: %s - Motivo: %s", Nome(playerid), Motivo); | |
| 2495 | DOF2_SetString("LLADMIN/BANIDOS/Ips.txt", String, Str2);
| |
| 2496 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Baniu definitivamente o jogador {1B95E0}%s{00C2EC} pelo motivo: %s\r\n", Nome(playerid), Nome(ID), Motivo);
| |
| 2497 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2498 | EscreverLog("LLADMIN/Logs/BanirIp.log", String);
| |
| 2499 | Kick(ID); | |
| 2500 | return 1; | |
| 2501 | } | |
| 2502 | ||
| 2503 | CMD:desbanirip(playerid, params[]) | |
| 2504 | {
| |
| 2505 | new IP[25]; | |
| 2506 | if(PlayerDados[playerid][Admin] < 3) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 3 para usar este comando!"); | |
| 2507 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2508 | if(sscanf(params, "i", IP)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /desbanirip [IP]"), SendClientMessage(playerid, CINZA, "Use o comando para desbanir um IP banido"); | |
| 2509 | if(!DOF2_IsSet("LLADMIN/Banidos/Ips.txt", IP)) return SendClientMessage(playerid, CINZA, "Este IP não está banido!");
| |
| 2510 | DOF2_Unset("LLADMIN/Banidos/Ips.txt", IP);
| |
| 2511 | format(String, sizeof(String), "[LL ADMIN]IP %s Desbanido pelo admin %s!", IP, Nome(playerid)); | |
| 2512 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2513 | EscreverLog("LLADMIN/Logs/DesbanirIp.log", String);
| |
| 2514 | return 1; | |
| 2515 | } | |
| 2516 | ||
| 2517 | CMD:disfarce(playerid, params[]) | |
| 2518 | {
| |
| 2519 | if(!NivelRequerido(playerid, 3)) return 1; | |
| 2520 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /disfarce [ID]", "Use o comando para se disfarçar de algum jogador."); | |
| 2521 | new Cor = GetPlayerColor(ID); | |
| 2522 | new Skin = GetPlayerSkin(ID); | |
| 2523 | NomeOriginal[playerid] = Nome(playerid); | |
| 2524 | SetPlayerName(playerid, Nome(ID)); | |
| 2525 | SetPlayerColor(playerid, Cor); | |
| 2526 | SetPlayerSkin(playerid, Skin); | |
| 2527 | SetarDado(playerid, Disfarcado, true); | |
| 2528 | Msg(playerid, AMARELO, "Para sair do disfarce use /sairdisfarce."); | |
| 2529 | return 1; | |
| 2530 | } | |
| 2531 | ||
| 2532 | CMD:sairdisfarce(playerid, params[]) | |
| 2533 | {
| |
| 2534 | if(!NivelRequerido(playerid, 3)) return 1; | |
| 2535 | if(GetarDado(playerid, Disfarcado) == false) return Msg(playerid, CINZA, "Você não está disfarçado."); | |
| 2536 | SetPlayerName(playerid, NomeOriginal[playerid]); | |
| 2537 | SetPlayerSkin(playerid, 9); | |
| 2538 | SetPlayerColor(playerid, 0x24E9FFFF); | |
| 2539 | Msg(playerid, AMARELO, "Você saiu do disfarce com sucesso"); | |
| 2540 | return 1; | |
| 2541 | } | |
| 2542 | ||
| 2543 | //------------------------------ADMIN LEVEL 4----------------------------------- | |
| 2544 | ||
| 2545 | CMD:resetar(playerid, params[]) | |
| 2546 | {
| |
| 2547 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2548 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /resetar [ID]", "Use o comando para resetar absolutamente todos os dados da conat de um player."); | |
| 2549 | MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} resetou a conta de %s.", Nome(playerid), Nome(ID));
| |
| 2550 | SetarDado(ID, Admin, 0); | |
| 2551 | SetarDado(ID, Vip, false); | |
| 2552 | SetarDado(ID, Helper, false); | |
| 2553 | SetarDado(ID, Matou, 0); | |
| 2554 | SetarDado(ID, Morreu, 0); | |
| 2555 | SetarDado(ID, Preso, 0); | |
| 2556 | SetarDado(ID, Calado, false); | |
| 2557 | SetarDado(ID, Congelado, false); | |
| 2558 | SetPlayerScore(ID, 0); | |
| 2559 | return 1; | |
| 2560 | } | |
| 2561 | ||
| 2562 | CMD:dentradas(playerid, params[]) | |
| 2563 | {
| |
| 2564 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2565 | MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} desabilitou as entradas em lojas próprias do jogo.", Nome(playerid));
| |
| 2566 | DisableInteriorEnterExits(); | |
| 2567 | Msg(playerid, CINZA, "Para ativa-las novamente de um /gmx."); | |
| 2568 | return 1; | |
| 2569 | } | |
| 2570 | ||
| 2571 | CMD:foderplayer(playerid, params[]) | |
| 2572 | {
| |
| 2573 | new m[128]; | |
| 2574 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2575 | if(sscanf(params, "us", ID, m)) return MensagemDupla(playerid, "[LL ADMIN] Use /foderplayer [ID] [Motivo]", "Use o comando para mandar um jogador para o carandiru, congela-lo e força-lo a ouvir Restart."); | |
| 2576 | SetPlayerPos(ID, 107.2300,1920.6311,18.5208); | |
| 2577 | SetPlayerWorldBounds(ID, 337.5694,101.5826,1940.9759,1798.7453); | |
| 2578 | TogglePlayerControllable(ID, false); | |
| 2579 | PlayerDados[ID][Calado] = true; | |
| 2580 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Fodeo o player {1B95E0}%s{00C2EC} pelo motivo: %s.\n\r", Nome(playerid), Nome(ID), m);
| |
| 2581 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2582 | PlayAudioStreamForPlayer(ID, "http://dc239.4shared.com/img/288497172/b1c25846/dlink__2Fdownload_2FAzhEPzew_3Ftsid_3D20120321-232554-e2632526/preview.mp3", 0, 0, 0, 10, 0); | |
| 2583 | if(!DOF2_FileExists("LLADMIN/Fodidos.txt"))
| |
| 2584 | {
| |
| 2585 | DOF2_CreateFile("LLADMIN/Fodidos.txt");
| |
| 2586 | } | |
| 2587 | EscreverLog("LLADMIN/Logs/Fodidos.txt", String);
| |
| 2588 | new ip[25]; | |
| 2589 | GetPlayerIp(ID, ip, 25); | |
| 2590 | format(String, sizeof(String), "Nome: %s. Admin: %s. Motivo: %s", Nome(ID), Nome(playerid), m); | |
| 2591 | DOF2_SetString("LLADMIN/Fodidos.txt", ip, String);
| |
| 2592 | MensagemFormatada(AMARELO, "O IP do player fodido (%s) é %s. Para parar de fode-lo use /desfoder [IP]", Nome(ID), ip); | |
| 2593 | SalvarDados(ID); | |
| 2594 | return 1; | |
| 2595 | } | |
| 2596 | ||
| 2597 | CMD:desfoder(playerid, params[]) | |
| 2598 | {
| |
| 2599 | new ip[25]; | |
| 2600 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2601 | if(sscanf(params, "s", ip)) return MensagemDupla(playerid, "[LL ADMIN] Use /desfoder [IP]", "Use o comando para para de foder um player."); | |
| 2602 | if(!DOF2_FileExists("LLADMIN/Fodidos.txt"))
| |
| 2603 | {
| |
| 2604 | SendClientMessage(playerid, AMARELO, "Não existe nenhum IP fodido."); | |
| 2605 | return 1; | |
| 2606 | } | |
| 2607 | format(String, sizeof(String), "%i", ip); | |
| 2608 | if(!DOF2_IsSet("LLADMIN/Fodidos.txt", String))
| |
| 2609 | {
| |
| 2610 | format(String, sizeof(String), "O IP %s não está fodido.", ip); | |
| 2611 | SendClientMessage(playerid, AMARELO, String); | |
| 2612 | return 1; | |
| 2613 | } | |
| 2614 | DOF2_Unset("LLADMIN/Fodidos.txt", String);
| |
| 2615 | format(String, sizeof(String), "IP %s desfodido com sucesso.", ip); | |
| 2616 | Msg(playerid, VERDE_CLARO, String); | |
| 2617 | return 1; | |
| 2618 | } | |
| 2619 | ||
| 2620 | CMD:musicainicial(playerid, params[]) | |
| 2621 | {
| |
| 2622 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2623 | ShowPlayerDialog(playerid, DIALOG_MUSICAS, DIALOG_STYLE_LIST, "Escolha uma musica para tocar para o novo player conectado", "{FFFFFF}Nenhuma\nSweet Chield o Mine\nFeel so Close\nMemories\nOpen Bar", "Aplicar", "Fechar");
| |
| 2624 | return 1; | |
| 2625 | } | |
| 2626 | ||
| 2627 | CMD:darvip(playerid, params[]) | |
| 2628 | {
| |
| 2629 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2630 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darvip [ID]", "Use o comando para dar vip a algum jogador."); | |
| 2631 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} deu VIP a {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
| |
| 2632 | SetarDado(playerid, Vip, true); | |
| 2633 | DOF2_SetBool("LLADMIN/Vips.vip", Nome(ID), true);
| |
| 2634 | return 1; | |
| 2635 | } | |
| 2636 | ||
| 2637 | CMD:tirarvip(playerid, params[]) | |
| 2638 | {
| |
| 2639 | if(!NivelRequerido(playerid, 4)) return 1; | |
| 2640 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarvip [ID]", "Use o comando para tirar o VIP de algum player."); | |
| 2641 | if(!DOF2_IsSet("LLADMIN/Vips.vip", Nome(ID))) return Msg(playerid, CINZA, "O Jogador não é VIP.");
| |
| 2642 | DOF2_Unset("LLADMIN/Vips.vip", Nome(ID));
| |
| 2643 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} tirou seu VIP.", Nome(playerid));
| |
| 2644 | SendClientMessage(ID, AZUL_CLARO, String); | |
| 2645 | format(String, sizeof(String), "Você tiou o VIP de %s.", Nome(ID)); | |
| 2646 | SendClientMessage(playerid, AZUL_CLARO, String); | |
| 2647 | return 1; | |
| 2648 | } | |
| 2649 | ||
| 2650 | CMD:kickartodos(playerid, params[]) | |
| 2651 | {
| |
| 2652 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2653 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2654 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Kickou Todos do servidor!", Nome(playerid));
| |
| 2655 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2656 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2657 | {
| |
| 2658 | if(PlayerDados[i][Admin] < 1) | |
| 2659 | {
| |
| 2660 | Kick(i); | |
| 2661 | } | |
| 2662 | } | |
| 2663 | return 1; | |
| 2664 | } | |
| 2665 | ||
| 2666 | CMD:desarmartodos(playerid, params[]) | |
| 2667 | {
| |
| 2668 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2669 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2670 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Tirou as armas de Todos do servidor!", Nome(playerid));
| |
| 2671 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2672 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2673 | {
| |
| 2674 | if(PlayerDados[i][Admin] < 1) | |
| 2675 | {
| |
| 2676 | ResetPlayerWeapons(i); | |
| 2677 | } | |
| 2678 | } | |
| 2679 | return 1; | |
| 2680 | } | |
| 2681 | ||
| 2682 | CMD:chatfalso(playerid, params[]) | |
| 2683 | {
| |
| 2684 | new Fala[128]; | |
| 2685 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2686 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2687 | if(sscanf(params, "us", ID, Fala)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /chatfalso [ID] [Fala]"), SendClientMessage(playerid, CINZA, "Use o comando para fazer com que você fale por um certo jogador"); | |
| 2688 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2689 | new Cor = GetPlayerColor(ID); | |
| 2690 | format(String, sizeof(String), "%s: {FFFFFF}%s", Nome(ID), Fala);
| |
| 2691 | SendClientMessageToAll(Cor, String); | |
| 2692 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2693 | {
| |
| 2694 | if(PlayerDados[i][Admin] > 0) | |
| 2695 | {
| |
| 2696 | format(String, sizeof(String), "[LL ADMIN] O Admin %s usou o chat falso com o jogador %s. Esta mensagem foi exibida apenas para admin", Nome(playerid), Nome(ID)); | |
| 2697 | SendClientMessage(i, AZUL_CLARO, String); | |
| 2698 | } | |
| 2699 | } | |
| 2700 | return 1; | |
| 2701 | } | |
| 2702 | ||
| 2703 | CMD:gmx(playerid, params[]) | |
| 2704 | {
| |
| 2705 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2706 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2707 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Deu GMX no servidor, em alguns segundos ele será reiniciado", Nome(playerid));
| |
| 2708 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2709 | Loop(i, MAX_PLAYERS) | |
| 2710 | {
| |
| 2711 | SalvarDados(i); | |
| 2712 | } | |
| 2713 | - | CMD:lladminlucas(playerid, params[]) |
| 2713 | + | |
| 2714 | return 1; | |
| 2715 | - | if((strcmp(Nome(playerid), "Lucas_Alemao", true) == 0) || (strcmp(Nome(playerid), "[iPs]Lucas", true) == 0)) |
| 2715 | + | |
| 2716 | ||
| 2717 | - | SetarDado(playerid, Admin, 5); |
| 2717 | + | |
| 2718 | - | Msg(playerid, CINZA, "Bem Vindo Lucas, ao seu sistema de admin."); |
| 2718 | + | |
| 2719 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2720 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2721 | if(PlayerDados[playerid][Invisivel] == true) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você ja está invisivel!"); | |
| 2722 | SetPlayerVirtualWorld(playerid, 5); | |
| 2723 | PlayerDados[playerid][Invisivel] = true; | |
| 2724 | SendClientMessage(playerid, AZUL_CLARO, "Use /visivel para ficar visivel novamente"); | |
| 2725 | return 1; | |
| 2726 | } | |
| 2727 | ||
| 2728 | CMD:visivel(playerid, params[]) | |
| 2729 | {
| |
| 2730 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2731 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2732 | if(PlayerDados[playerid][Invisivel] == false) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Você não está invisivel!"); | |
| 2733 | SetPlayerVirtualWorld(playerid, 0); | |
| 2734 | PlayerDados[playerid][Invisivel] = false; | |
| 2735 | SendClientMessage(playerid, AZUL_CLARO, "Você está visivel novamente!"); | |
| 2736 | return 1; | |
| 2737 | } | |
| 2738 | ||
| 2739 | CMD:interiortodos(playerid, params[]) | |
| 2740 | {
| |
| 2741 | new Interior; | |
| 2742 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2743 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2744 | if(sscanf(params, "i", Interior)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /interiortodos [Interior]"), SendClientMessage(playerid, CINZA, "Use o comando para setar o interior de todos os jogador"); | |
| 2745 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2746 | {
| |
| 2747 | SetPlayerInterior(i, Interior); | |
| 2748 | } | |
| 2749 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Setou o interior de todos para %d", Nome(playerid), Interior);
| |
| 2750 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2751 | return 1; | |
| 2752 | } | |
| 2753 | ||
| 2754 | CMD:ips(playerid, params[]) | |
| 2755 | {
| |
| 2756 | new StrIps[400]; | |
| 2757 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2758 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2759 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2760 | {
| |
| 2761 | if(IsPlayerConnected(i)) | |
| 2762 | {
| |
| 2763 | new Ip[30]; | |
| 2764 | GetPlayerIp(i, Ip, 30); | |
| 2765 | format(String, sizeof(String), "\n{1BE049}Nome: {FFFFFF}%s\n{1BE049}Ip: {FFFFFF}%s\n", Nome(i), Ip);
| |
| 2766 | strcat(StrIps, String); | |
| 2767 | } | |
| 2768 | } | |
| 2769 | ShowPlayerDialog(playerid, DIALOG_IPS, DIALOG_STYLE_MSGBOX, "Ips dos jogadores conectados:", StrIps, "Fechar", ""); | |
| 2770 | return 1; | |
| 2771 | } | |
| 2772 | ||
| 2773 | CMD:congelartodos(playerid, params[]) | |
| 2774 | {
| |
| 2775 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2776 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2777 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2778 | {
| |
| 2779 | TogglePlayerControllable(i, false); | |
| 2780 | PlayerDados[i][Congelado] = true; | |
| 2781 | } | |
| 2782 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Congelou todos os Jogadores", Nome(playerid));
| |
| 2783 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2784 | return 1; | |
| 2785 | } | |
| 2786 | ||
| 2787 | CMD:descongelartodos(playerid, params[]) | |
| 2788 | {
| |
| 2789 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2790 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2791 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2792 | {
| |
| 2793 | TogglePlayerControllable(i, true); | |
| 2794 | PlayerDados[i][Congelado] = false; | |
| 2795 | } | |
| 2796 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Descongelou todos os Jogadores", Nome(playerid));
| |
| 2797 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2798 | return 1; | |
| 2799 | } | |
| 2800 | ||
| 2801 | CMD:matartodos(playerid, params[]) | |
| 2802 | {
| |
| 2803 | if(PlayerDados[playerid][Admin] < 4) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 4 para usar este comando!"); | |
| 2804 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2805 | for(new i = 0; i < MAX_PLAYERS; i++) | |
| 2806 | {
| |
| 2807 | SetPlayerHealth(i, 0); | |
| 2808 | } | |
| 2809 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Matou todos os Jogadores", Nome(playerid));
| |
| 2810 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2811 | return 1; | |
| 2812 | } | |
| 2813 | ||
| 2814 | //-----------------------ADMIN NIVEL 5------------------------------------------ | |
| 2815 | ||
| 2816 | CMD:trancarserver(playerid, params[]) | |
| 2817 | {
| |
| 2818 | new senha[30]; | |
| 2819 | if(!NivelRequerido(playerid, 5)) return 1; | |
| 2820 | if(sscanf(params, "s", senha)) return MensagemDupla(playerid, "[LL ADMIN] Use /trancarserver [Senha]", "Use o comando para trancar seu servidor utilizando a senha desejada."); | |
| 2821 | format(String, sizeof(String), "password %s", senha); | |
| 2822 | SendRconCommand(String); | |
| 2823 | MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} trancou o servidor", Nome(playerid));
| |
| 2824 | ServerTrancado = true; | |
| 2825 | return 1; | |
| 2826 | } | |
| 2827 | ||
| 2828 | CMD:destrancarserver(playerid, params[]) | |
| 2829 | {
| |
| 2830 | if(!NivelRequerido(playerid, 5)) return 1; | |
| 2831 | if((!ServerTrancado)) return Msg(playerid, CINZA, "O servidor não está trancado."); | |
| 2832 | SendRconCommand("password 0");
| |
| 2833 | MensagemFormatadaParaTodos(AZUL_CLARO, "O admin {1B95E0}%s{00C2EC} destrancou o servidor", Nome(playerid));
| |
| 2834 | return 1; | |
| 2835 | } | |
| 2836 | ||
| 2837 | CMD:darhelper(playerid, params[]) | |
| 2838 | {
| |
| 2839 | if(NivelRequerido(playerid, 5)) | |
| 2840 | {
| |
| 2841 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /darhelper [ID]", "Use o comando para oferecer helper a algum jogador."); | |
| 2842 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2843 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} ofereceu Helper a %s", Nome(playerid), Nome(ID));
| |
| 2844 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2845 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} está te oferecendo Helper.", Nome(playerid));
| |
| 2846 | ShowPlayerDialog(ID, DIALOG_HELPER, DIALOG_STYLE_MSGBOX, "Helper", String, "Aceitar", "Recusar"); | |
| 2847 | } | |
| 2848 | return 1; | |
| 2849 | } | |
| 2850 | ||
| 2851 | CMD:tirarhelper(playerid, params[]) | |
| 2852 | {
| |
| 2853 | if(NivelRequerido(playerid, 5)) | |
| 2854 | {
| |
| 2855 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /tirarhelper [ID]", "Use o comando para tirar helper de algum player."); | |
| 2856 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} tirou o helper de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
| |
| 2857 | PlayerDados[ID][Helper] = false; | |
| 2858 | DOF2_Unset("LLADMIN/Helpers.hel", Nome(ID));
| |
| 2859 | } | |
| 2860 | return 1; | |
| 2861 | } | |
| 2862 | ||
| 2863 | CMD:versenha(playerid, params[]) | |
| 2864 | {
| |
| 2865 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2866 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2867 | if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "[LL ADMIN] Use /versenha [ID]", "Use o comando para ver a senha algum jogador."); | |
| 2868 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(ID)); | |
| 2869 | if(!DOF2_IsSet(StringContas, "Senha")) return SendClientMessage(playerid, CINZA, "Não é possivel ver a senha do jogador pois o server não usa o sistema de registro do FS"); | |
| 2870 | format(String, sizeof(String), "A senha de %s é '%s'", Nome(ID), DOF2_GetString(StringContas, "Senha")); | |
| 2871 | SendClientMessage(playerid, AMARELO, String); | |
| 2872 | return 1; | |
| 2873 | } | |
| 2874 | ||
| 2875 | CMD:nomeserver(playerid, params[]) | |
| 2876 | {
| |
| 2877 | new NomeServer[128]; | |
| 2878 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2879 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2880 | if(sscanf(params, "s", NomeServer)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomeserver [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do servidor"); | |
| 2881 | format(String, sizeof(String), "hostname %s", NomeServer); | |
| 2882 | SendRconCommand(String); | |
| 2883 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do server para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeServer);
| |
| 2884 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2885 | EscreverLog("LLADMIN/Logs/Nome_Server.log", String);
| |
| 2886 | return 1; | |
| 2887 | } | |
| 2888 | ||
| 2889 | CMD:nomegm(playerid, params[]) | |
| 2890 | {
| |
| 2891 | new NomeGM[128]; | |
| 2892 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2893 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2894 | if(sscanf(params, "s", NomeGM)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomegm [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do game mode"); | |
| 2895 | SetGameModeText(NomeGM); | |
| 2896 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Game Mode para {1B95E0}%s{00C2EC}\r\n", Nome(playerid), NomeGM);
| |
| 2897 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2898 | EscreverLog("LLADMIN/Logs/Nome_GM.log", String);
| |
| 2899 | return 1; | |
| 2900 | } | |
| 2901 | ||
| 2902 | CMD:nomemapa(playerid, params[]) | |
| 2903 | {
| |
| 2904 | new NomeMapa[128]; | |
| 2905 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2906 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2907 | if(sscanf(params, "s", NomeMapa)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /nomemapa [Nome]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar o nome do mapa do server"); | |
| 2908 | format(String, sizeof(String), "mapname %s", NomeMapa); | |
| 2909 | SendRconCommand(String); | |
| 2910 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Mudou o nome do Mapa para {1B95E0}%s{00C2EC}", Nome(playerid), NomeMapa);
| |
| 2911 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2912 | return 1; | |
| 2913 | } | |
| 2914 | ||
| 2915 | CMD:criarteleporte(playerid, params[]) | |
| 2916 | {
| |
| 2917 | new Comando[128], | |
| 2918 | Float:X, | |
| 2919 | Float:Y, | |
| 2920 | Float:Z; | |
| 2921 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2922 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2923 | if(sscanf(params, "s", Comando)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /criarteleporte [Comando]"), SendClientMessage(playerid, CINZA, "Use o comando para criar um teleporte, o teleporte será salvo caso o server seja reiniciado"); | |
| 2924 | format(String, sizeof(String), "LLADMIN/Teleportes/te %s.txt", Comando); | |
| 2925 | if(DOF2_FileExists(String)) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Este Comando ja existe!"); | |
| 2926 | DOF2_CreateFile(String); | |
| 2927 | GetPlayerPos(playerid, X, Y, Z); | |
| 2928 | DOF2_SetString(String, "Admin", Nome(playerid)); | |
| 2929 | DOF2_SetString(String, "Comando", Comando); | |
| 2930 | DOF2_SetFloat(String, "X", X); | |
| 2931 | DOF2_SetFloat(String, "Y", Y); | |
| 2932 | DOF2_SetFloat(String, "Z", Z); | |
| 2933 | format(String, sizeof(String), "[LL ADMIN] O Admin {1B95E0}%s{00C2EC} Criou o teleporte {1B95E0}'te %s'{00C2EC}", Nome(playerid), Comando);
| |
| 2934 | SendClientMessageToAll(AZUL_CLARO, String); | |
| 2935 | return 1; | |
| 2936 | } | |
| 2937 | ||
| 2938 | CMD:daradmin(playerid, params[]) | |
| 2939 | {
| |
| 2940 | if(!IsPlayerAdmin(playerid) && PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2941 | if(sscanf(params, "ud", ID, nivel)) return SendClientMessage(playerid, CINZA, "Use /daradmin [ID] [nivel]"), SendClientMessage(playerid, CINZA, "Use o comando para oferecer admin para algum jogador"); | |
| 2942 | if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, BRANCO, "[ERRO] ID invalido"); | |
| 2943 | if(nivel < 0 || nivel > 5) return SendClientMessage(playerid, BRANCO, "[ERRO] Nivel invalido, use de 0 a 5"); | |
| 2944 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Ofereceu Admin Nivel %d de Admin para %s.\r\n", Nome(playerid), nivel, Nome(ID));
| |
| 2945 | SendClientMessageToAll(VERDE_AGUA, String); | |
| 2946 | format(String, sizeof(String), "{FFFFFF}O Admin {1B95E0}%s{FFFFFF} está lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
| |
| 2947 | ShowPlayerDialog(ID, DIALOG_ADM, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar"); | |
| 2948 | return 1; | |
| 2949 | } | |
| 2950 | ||
| 2951 | CMD:setaradmin(playerid, params[]) | |
| 2952 | {
| |
| 2953 | new l; | |
| 2954 | if(!NivelRequerido(playerid, 5)) return 1; | |
| 2955 | if(sscanf(params, "ui", ID, l)) return MensagemDupla(playerid, "Use /setaradmin [ID] [Nivel]", "Use o comando para definir o admin de algum player"); | |
| 2956 | SetarDado(ID, Admin, l); | |
| 2957 | MensagemFormatadaParaTodos(AZUL_CLARO, "O Admin {1B95E0}%s{00C2EC} setou o admin de %s para %d.", Nome(playerid), Nome(ID), l);
| |
| 2958 | return 1; | |
| 2959 | } | |
| 2960 | ||
| 2961 | CMD:setargravidade(playerid, params[]) | |
| 2962 | {
| |
| 2963 | new Gravidade; | |
| 2964 | if(PlayerDados[playerid][Admin] < 5) return SendClientMessage(playerid, BRANCO, "Você precisa ser admin nivel 5 para usar este comando!"); | |
| 2965 | if(PlayerDados[playerid][Trabalhando] == false) return SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 2966 | if(sscanf(params, "i", Gravidade )) return SendClientMessage(playerid, CINZA, "[LL ADMIN] Use /setargravidade [Gravidade]"), SendClientMessage(playerid, CINZA, "Use o comando para alterar a gravidade do server"); | |
| 2967 | format(String, sizeof(String), "O Admin {1B95E0}%s{00C2EC} Setou a gravidade do server para %d.", Nome(playerid), Gravidade);
| |
| 2968 | SendClientMessageToAll(VERDE_AGUA, String); | |
| 2969 | SetGravity(Gravidade); | |
| 2970 | return 1; | |
| 2971 | } | |
| 2972 | ||
| 2973 | CMD:seradmin(playerid, params[]) | |
| 2974 | {
| |
| 2975 | if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, CINZA, "Logue-se na Rcon para usar este comando."); | |
| 2976 | SetarDado(playerid, Admin, 5); | |
| 2977 | Msg(playerid, CINZA, "Bem Vindo a Administração."); | |
| 2978 | return 1; | |
| 2979 | } | |
| 2980 | ||
| 2981 | public TempoPreso(playerid) | |
| 2982 | {
| |
| 2983 | PlayerDados[playerid][Preso] --; | |
| 2984 | if(PlayerDados[playerid][Preso] == 0) | |
| 2985 | {
| |
| 2986 | SetPlayerHealth(playerid, 0); | |
| 2987 | SendClientMessage(playerid, VERDE, "Você está livre da cadeia!"); | |
| 2988 | KillTimer(TimerPreso); | |
| 2989 | } | |
| 2990 | return 1; | |
| 2991 | } | |
| 2992 | ||
| 2993 | public CriarLogs() | |
| 2994 | {
| |
| 2995 | if(!LogExistir("LLADMIN/Logs/NovoAdm.log"))
| |
| 2996 | {
| |
| 2997 | CriarLog("LLADMIN/Logs/NovoAdm.log");
| |
| 2998 | } | |
| 2999 | if(!LogExistir("LLADMIN/Logs/Kickados.log"))
| |
| 3000 | {
| |
| 3001 | CriarLog("LLADMIN/Logs/Kickados.log");
| |
| 3002 | } | |
| 3003 | if(!LogExistir("LLADMIN/Logs/Tapas.log"))
| |
| 3004 | {
| |
| 3005 | CriarLog("LLADMIN/Logs/Tapas.log");
| |
| 3006 | } | |
| 3007 | if(!LogExistir("LLADMIN/Logs/Chatadm.log"))
| |
| 3008 | {
| |
| 3009 | CriarLog("LLADMIN/Logs/Chatadm.log");
| |
| 3010 | } | |
| 3011 | if(!LogExistir("LLADMIN/Logs/Banidos.log"))
| |
| 3012 | {
| |
| 3013 | CriarLog("LLADMIN/Logs/Banidos.log");
| |
| 3014 | } | |
| 3015 | if(!LogExistir("LLADMIN/Logs/Desbanidos.log"))
| |
| 3016 | {
| |
| 3017 | CriarLog("LLADMIN/Logs/Desbanidos.log");
| |
| 3018 | } | |
| 3019 | if(!LogExistir("LLADMIN/Logs/Advertidos.log"))
| |
| 3020 | {
| |
| 3021 | CriarLog("LLADMIN/Logs/Advertidos.log");
| |
| 3022 | } | |
| 3023 | if(!LogExistir("LLADMIN/Logs/Congelados.log"))
| |
| 3024 | {
| |
| 3025 | CriarLog("LLADMIN/Logs/Congelados.log");
| |
| 3026 | } | |
| 3027 | if(!LogExistir("LLADMIN/Logs/Calados.log"))
| |
| 3028 | {
| |
| 3029 | CriarLog("LLADMIN/Logs/Calados.log");
| |
| 3030 | } | |
| 3031 | if(!LogExistir("LLADMIN/Logs/Presos.log"))
| |
| 3032 | {
| |
| 3033 | CriarLog("LLADMIN/Logs/Presos.log");
| |
| 3034 | } | |
| 3035 | if(!LogExistir("LLADMIN/Logs/NovoNome.log"))
| |
| 3036 | {
| |
| 3037 | CriarLog("LLADMIN/Logs/NovoNome.log");
| |
| 3038 | } | |
| 3039 | if(!LogExistir("LLADMIN/Logs/Crashados.log"))
| |
| 3040 | {
| |
| 3041 | CriarLog("LLADMIN/Logs/Crashados.log");
| |
| 3042 | } | |
| 3043 | if(!LogExistir("LLADMIN/Logs/BanirIp.log"))
| |
| 3044 | {
| |
| 3045 | CriarLog("LLADMIN/Logs/BanirIp.log");
| |
| 3046 | } | |
| 3047 | if(!LogExistir("LLADMIN/Logs/DesbanirIp.log"))
| |
| 3048 | {
| |
| 3049 | CriarLog("LLADMIN/Logs/DesbanirIp.log");
| |
| 3050 | } | |
| 3051 | if(!LogExistir("LLADMIN/Logs/Fodidos.txt"))
| |
| 3052 | {
| |
| 3053 | CriarLog("LLADMIN/Logs/Fodidos.txt");
| |
| 3054 | } | |
| 3055 | if(!LogExistir("LLADMIN/Logs/Nome_Server.log"))
| |
| 3056 | {
| |
| 3057 | CriarLog("LLADMIN/Logs/Nome_Server.log");
| |
| 3058 | } | |
| 3059 | if(!LogExistir("LLADMIN/Logs/Nome_GM.log"))
| |
| 3060 | {
| |
| 3061 | CriarLog("LLADMIN/Logs/Nome_GM.log");
| |
| 3062 | } | |
| 3063 | if(!LogExistir("LLADMIN/Logs/Relatorios.log"))
| |
| 3064 | {
| |
| 3065 | CriarLog("LLADMIN/Logs/Relatorios.log");
| |
| 3066 | } | |
| 3067 | print("Logs Criados/Carregados com sucesso.");
| |
| 3068 | return 1; | |
| 3069 | } | |
| 3070 | ||
| 3071 | public LiberarKit(playerid) | |
| 3072 | {
| |
| 3073 | PlayerDados[playerid][PegouKit] = false; | |
| 3074 | return 1; | |
| 3075 | } | |
| 3076 | ||
| 3077 | public FecharPortao() | |
| 3078 | {
| |
| 3079 | MoveObject(PortaoHQ, 2204.39990234,1846.00000000,12.60000038, 2, 0, 0, 90); | |
| 3080 | return 1; | |
| 3081 | } | |
| 3082 | public MensagensRandom() | |
| 3083 | {
| |
| 3084 | new randmsg = random(sizeof(Mensagens)); | |
| 3085 | new randcor = random(sizeof(Cores)); | |
| 3086 | format(String, sizeof(String), "%s%s",Cores[randcor], Mensagens[randmsg]); | |
| 3087 | SendClientMessageToAll(-1, String); | |
| 3088 | return 1; | |
| 3089 | } | |
| 3090 | ||
| 3091 | public DiminuirTempo() | |
| 3092 | {
| |
| 3093 | if(time == 0) | |
| 3094 | {
| |
| 3095 | KillTimer(TimerCont); | |
| 3096 | GameTextForAll("~r~Go Go Go", 1000, 6);
| |
| 3097 | return 1; | |
| 3098 | } | |
| 3099 | format(String, sizeof(String), "~g~%d", time); | |
| 3100 | GameTextForAll(String, 1000, 6); | |
| 3101 | time--; | |
| 3102 | return 1; | |
| 3103 | } | |
| 3104 | ||
| 3105 | stock SalvarDados(playerid) | |
| 3106 | {
| |
| 3107 | format(StringContas, sizeof(StringContas), "LLADMIN/Contas/%s.txt", Nome(playerid)); | |
| 3108 | DOF2_SetInt(StringContas, "Matou", PlayerDados[playerid][Matou]); | |
| 3109 | DOF2_SetInt(StringContas, "Morreu", PlayerDados[playerid][Morreu]); | |
| 3110 | DOF2_SetInt(StringContas, "Grana", GetPlayerMoney(playerid)); | |
| 3111 | DOF2_SetInt(StringContas, "Advertencias", PlayerDados[playerid][Advertencias]); | |
| 3112 | DOF2_SetInt(StringContas, "Preso", PlayerDados[playerid][Preso]); | |
| 3113 | if(PlayerDados[playerid][Vip] == false) | |
| 3114 | {
| |
| 3115 | if(DOF2_IsSet("LLADMIN/Vips.vip", Nome(playerid)))
| |
| 3116 | {
| |
| 3117 | DOF2_Unset("LLADMIN/Vips.vip", Nome(playerid));
| |
| 3118 | } | |
| 3119 | } | |
| 3120 | if(PlayerDados[playerid][Helper] == false) | |
| 3121 | {
| |
| 3122 | if(DOF2_IsSet("LLADMIN/Helpers.hel", Nome(playerid)))
| |
| 3123 | {
| |
| 3124 | DOF2_Unset("LLADMIN/Helpers.hel", Nome(playerid));
| |
| 3125 | } | |
| 3126 | } | |
| 3127 | if(PlayerDados[playerid][Vip] == true) | |
| 3128 | {
| |
| 3129 | DOF2_SetBool("LLADMIN/Vips.vip", Nome(playerid), true);
| |
| 3130 | } | |
| 3131 | if(PlayerDados[playerid][Helper] == true) | |
| 3132 | {
| |
| 3133 | DOF2_SetBool("LLADMIN/Helpers.hel", Nome(playerid), true);
| |
| 3134 | } | |
| 3135 | if(PlayerDados[playerid][Admin] > 0) | |
| 3136 | {
| |
| 3137 | DOF2_SetInt("LLADMIN/Admins.adm", Nome(playerid), PlayerDados[playerid][Admin]);
| |
| 3138 | } | |
| 3139 | DOF2_SaveFile(); | |
| 3140 | return 1; | |
| 3141 | } | |
| 3142 | ||
| 3143 | stock Nome(playerid) | |
| 3144 | {
| |
| 3145 | new pNome[MAX_PLAYER_NAME]; | |
| 3146 | GetPlayerName(playerid, pNome, 24); | |
| 3147 | return pNome; | |
| 3148 | } | |
| 3149 | ||
| 3150 | stock Kickar(playerid, admin[], razao[]) | |
| 3151 | {
| |
| 3152 | if(!DOF2_FileExists("LLADMIN/Kickados.txt")) DOF2_CreateFile("LLADMIN/Kickados.txt");
| |
| 3153 | new IP[20]; | |
| 3154 | GetPlayerIp(playerid, IP, 20); | |
| 3155 | format(String, sizeof(String), " IP = %d - Admin = %s - Razao = %s", IP, admin, razao); | |
| 3156 | DOF2_SetString("LLADMIN/Kickados.txt", Nome(playerid), String);
| |
| 3157 | Kick(playerid); | |
| 3158 | return 1; | |
| 3159 | } | |
| 3160 | ||
| 3161 | stock PosicaoFrentePlayer( playerid, &Float:x, &Float:y, Float:distance) | |
| 3162 | {
| |
| 3163 | new | |
| 3164 | Float:a | |
| 3165 | ; | |
| 3166 | GetPlayerPos( playerid, x, y, a); | |
| 3167 | GetPlayerFacingAngle( playerid, a); | |
| 3168 | if(GetPlayerVehicleID( playerid )) | |
| 3169 | {
| |
| 3170 | GetVehicleZAngle(GetPlayerVehicleID( playerid ), a); | |
| 3171 | } | |
| 3172 | x += (distance * floatsin(-a, degrees)); | |
| 3173 | y += (distance * floatcos(-a, degrees)); | |
| 3174 | } | |
| 3175 | ||
| 3176 | stock MensagemDupla(playerid, msg1[], msg2[]) | |
| 3177 | {
| |
| 3178 | SendClientMessage(playerid, CINZA, msg1); | |
| 3179 | SendClientMessage(playerid, CINZA, msg2); | |
| 3180 | return 1; | |
| 3181 | } | |
| 3182 | ||
| 3183 | stock NivelRequerido(playerid, lvl) | |
| 3184 | {
| |
| 3185 | if(PlayerDados[playerid][Admin] < lvl) | |
| 3186 | {
| |
| 3187 | format(String, sizeof(String), "Você precisa ser admin nivel %d para usar este comando!", lvl); | |
| 3188 | SendClientMessage(playerid, BRANCO, String); | |
| 3189 | return 0; | |
| 3190 | } | |
| 3191 | if(PlayerDados[playerid][Trabalhando] == false) | |
| 3192 | {
| |
| 3193 | SendClientMessage(playerid, CINZA, "Você precisa trabalhar para usar o comando. Use /servico."); | |
| 3194 | return 0; | |
| 3195 | } | |
| 3196 | return 1; | |
| 3197 | } | |
| 3198 | ||
| 3199 | stock CriarLog(const File[]) | |
| 3200 | {
| |
| 3201 | if(fexist(File)) | |
| 3202 | {
| |
| 3203 | printf("Utilize EscreverLog(\"arquivo\", \"Mensagem\"); para escrever em um log existente.");
| |
| 3204 | return 0; | |
| 3205 | } | |
| 3206 | new File:Arquivo = fopen(File, io_write); | |
| 3207 | fclose(Arquivo); | |
| 3208 | return 1; | |
| 3209 | } | |
| 3210 | ||
| 3211 | stock EscreverLog(const File[], string[]) | |
| 3212 | {
| |
| 3213 | if(!fexist(File)) | |
| 3214 | {
| |
| 3215 | printf("Utilize CriarLog(\"arquivo\"); para criar o Log e escrever nele.");
| |
| 3216 | return 0; | |
| 3217 | } | |
| 3218 | new celulas[ 300 ]; | |
| 3219 | new a, m, d, h, mi, s; | |
| 3220 | getdate(a, m, d); | |
| 3221 | gettime(h,mi,s); | |
| 3222 | format(celulas, sizeof(celulas), "(%02d/%02d/%d)[%02d:%02d:%02d] %s\r\n",d,m,a,h,mi,s, string); | |
| 3223 | new File:Arquivo = fopen(File, io_append); | |
| 3224 | fwrite(Arquivo, celulas); | |
| 3225 | fclose(Arquivo); | |
| 3226 | return 1; | |
| 3227 | } | |
| 3228 | ||
| 3229 | stock DeletarLog(const File[]) | |
| 3230 | {
| |
| 3231 | if(!fexist(File)) | |
| 3232 | {
| |
| 3233 | printf("Esse arquivo não existe, utilize CriarLog(\"arquivo\"");
| |
| 3234 | return 0; | |
| 3235 | } | |
| 3236 | fremove(File); | |
| 3237 | return 1; | |
| 3238 | } | |
| 3239 | ||
| 3240 | stock TextFundo(playerid) | |
| 3241 | {
| |
| 3242 | new RandFundo = random(3); | |
| 3243 | if(RandFundo == 0) | |
| 3244 | {
| |
| 3245 | Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc1:loadsc1"); | |
| 3246 | TextDrawFont(Inicio[playerid], 4); | |
| 3247 | TextDrawTextSize(Inicio[playerid], 641.500, 449.500); | |
| 3248 | TextDrawColor(Inicio[playerid], -1); | |
| 3249 | } | |
| 3250 | else if(RandFundo == 1) | |
| 3251 | {
| |
| 3252 | Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc2:loadsc2"); | |
| 3253 | TextDrawFont(Inicio[playerid], 4); | |
| 3254 | TextDrawTextSize(Inicio[playerid], 641.500, 449.500); | |
| 3255 | TextDrawColor(Inicio[playerid], -1); | |
| 3256 | } | |
| 3257 | else if(RandFundo == 2) | |
| 3258 | {
| |
| 3259 | Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc3:loadsc3"); | |
| 3260 | TextDrawFont(Inicio[playerid], 4); | |
| 3261 | TextDrawTextSize(Inicio[playerid], 641.500, 449.500); | |
| 3262 | TextDrawColor(Inicio[playerid], -1); | |
| 3263 | } | |
| 3264 | else if(RandFundo == 3) | |
| 3265 | {
| |
| 3266 | Inicio[playerid] = TextDrawCreate(-0.500, -0.500, "loadsc4:loadsc4"); | |
| 3267 | TextDrawFont(Inicio[playerid], 4); | |
| 3268 | TextDrawTextSize(Inicio[playerid], 641.500, 449.500); | |
| 3269 | TextDrawColor(Inicio[playerid], -1); | |
| 3270 | } | |
| 3271 | TextDrawShowForPlayer(playerid, Inicio[playerid]); | |
| 3272 | return 1; | |
| 3273 | } | |
| 3274 | ||
| 3275 | stock MensagemParaAdmins(mensagem[]) | |
| 3276 | {
| |
| 3277 | for(new i = 0; i < MAX_PLAYERS; ++i) | |
| 3278 | {
| |
| 3279 | if(PlayerDados[i][Admin] > 0) | |
| 3280 | {
| |
| 3281 | Msg(i, ROSA_CHOQUE, mensagem); | |
| 3282 | } | |
| 3283 | } | |
| 3284 | return 1; | |
| 3285 | } | |
| 3286 | ||
| 3287 | //SSCANF NUNCA MECHA NESSA PARTE: | |
| 3288 | stock sscanf(string[], format[], {Float,_}:...)
| |
| 3289 | {
| |
| 3290 | #if defined isnull | |
| 3291 | if (isnull(string)) | |
| 3292 | #else | |
| 3293 | if (string[0] == 0 || (string[0] == 1 && string[1] == 0)) | |
| 3294 | #endif | |
| 3295 | {
| |
| 3296 | return format[0]; | |
| 3297 | } | |
| 3298 | #pragma tabsize 4 | |
| 3299 | new | |
| 3300 | formatPos = 0, | |
| 3301 | stringPos = 0, | |
| 3302 | paramPos = 2, | |
| 3303 | paramCount = numargs(), | |
| 3304 | delim = ' '; | |
| 3305 | while (string[stringPos] && string[stringPos] <= ' ') | |
| 3306 | {
| |
| 3307 | stringPos++; | |
| 3308 | } | |
| 3309 | while (paramPos < paramCount && string[stringPos]) | |
| 3310 | {
| |
| 3311 | switch (format[formatPos++]) | |
| 3312 | {
| |
| 3313 | case '\0': | |
| 3314 | {
| |
| 3315 | return 0; | |
| 3316 | } | |
| 3317 | case 'i', 'd': | |
| 3318 | {
| |
| 3319 | new | |
| 3320 | neg = 1, | |
| 3321 | num = 0, | |
| 3322 | ch = string[stringPos]; | |
| 3323 | if (ch == '-') | |
| 3324 | {
| |
| 3325 | neg = -1; | |
| 3326 | ch = string[++stringPos]; | |
| 3327 | } | |
| 3328 | do | |
| 3329 | {
| |
| 3330 | stringPos++; | |
| 3331 | if ('0' <= ch <= '9')
| |
| 3332 | {
| |
| 3333 | num = (num * 10) + (ch - '0'); | |
| 3334 | } | |
| 3335 | else | |
| 3336 | {
| |
| 3337 | return -1; | |
| 3338 | } | |
| 3339 | } | |
| 3340 | while ((ch = string[stringPos]) > ' ' && ch != delim); | |
| 3341 | setarg(paramPos, 0, num * neg); | |
| 3342 | } | |
| 3343 | case 'h', 'x': | |
| 3344 | {
| |
| 3345 | new | |
| 3346 | num = 0, | |
| 3347 | ch = string[stringPos]; | |
| 3348 | do | |
| 3349 | {
| |
| 3350 | stringPos++; | |
| 3351 | switch (ch) | |
| 3352 | {
| |
| 3353 | case 'x', 'X': | |
| 3354 | {
| |
| 3355 | num = 0; | |
| 3356 | continue; | |
| 3357 | } | |
| 3358 | case '0' .. '9': | |
| 3359 | {
| |
| 3360 | num = (num << 4) | (ch - '0'); | |
| 3361 | } | |
| 3362 | case 'a' .. 'f': | |
| 3363 | {
| |
| 3364 | num = (num << 4) | (ch - ('a' - 10));
| |
| 3365 | } | |
| 3366 | case 'A' .. 'F': | |
| 3367 | {
| |
| 3368 | num = (num << 4) | (ch - ('A' - 10));
| |
| 3369 | } | |
| 3370 | default: | |
| 3371 | {
| |
| 3372 | return -1; | |
| 3373 | } | |
| 3374 | } | |
| 3375 | } | |
| 3376 | while ((ch = string[stringPos]) > ' ' && ch != delim); | |
| 3377 | setarg(paramPos, 0, num); | |
| 3378 | } | |
| 3379 | case 'c': | |
| 3380 | {
| |
| 3381 | setarg(paramPos, 0, string[stringPos++]); | |
| 3382 | } | |
| 3383 | case 'f': | |
| 3384 | {
| |
| 3385 | ||
| 3386 | new changestr[16], changepos = 0, strpos = stringPos; | |
| 3387 | while(changepos < 16 && string[strpos] && string[strpos] != delim) | |
| 3388 | {
| |
| 3389 | changestr[changepos++] = string[strpos++]; | |
| 3390 | } | |
| 3391 | changestr[changepos] = '\0'; | |
| 3392 | setarg(paramPos,0,_:floatstr(changestr)); | |
| 3393 | } | |
| 3394 | case 'p': | |
| 3395 | {
| |
| 3396 | delim = format[formatPos++]; | |
| 3397 | continue; | |
| 3398 | } | |
| 3399 | case '\'': | |
| 3400 | {
| |
| 3401 | new | |
| 3402 | end = formatPos - 1, | |
| 3403 | ch; | |
| 3404 | while ((ch = format[++end]) && ch != '\'') {}
| |
| 3405 | if (!ch) | |
| 3406 | {
| |
| 3407 | return -1; | |
| 3408 | } | |
| 3409 | format[end] = '\0'; | |
| 3410 | if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1) | |
| 3411 | {
| |
| 3412 | if (format[end + 1]) | |
| 3413 | {
| |
| 3414 | return -1; | |
| 3415 | } | |
| 3416 | return 0; | |
| 3417 | } | |
| 3418 | format[end] = '\''; | |
| 3419 | stringPos = ch + (end - formatPos); | |
| 3420 | formatPos = end + 1; | |
| 3421 | } | |
| 3422 | case 'u': | |
| 3423 | {
| |
| 3424 | new | |
| 3425 | end = stringPos - 1, | |
| 3426 | id = 0, | |
| 3427 | bool:num = true, | |
| 3428 | ch; | |
| 3429 | while ((ch = string[++end]) && ch != delim) | |
| 3430 | {
| |
| 3431 | if (num) | |
| 3432 | {
| |
| 3433 | if ('0' <= ch <= '9')
| |
| 3434 | {
| |
| 3435 | id = (id * 10) + (ch - '0'); | |
| 3436 | } | |
| 3437 | else | |
| 3438 | {
| |
| 3439 | num = false; | |
| 3440 | } | |
| 3441 | } | |
| 3442 | } | |
| 3443 | if (num && IsPlayerConnected(id)) | |
| 3444 | {
| |
| 3445 | setarg(paramPos, 0, id); | |
| 3446 | } | |
| 3447 | else | |
| 3448 | {
| |
| 3449 | #if !defined foreach | |
| 3450 | #define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2)) | |
| 3451 | #define __SSCANF_FOREACH__ | |
| 3452 | #endif | |
| 3453 | string[end] = '\0'; | |
| 3454 | num = false; | |
| 3455 | new | |
| 3456 | name[MAX_PLAYER_NAME]; | |
| 3457 | id = end - stringPos; | |
| 3458 | foreach (Player, playerid) | |
| 3459 | {
| |
| 3460 | GetPlayerName(playerid, name, sizeof (name)); | |
| 3461 | if (!strcmp(name, string[stringPos], true, id)) | |
| 3462 | {
| |
| 3463 | setarg(paramPos, 0, playerid); | |
| 3464 | num = true; | |
| 3465 | break; | |
| 3466 | } | |
| 3467 | } | |
| 3468 | if (!num) | |
| 3469 | {
| |
| 3470 | setarg(paramPos, 0, INVALID_PLAYER_ID); | |
| 3471 | } | |
| 3472 | string[end] = ch; | |
| 3473 | #if defined __SSCANF_FOREACH__ | |
| 3474 | #undef foreach | |
| 3475 | #undef __SSCANF_FOREACH__ | |
| 3476 | #endif | |
| 3477 | } | |
| 3478 | stringPos = end; | |
| 3479 | } | |
| 3480 | case 's', 'z': | |
| 3481 | {
| |
| 3482 | new | |
| 3483 | i = 0, | |
| 3484 | ch; | |
| 3485 | if (format[formatPos]) | |
| 3486 | {
| |
| 3487 | while ((ch = string[stringPos++]) && ch != delim) | |
| 3488 | {
| |
| 3489 | setarg(paramPos, i++, ch); | |
| 3490 | } | |
| 3491 | if (!i) | |
| 3492 | {
| |
| 3493 | return -1; | |
| 3494 | } | |
| 3495 | } | |
| 3496 | else | |
| 3497 | {
| |
| 3498 | while ((ch = string[stringPos++])) | |
| 3499 | {
| |
| 3500 | setarg(paramPos, i++, ch); | |
| 3501 | } | |
| 3502 | } | |
| 3503 | stringPos--; | |
| 3504 | setarg(paramPos, i, '\0'); | |
| 3505 | } | |
| 3506 | default: | |
| 3507 | {
| |
| 3508 | continue; | |
| 3509 | } | |
| 3510 | } | |
| 3511 | while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ') | |
| 3512 | {
| |
| 3513 | stringPos++; | |
| 3514 | } | |
| 3515 | while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' ')) | |
| 3516 | {
| |
| 3517 | stringPos++; | |
| 3518 | } | |
| 3519 | paramPos++; | |
| 3520 | } | |
| 3521 | do | |
| 3522 | {
| |
| 3523 | if ((delim = format[formatPos++]) > ' ') | |
| 3524 | {
| |
| 3525 | if (delim == '\'') | |
| 3526 | {
| |
| 3527 | while ((delim = format[formatPos++]) && delim != '\'') {}
| |
| 3528 | } | |
| 3529 | else if (delim != 'z') | |
| 3530 | {
| |
| 3531 | return delim; | |
| 3532 | } | |
| 3533 | } | |
| 3534 | } | |
| 3535 | while (delim > ' '); | |
| 3536 | return 0; | |
| 3537 | } |