Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- // =========================================//
- ||||||||||||| ||||||||||||| |||||||||||||
- ||||||||||||| ||||||||||||| |||||||||||||
- |||| |||| |||| ||||
- |||| |||| |||| ||||
- |||| ||||||||||||| |||||||||||||
- |||| ||||||||||||| |||||||||||||
- |||| |||| |||| ||||
- |||| |||| |||| ||||
- ||||||||||||| |||| |||| |||||||||||||
- ||||||||||||| |||| |||| |||||||||||||
- CLEYSON ALVES STEIN
- // =========================================//
- GameMode criado por Cleyson Stein.
- Base para o sistema de casas "LHouse" por Lós
- Log Criação:
- * Login / Registro Ok
- * Salvamento Dof2 Ok
- * Administração + Logs Ok
- * ignição de veiculos Ok
- * Gasolina c/ galão Ok
- * Casa Ok
- * Vip por key e leveis Ok
- * Radar Dinamico OK
- * Banco 90% // falta os locais
- */ // format(DonoEmp, 50, Nome(playerid));
- #include <a_samp>
- #include <dof2>
- #include <sscanf>
- #include <streamer>
- #include <zcmd>
- #include <Losgs>
- // == Dialogs
- #define DIALOG_REGISTRO 1
- #define DIALOG_LOGIN 2
- #define DIALOG_SEXO 3
- #define DIALOG_IDADE 4
- #define DIALOG_STAFF 5
- #define DIALOG_EMAIL 6
- #define DIALOG_DADMIN 7
- #define DIALOG_HELPER 8
- #define DIALOG_FORUM 9
- #define DIALOG_CREDITOS 10
- #define DIALOG_ABASTECER 11
- #define DIALOG_GALAOABAST 12
- #define DIALOG_SALDO 13
- #define DIALOG_SACAR 14
- #define DIALOG_DEPOSITAR 15
- #define DIALOG_TRANSF_ID 16
- #define DIALOG_TRANSF_RS 17
- #define DIALOG_EMPRESTIMO 18
- #define DIALOG_CRIAR_RADAR 19
- #define DIALOG_ATIVAR_KEY 50
- #define DIALOG_NOVA_KEY 51
- #define DIALOG_NOVAKEY_DIAS 52
- #define DIALOG_KEY_CONFIRMAR 53
- // dialog casas
- #define DIALOG_CRIAR_CASA 1335
- #define DIALOG_CASA_STATUS 1342
- #define DIALOG_VENDER_CASA 1343
- #define DIALOG_EDITAR_CASA 1345
- #define DIALOG_EDITAR_CASA_PRECO 1346
- #define DIALOG_EDITAR_CASA_ALU_PRECO 1347
- #define DIALOG_EDITAR_CASA_INT 1348
- #define DIALOG_EDITAR_CASA_ID 1349
- #define DIALOG_HOUSE_TENANT_MENU 1350
- #define DIALOG_HOUSE_RENT_MENU 1351
- #define DIALOG_HOUSE_OWNER_MENU 1352
- #define DIALOG_HOUSE_SELL_MENU 1353
- #define DIALOG_RENT 1354
- #define DIALOG_RENT_PRICE 1355
- #define DIALOG_HOUSE_SELL_PLAYER 1356
- #define DIALOG_HOUSE_SELL_PLAYER2 1357
- #define DIALOG_HOUSE_SELL_PLAYER3 1358
- #define DIALOG_SELLING_CONFIRM 1359
- #define DIALOG_CHANGE_PLATE 1360
- #define DIALOG_DELETE_HOUSE 1362
- #define DIALOG_CHANGE_OWNER 1363
- #define DIALOG_CHANGE_OWNER2 1364
- #define DIALOG_ADMIN 1365
- #define DIALOG_VENDER_CASA_ADMIN 1366
- #define DIALOG_GUEST 1367
- #define DIALOG_RENT_CONFIRM 1369
- #define DIALOG_DUMP_TENANT 1370
- #define DIALOG_UNRENT_CONFIRM 1371
- #define DIALOG_RENTING_GUEST 1372
- #define DIALOG_HOUSE_TITLE 1373
- #define DIALOG_HOUSE_TITLE_ADMIN 1374
- // == Cores
- #define ROXOCLARO 0xAB82FFFF
- #define ROSAB 0xFF69B4FF
- #define COR_AVISO 0xBEBEBEFF
- #define COR_ADMIN 0x436EEEFF
- #define COR_SUCESSO 0xCAE1FFFF
- #define VERDE 0x21DD00FF
- #define VERMELHO 0xFF030FFF
- #define VERMELHO_ESCURO 0xE60000FF
- #define VERMELHO_CLARO 0xFB0000FF
- #define AMARELO 0xFFFF00FF
- #define LARANJA 0xF97804FF
- #define AZUL_CLARO 0x00C2ECFF
- #define ROXO 0xB360FDFF
- #define BRANCO 0xFFFFFFFF
- #define PRETO 0x000000FF
- #define AZUL 0x1229FAFF
- #define VERDE_CLARO 0x38FF06FF
- #define ROSA_CHOQUE 0xE100E1FF
- #define VERDE_ESCURO 0x008040FF
- #define CINZA 0xCECECEFF
- #define ROSA 0xD52DFFFF
- #define CINZA_ESCURO 0x626262FF
- #define VERDE_AGUA 0x03D687FF
- #define COR_VIP 0x228B22AA
- #define COR_CINZA 0xCECECEFF
- // == Profissões
- #define DESEMPREGADO 0
- #define TAXISTA 1
- // == Cores Profissões
- #define C_DESEMPREGADO 0xFFFFFFFF
- #define C_TAXISTA 0xFFFF04AA
- // == Slots
- #define MAX_CASAS 151
- #define MAX_RADAR 51
- // == Pastas
- #define VIPS "Vips/Contas/%s.ini"
- #define VIP_KEYS "Vips/Keys/%s.ini"
- #define CONTAS "Contas/%s.ini"
- #define BANIDOS "Banidos/%s.ini"
- #define IPSBANIDOS "IPSBanidos/%s.ini"
- #define RADARES "Radares/Radar %d.ini"
- // == Logs
- #define LOG_ADM "Logs/Administracao.log"
- #define LOG_VIP "Logs/Vips.log"
- #define LOG_ARMA "Logs/DarArmas.log"
- #define LOG_GRANA "Logs/DarGrana.log"
- #define LOG_KICK "Logs/Kickados.log"
- #define LOG_CHAT "Logs/ChatAdm.log"
- #define LOG_BAN "Logs/Banidos.log"
- #define LOG_DESBAN "Logs/Desbanidos.log"
- #define LOG_HOUSES "Casas/Logs/Casas.log"
- #define LOG_ADMIN "Casas/Logs/Administração.log"
- #define LOG_SYSTEM "Casas/Logs/Sistema.log"
- // == Macros
- #define Msg SendClientMessage
- #define MsgAll SendClientMessageToAll
- #define TEXT_SELLING_HOUSE "{00FFFF}CASA ID: {FFFFFF}%d\n\n{E0FFFF}Preço: {FFFFFF}$%d"
- #define TEXT_HOUSE "{00FFFF}%s\n\n{E0FFFF}Dono: {FFFFFF}%s\n{E0FFFF}Aluguel: {FFFFFF}%s\n{E0FFFF}Status: {FFFFFF}%s\n{E0FFFF}Número: {FFFFFF}%d"
- #define TEXT_RENT_HOUSE "{E0FFFF}%s\n\n{E0FFFF}Dono: {FFFFFF}%s\n{E0FFFF}Locador: {FFFFFF}%s\n{E0FFFF}Preço Aluguel: {FFFFFF}$%d\n{E0FFFF}Status: {FFFFFF}%s\n{E0FFFF}Número: {FFFFFF}%d"
- #define GivePlayerCash(%0,%1) SetPVarInt(%0,"Money",GetPlayerCash(%0)+%1),GivePlayerMoney(%0,%1)
- #define ResetPlayerCash(%0) SetPVarInt(%0,"Money",0),ResetPlayerMoney(%0)
- #define GetPlayerCash(%0) GetPVarInt(%0,"Money")
- new PlayerVehicle[212][] = {
- "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster", "Stretch", "Manana",
- "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam", "Esperanto", "Taxi", "Washington", "Bobcat",
- "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer", "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife",
- "Trailer 1", "Previon", "Coach", "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo",
- "Seasparrow", "Pizzaboy", "Tram", "Trailer 2", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
- "Berkley's RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic", "Sanchez", "Sparrow",
- "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton", "Regina", "Comet", "BMX", "Burrito",
- "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher", "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring",
- "Sandking", "Blista Compact", "Police Maverick", "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B",
- "Bloodring Banger", "Rancher", "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster","Stunt", "Tanker",
- "Roadtrain", "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck", "Fortune",
- "Cadrona", "FBI Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan", "Blade", "Freight", "Streak",
- "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck LA", "Hustler", "Intruder", "Primo", "Cargobob", "Tampa", "Sunrise", "Merit",
- "Utility", "Nevada", "Yosemite", "Windsor", "Monster A", "Monster B", "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance",
- "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito", "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway",
- "Tornado", "AT-400", "DFT-30", "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer 3", "Emperor", "Wayfarer", "Euros", "Hotdog",
- "Club", "Freight Carriage", "Trailer 4", "Andromada", "Dodo", "RC Cam", "Launch", "Police Car (LSPD)", "Police Car (SFPD)",
- "Police Car (LVPD)", "Police Ranger", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage Trailer A",
- "Luggage Trailer B", "Stairs", "Boxville", "Tiller", "Utility Trailer" };
- // == Velocimetro
- new PlayerText:Motor[MAX_PLAYERS];
- new PlayerText:Combust[MAX_PLAYERS];
- new PlayerText:Velo[MAX_PLAYERS];
- new PlayerText:Kmh[MAX_PLAYERS];
- new PlayerText:Veiculo[MAX_PLAYERS];
- new Text:TextPostos[3];
- new Text:Relogio[2];
- new Text:Barra[5];
- new Text:Banco[9];
- // == Login
- new Text:Fundo[7];
- new Text:Registro[9];
- new Text:Login[MAX_PLAYERS][7];
- new DigitouSenha[MAX_PLAYERS], DigitouSexo[MAX_PLAYERS], DigitouIdade[MAX_PLAYERS], DigitouEmail[MAX_PLAYERS];
- // == Sistema de gasolina
- new GasolinaVeiculo[MAX_VEHICLES];
- new Float:VehSpeed[3];
- new ConsumoGas[MAX_PLAYERS];
- new AreaPosto[MAX_PLAYERS] = 0;
- // == Sscanf
- new ID, nivel, String[128];
- // == Admin
- new ServerTrancado;
- new Pergunta[MAX_PLAYERS][128];
- new NomeOriginal[MAX_PLAYERS][30];
- new Float:VidaAFK;
- new Barris[100];
- new tBarris = 0;
- new CarrosCriados[100];
- new TodosCarros = 0;
- // Players
- new IDTransferir;
- enum pInfo
- {
- pID,
- pSenha[129],
- pLevel,
- pSexo,
- pIdade,
- pAdmin,
- pHelper,
- pVip,
- TempoVip,
- pAfk,
- pSkin,
- HabAerea,
- HabNautica,
- HabTerrestre,
- ErrouSenha,
- pProfissao,
- pInvisivel,
- pCongelado,
- pDisfarcado,
- pAssistindo,
- TemGalao,
- GalaoGasolina,
- bool:pLogado,
- SaldoBancario,
- FezEmprestimo,
- Emprestimo,
- pInterior,
- Float:pPos[3]
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new
- vKey[MAX_PLAYERS][25],
- vDias[MAX_PLAYERS];
- // Casas
- enum cInfo
- {
- houseOwner[MAX_PLAYER_NAME],
- houseTitle[32],
- Float:houseX,
- Float:houseY,
- Float:houseZ,
- Float:houseIntX,
- Float:houseIntY,
- Float:houseIntZ,
- Float:houseIntFA,
- housePrice,
- houseRentable,
- houseRentPrice,
- houseTenant[MAX_PLAYER_NAME],
- houseInterior,
- houseVirtualWorld,
- houseOutcoming,
- houseIncoming,
- houseStatus
- };
- new CasaInfo[MAX_CASAS][cInfo];
- new
- housePickupIn[MAX_CASAS],
- housePickupOut[MAX_CASAS],
- houseMapIcon[MAX_CASAS],
- Text3D:houseLabel[MAX_CASAS],
- Float:houseInteriorX[MAX_PLAYERS],
- Float:houseInteriorY[MAX_PLAYERS],
- Float:houseInteriorZ[MAX_PLAYERS],
- Float:houseInteriorFA[MAX_PLAYERS],
- houseIntPrice[MAX_PLAYERS],
- houseInteriorInt[MAX_PLAYERS],
- playerReceiveHouse,
- priceReceiveHouse,
- houseSellingID,
- playerIDOffer,
- timeHour, timeMinute, timeSecond,
- newOwnerID,
- playerName[MAX_PLAYER_NAME];
- // Radares
- enum rInfo
- {
- Float:rPosX,
- Float:rPosY,
- Float:rPosZ,
- Float:rAngulo,
- rVelocidade
- };
- new RadarInfo[MAX_RADAR][rInfo];
- new
- IDRadar[MAX_PLAYERS],
- VelocidadeRADAR,
- Text3D:TRadar[MAX_RADAR],
- IconeRadar[MAX_RADAR],
- ObjetoRadar[2][MAX_RADAR],
- CriandoRadar,
- bool:PassouRadar[MAX_PLAYERS];
- main()
- {
- print("\n------------------------------------"); // nesse modo imprime reto no cmd
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| |||| ||||");
- print("|||| ||| |||");
- print("||||||||||||| |||||||||");
- print("||||||||||||| |||||");
- print(" .");
- print(" .");
- print(" Gamemode Life Virtual RPG v1.0 ");
- print(" Totalmente do new.pwn ");
- print(" Por Cleyson Stein");
- print("-------------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetTimer("Att_Relogio", 60000, true);
- CriarLogs();
- CarregarRadares();
- UsePlayerPedAnims();
- CriarTodasAsCasas();
- DisableInteriorEnterExits();
- EnableStuntBonusForAll(0);
- SetGameModeText("Beta LV RPG V1.0");
- SetTimer("RentalCharge", 1000, true);
- SetTimer("SaveHouses", 60000*10, true);
- // == Text Banco
- Banco[0] = TextDrawCreate(413.000000, 128.000000, "#");
- TextDrawBackgroundColor(Banco[0], 255);
- TextDrawFont(Banco[0], 2);
- TextDrawLetterSize(Banco[0], 0.400000, 26.199996);
- TextDrawColor(Banco[0], -1);
- TextDrawSetOutline(Banco[0], 0);
- TextDrawSetProportional(Banco[0], 1);
- TextDrawSetShadow(Banco[0], 1);
- TextDrawUseBox(Banco[0], 1);
- TextDrawBoxColor(Banco[0], 85);
- TextDrawTextSize(Banco[0], 621.000000, 20.000000);
- TextDrawSetSelectable(Banco[0], 0);
- Banco[1] = TextDrawCreate(413.000000, 128.000000, " Banco Central LV");
- TextDrawBackgroundColor(Banco[1], 255);
- TextDrawFont(Banco[1], 2);
- TextDrawLetterSize(Banco[1], 0.300000, 2.099999);
- TextDrawColor(Banco[1], -1);
- TextDrawSetOutline(Banco[1], 0);
- TextDrawSetProportional(Banco[1], 1);
- TextDrawSetShadow(Banco[1], 1);
- TextDrawUseBox(Banco[1], 1);
- TextDrawBoxColor(Banco[1], -16777165);
- TextDrawTextSize(Banco[1], 621.000000, 20.000000);
- TextDrawSetSelectable(Banco[1], 0);
- Banco[2] = TextDrawCreate(430.000000, 170.000000, " Sacar");
- TextDrawBackgroundColor(Banco[2], 255);
- TextDrawFont(Banco[2], 1);
- TextDrawLetterSize(Banco[2], 0.460000, 2.800000);
- TextDrawColor(Banco[2], -1);
- TextDrawSetOutline(Banco[2], 1);
- TextDrawSetProportional(Banco[2], 1);
- TextDrawUseBox(Banco[2], 1);
- TextDrawBoxColor(Banco[2], 102);
- TextDrawTextSize(Banco[2], 506.000000, 20.000000);
- TextDrawSetSelectable(Banco[2], true);
- Banco[3] = TextDrawCreate(430.000000, 220.000000, " Depositar");
- TextDrawBackgroundColor(Banco[3], 255);
- TextDrawFont(Banco[3], 1);
- TextDrawLetterSize(Banco[3], 0.460000, 2.800000);
- TextDrawColor(Banco[3], -1);
- TextDrawSetOutline(Banco[3], 1);
- TextDrawSetProportional(Banco[3], 1);
- TextDrawUseBox(Banco[3], 1);
- TextDrawBoxColor(Banco[3], 102);
- TextDrawTextSize(Banco[3], 535.000000, 20.000000);
- TextDrawSetSelectable(Banco[3], true);
- Banco[4] = TextDrawCreate(430.000000, 268.000000, " Emprestimos");
- TextDrawBackgroundColor(Banco[4], 255);
- TextDrawFont(Banco[4], 1);
- TextDrawLetterSize(Banco[4], 0.460000, 2.800000);
- TextDrawColor(Banco[4], -1);
- TextDrawSetOutline(Banco[4], 1);
- TextDrawSetProportional(Banco[4], 1);
- TextDrawUseBox(Banco[4], 1);
- TextDrawBoxColor(Banco[4], 102);
- TextDrawTextSize(Banco[4], 557.000000, 20.000000);
- TextDrawSetSelectable(Banco[4], true);
- Banco[5] = TextDrawCreate(430.000000, 315.000000, " Transferencias");
- TextDrawBackgroundColor(Banco[5], 255);
- TextDrawFont(Banco[5], 1);
- TextDrawLetterSize(Banco[5], 0.460000, 2.799999);
- TextDrawColor(Banco[5], -1);
- TextDrawSetOutline(Banco[5], 1);
- TextDrawSetProportional(Banco[5], 1);
- TextDrawUseBox(Banco[5], 1);
- TextDrawBoxColor(Banco[5], 102);
- TextDrawTextSize(Banco[5], 573.000000, 20.000000);
- TextDrawSetSelectable(Banco[5], true);
- Banco[6] = TextDrawCreate(530.000000, 170.000000, " Saldo");
- TextDrawBackgroundColor(Banco[6], 255);
- TextDrawFont(Banco[6], 1);
- TextDrawLetterSize(Banco[6], 0.460000, 2.800000);
- TextDrawColor(Banco[6], -1);
- TextDrawSetOutline(Banco[6], 1);
- TextDrawSetProportional(Banco[6], 1);
- TextDrawUseBox(Banco[6], 1);
- TextDrawBoxColor(Banco[6], 102);
- TextDrawTextSize(Banco[6], 603.000000, 20.000000);
- TextDrawSetSelectable(Banco[6], true);
- Banco[7] = TextDrawCreate(540.000000, 170.000000, "New Textdraw");
- TextDrawBackgroundColor(Banco[7], 0);
- TextDrawFont(Banco[7], 5);
- TextDrawLetterSize(Banco[7], 0.500000, 1.000000);
- TextDrawColor(Banco[7], -1);
- TextDrawSetOutline(Banco[7], 0);
- TextDrawSetProportional(Banco[7], 1);
- TextDrawSetShadow(Banco[7], 1);
- TextDrawUseBox(Banco[7], 1);
- TextDrawBoxColor(Banco[7], 255);
- TextDrawTextSize(Banco[7], 90.000000, 130.000000);
- TextDrawSetPreviewModel(Banco[7], 1212);
- TextDrawSetPreviewRot(Banco[7], -16.000000, 0.000000, -55.000000, 1.000000);
- TextDrawSetSelectable(Banco[7], 0);
- Banco[8] = TextDrawCreate(600.000000, 128.000000, "X");
- TextDrawBackgroundColor(Banco[8], 255);
- TextDrawFont(Banco[8], 1);
- TextDrawLetterSize(Banco[8], 0.889999, 2.099999);
- TextDrawColor(Banco[8], -1);
- TextDrawSetOutline(Banco[8], 0);
- TextDrawSetProportional(Banco[8], 1);
- TextDrawSetShadow(Banco[8], 1);
- TextDrawUseBox(Banco[8], 1);
- TextDrawBoxColor(Banco[8], 255);
- TextDrawTextSize(Banco[8], 621.000000, 15.000000);
- TextDrawSetSelectable(Banco[8], true);
- // == text fundo
- Fundo[0] = TextDrawCreate(197.000000, 2.000000, "#"); // box total
- TextDrawBackgroundColor(Fundo[0], 255);
- TextDrawFont(Fundo[0], 2);
- TextDrawLetterSize(Fundo[0], 0.500000, 49.499992);
- TextDrawColor(Fundo[0], -1);
- TextDrawSetOutline(Fundo[0], 0);
- TextDrawSetProportional(Fundo[0], 1);
- TextDrawSetShadow(Fundo[0], 1);
- TextDrawUseBox(Fundo[0], 1);
- TextDrawBoxColor(Fundo[0], 136);
- TextDrawTextSize(Fundo[0], 442.000000, -21.000000);
- TextDrawSetSelectable(Fundo[0], 0);
- Fundo[1] = TextDrawCreate(270.000000, 13.000000, "~r~~h~L~w~ife~g~~h~V~w~irtual"); // logo
- TextDrawBackgroundColor(Fundo[1], 255);
- TextDrawFont(Fundo[1], 1);
- TextDrawLetterSize(Fundo[1], 0.600000, 2.900000);
- TextDrawColor(Fundo[1], -1);
- TextDrawSetOutline(Fundo[1], 0);
- TextDrawSetProportional(Fundo[1], 1);
- TextDrawSetShadow(Fundo[1], 1);
- TextDrawSetSelectable(Fundo[1], 0);
- Fundo[2] = TextDrawCreate(250.000000, 38.000000, "~w~-"); // linha embaixo do logo
- TextDrawBackgroundColor(Fundo[2], 255);
- TextDrawFont(Fundo[2], 1);
- TextDrawLetterSize(Fundo[2], 9.510000, 1.000000);
- TextDrawColor(Fundo[2], -1);
- TextDrawSetOutline(Fundo[2], 0);
- TextDrawSetProportional(Fundo[2], 1);
- TextDrawSetShadow(Fundo[2], 1);
- TextDrawSetSelectable(Fundo[2], 0);
- Fundo[3] = TextDrawCreate(197.000000, 97.000000, "#"); // barra de cima
- TextDrawBackgroundColor(Fundo[3], 255);
- TextDrawFont(Fundo[3], 2);
- TextDrawLetterSize(Fundo[3], 0.610000, 0.199999);
- TextDrawColor(Fundo[3], -1);
- TextDrawSetOutline(Fundo[3], 0);
- TextDrawSetProportional(Fundo[3], 1);
- TextDrawSetShadow(Fundo[3], 1);
- TextDrawUseBox(Fundo[3], 1);
- TextDrawBoxColor(Fundo[3], 255);
- TextDrawTextSize(Fundo[3], 442.000000, -20.000000);
- TextDrawSetSelectable(Fundo[3], 0);
- Fundo[4] = TextDrawCreate(250.000000, 370.000000, "Bom jogo ! Equipe LV");
- TextDrawBackgroundColor(Fundo[4], 255);
- TextDrawFont(Fundo[4], 2);
- TextDrawLetterSize(Fundo[4], 0.290000, 1.000000);
- TextDrawColor(Fundo[4], -1);
- TextDrawSetOutline(Fundo[4], 1);
- TextDrawSetProportional(Fundo[4], 1);
- TextDrawSetSelectable(Fundo[4], 0);
- Fundo[5] = TextDrawCreate(193.000000, 2.000000, "#"); // barra esquerda
- TextDrawBackgroundColor(Fundo[5], 255);
- TextDrawFont(Fundo[5], 2);
- TextDrawLetterSize(Fundo[5], 0.610000, 51.099998);
- TextDrawColor(Fundo[5], -1);
- TextDrawSetOutline(Fundo[5], 0);
- TextDrawSetProportional(Fundo[5], 1);
- TextDrawSetShadow(Fundo[5], 1);
- TextDrawUseBox(Fundo[5], 1);
- TextDrawBoxColor(Fundo[5], 255);
- TextDrawTextSize(Fundo[5], 194.000000, -20.000000);
- TextDrawSetSelectable(Fundo[5], 0);
- Fundo[6] = TextDrawCreate(446.000000, 2.000000, "#"); // barra direita
- TextDrawBackgroundColor(Fundo[6], 255);
- TextDrawFont(Fundo[6], 2);
- TextDrawLetterSize(Fundo[6], 0.610000, 51.099998);
- TextDrawColor(Fundo[6], -1);
- TextDrawSetOutline(Fundo[6], 0);
- TextDrawSetProportional(Fundo[6], 1);
- TextDrawSetShadow(Fundo[6], 1);
- TextDrawUseBox(Fundo[6], 1);
- TextDrawBoxColor(Fundo[6], 255);
- TextDrawTextSize(Fundo[6], 438.000000, -20.000000);
- TextDrawSetSelectable(Fundo[6], 0);
- // == Registro
- Registro[0] = TextDrawCreate(197.000000, 80.000000, " Registro");
- TextDrawBackgroundColor(Registro[0], 255);
- TextDrawFont(Registro[0], 3);
- TextDrawLetterSize(Registro[0], 0.540000, 1.699998);
- TextDrawColor(Registro[0], -1);
- TextDrawSetOutline(Registro[0], 1);
- TextDrawSetProportional(Registro[0], 1);
- TextDrawUseBox(Registro[0], 1);
- TextDrawBoxColor(Registro[0], 255);
- TextDrawTextSize(Registro[0], 314.000000, 0.000000);
- TextDrawSetSelectable(Registro[0], 0);
- Registro[1] = TextDrawCreate(197.000000, 332.000000, "#"); // barra de baixo
- TextDrawBackgroundColor(Registro[1], 255);
- TextDrawFont(Registro[1], 2);
- TextDrawLetterSize(Registro[1], 0.610000, 0.199999);
- TextDrawColor(Registro[1], -1);
- TextDrawSetOutline(Registro[1], 0);
- TextDrawSetProportional(Registro[1], 1);
- TextDrawSetShadow(Registro[1], 1);
- TextDrawUseBox(Registro[1], 1);
- TextDrawBoxColor(Registro[1], 255);
- TextDrawTextSize(Registro[1], 442.000000, -20.000000);
- TextDrawSetSelectable(Registro[1], 0);
- Registro[2] = TextDrawCreate(235.000000, 139.000000, " SEXO");
- TextDrawBackgroundColor(Registro[2], 255);
- TextDrawFont(Registro[2], 1);
- TextDrawLetterSize(Registro[2], 0.500000, 1.499999);
- TextDrawColor(Registro[2], -1);
- TextDrawSetOutline(Registro[2], 1);
- TextDrawSetProportional(Registro[2], 1);
- TextDrawUseBox(Registro[2], 1);
- TextDrawBoxColor(Registro[2], 102);
- TextDrawTextSize(Registro[2], 403.000000, 10.000000);
- TextDrawSetSelectable(Registro[2], true);
- Registro[3] = TextDrawCreate(235.000000, 184.000000, " SENHA");
- TextDrawBackgroundColor(Registro[3], 255);
- TextDrawFont(Registro[3], 1);
- TextDrawLetterSize(Registro[3], 0.500000, 1.499999);
- TextDrawColor(Registro[3], -1);
- TextDrawSetOutline(Registro[3], 1);
- TextDrawSetProportional(Registro[3], 1);
- TextDrawUseBox(Registro[3], 1);
- TextDrawBoxColor(Registro[3], 102);
- TextDrawTextSize(Registro[3], 403.000000, 10.000000);
- TextDrawSetSelectable(Registro[3], true);
- Registro[4] = TextDrawCreate(235.000000, 230.000000, " IDADE");
- TextDrawBackgroundColor(Registro[4], 255);
- TextDrawFont(Registro[4], 1);
- TextDrawLetterSize(Registro[4], 0.500000, 1.499999);
- TextDrawColor(Registro[4], -1);
- TextDrawSetOutline(Registro[4], 1);
- TextDrawSetProportional(Registro[4], 1);
- TextDrawUseBox(Registro[4], 1);
- TextDrawBoxColor(Registro[4], 102);
- TextDrawTextSize(Registro[4], 403.000000, 10.000000);
- TextDrawSetSelectable(Registro[4], true);
- Registro[5] = TextDrawCreate(235.000000, 276.000000, " EMAIL");
- TextDrawBackgroundColor(Registro[5], 255);
- TextDrawFont(Registro[5], 1);
- TextDrawLetterSize(Registro[5], 0.500000, 1.499999);
- TextDrawColor(Registro[5], -1);
- TextDrawSetOutline(Registro[5], 1);
- TextDrawSetProportional(Registro[5], 1);
- TextDrawUseBox(Registro[5], 1);
- TextDrawBoxColor(Registro[5], 102);
- TextDrawTextSize(Registro[5], 403.000000, 10.000000);
- TextDrawSetSelectable(Registro[5], true);
- Registro[6] = TextDrawCreate(197.000000, 332.000000, " Iniciar");
- TextDrawBackgroundColor(Registro[6], 255);
- TextDrawFont(Registro[6], 3);
- TextDrawLetterSize(Registro[6], 0.540000, 1.699998);
- TextDrawColor(Registro[6], -1);
- TextDrawSetOutline(Registro[6], 1);
- TextDrawSetProportional(Registro[6], 1);
- TextDrawUseBox(Registro[6], 1);
- TextDrawBoxColor(Registro[6], 255);
- TextDrawTextSize(Registro[6], 287.000000, 10.000000);
- TextDrawSetSelectable(Registro[6], true);
- Registro[7] = TextDrawCreate(326.000000, 332.000000, " Cancelar");
- TextDrawBackgroundColor(Registro[7], 255);
- TextDrawFont(Registro[7], 3);
- TextDrawLetterSize(Registro[7], 0.540000, 1.699998);
- TextDrawColor(Registro[7], -1);
- TextDrawSetOutline(Registro[7], 1);
- TextDrawSetProportional(Registro[7], 1);
- TextDrawUseBox(Registro[7], 1);
- TextDrawBoxColor(Registro[7], 255);
- TextDrawTextSize(Registro[7], 442.000000, 10.000000);
- TextDrawSetSelectable(Registro[7], true);
- Registro[8] = TextDrawCreate(210.000000, 309.000000, "Por Favor preencha todos os dados !");
- TextDrawBackgroundColor(Registro[8], 255);
- TextDrawFont(Registro[8], 2);
- TextDrawLetterSize(Registro[8], 0.250000, 1.000000);
- TextDrawColor(Registro[8], -16776961);
- TextDrawSetOutline(Registro[8], 1);
- TextDrawSetProportional(Registro[8], 1);
- TextDrawSetSelectable(Registro[8], 0);
- // == Barra status
- Barra[0] = TextDrawCreate(670.000000, 429.000000, "_");
- TextDrawBackgroundColor(Barra[0], 255);
- TextDrawFont(Barra[0], 1);
- TextDrawLetterSize(Barra[0], 0.589999, 2.699999);
- TextDrawColor(Barra[0], -1);
- TextDrawSetOutline(Barra[0], 0);
- TextDrawSetProportional(Barra[0], 1);
- TextDrawSetShadow(Barra[0], 1);
- TextDrawUseBox(Barra[0], 1);
- TextDrawBoxColor(Barra[0], 120);
- TextDrawTextSize(Barra[0], -14.000000, 55.000000);
- Barra[1] = TextDrawCreate(497.000000, 429.000000, "_"); // vermelho baixo
- TextDrawBackgroundColor(Barra[1], 90);
- TextDrawFont(Barra[1], 1);
- TextDrawLetterSize(Barra[1], 1.570000, 2.699999);
- TextDrawColor(Barra[1], -1);
- TextDrawSetOutline(Barra[1], 0);
- TextDrawSetProportional(Barra[1], 1);
- TextDrawSetShadow(Barra[1], 1);
- TextDrawUseBox(Barra[1], 1);
- TextDrawBoxColor(Barra[1], 0xff000033);
- TextDrawTextSize(Barra[1], 488.000000, 54.000000);
- Barra[2] = TextDrawCreate(521.000000, 426.000000, "~r~~h~L~w~ife~g~~h~V~w~irtual ~r~~h~RPG");
- TextDrawBackgroundColor(Barra[2], 255);
- TextDrawFont(Barra[2], 1);
- TextDrawLetterSize(Barra[2], 0.389999, 2.299998);
- TextDrawColor(Barra[2], -1);
- TextDrawSetOutline(Barra[2], 0);
- TextDrawSetProportional(Barra[2], 1);
- TextDrawSetShadow(Barra[2], 1);
- TextDrawSetSelectable(Barra[2], 0);
- Barra[3] = TextDrawCreate(291.000000, 429.000000, "www.lifevirtual.forumeiros.com");
- TextDrawBackgroundColor(Barra[3], 255);
- TextDrawFont(Barra[3], 3);
- TextDrawLetterSize(Barra[3], 0.310000, 1.600000);
- TextDrawColor(Barra[3], -2139062017);
- TextDrawSetOutline(Barra[3], 1);
- TextDrawSetProportional(Barra[3], 1);
- Barra[4] = TextDrawCreate(15.000000, 430.000000, "");
- TextDrawBackgroundColor(Barra[4], 255);
- TextDrawFont(Barra[4], 3);
- TextDrawLetterSize(Barra[4], 0.330000, 1.600000);
- TextDrawColor(Barra[4], -2139062017);
- TextDrawSetOutline(Barra[4], 1);
- TextDrawSetProportional(Barra[4], 1);
- // == Text Relogio e data
- Relogio[0] = TextDrawCreate(548.000000, 12.000000, " ~w~17~y~:~w~35");
- TextDrawBackgroundColor(Relogio[0], 255);
- TextDrawFont(Relogio[0], 2);
- TextDrawLetterSize(Relogio[0], 0.340000, 1.399999);
- TextDrawColor(Relogio[0], -1);
- TextDrawSetOutline(Relogio[0], 1);
- TextDrawSetProportional(Relogio[0], 1);
- TextDrawUseBox(Relogio[0], 1);
- TextDrawBoxColor(Relogio[0], 51);
- TextDrawTextSize(Relogio[0], 605.000000, 0.000000);
- TextDrawSetSelectable(Relogio[0], 0);
- Relogio[1] = TextDrawCreate(548.000000, 27.000000, "~w~04~y~/~w~03~y~/~w~2015");
- TextDrawBackgroundColor(Relogio[1], 255);
- TextDrawFont(Relogio[1], 2);
- TextDrawLetterSize(Relogio[1], 0.220000, 1.399999);
- TextDrawColor(Relogio[1], -1);
- TextDrawSetOutline(Relogio[1], 1);
- TextDrawSetProportional(Relogio[1], 1);
- TextDrawUseBox(Relogio[1], 1);
- TextDrawBoxColor(Relogio[1], 51);
- TextDrawTextSize(Relogio[1], 605.000000, -1.000000);
- TextDrawSetSelectable(Relogio[1], 0);
- // == Text Postos gasolina
- TextPostos[0] = TextDrawCreate(20.000000, 123.000000, "Posto ~y~Ipiranga");
- TextDrawBackgroundColor(TextPostos[0], 255);
- TextDrawFont(TextPostos[0], 3);
- TextDrawLetterSize(TextPostos[0], 0.600000, 3.000000);
- TextDrawColor(TextPostos[0], -1);
- TextDrawSetOutline(TextPostos[0], 1);
- TextDrawSetProportional(TextPostos[0], 1);
- TextDrawSetSelectable(TextPostos[0], 0);
- TextPostos[1] = TextDrawCreate(20.000000, 153.000000, "~r~/enchergalao");
- TextDrawBackgroundColor(TextPostos[1], 255);
- TextDrawFont(TextPostos[1], 3);
- TextDrawLetterSize(TextPostos[1], 0.600000, 3.000000);
- TextDrawColor(TextPostos[1], -1);
- TextDrawSetOutline(TextPostos[1], 1);
- TextDrawSetProportional(TextPostos[1], 1);
- TextDrawSetSelectable(TextPostos[1], 0);
- TextPostos[2] = TextDrawCreate(20.000000, 184.000000, "~r~/abastecer");
- TextDrawBackgroundColor(TextPostos[2], 255);
- TextDrawFont(TextPostos[2], 3);
- TextDrawLetterSize(TextPostos[2], 0.600000, 3.000000);
- TextDrawColor(TextPostos[2], -1);
- TextDrawSetOutline(TextPostos[2], 1);
- TextDrawSetProportional(TextPostos[2], 1);
- TextDrawSetSelectable(TextPostos[2], 0);
- return 1;
- }
- public OnGameModeExit()
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SalvarDados(i);
- }
- DOF2_Exit();
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SetTimerEx("Locais", 1000, true, "i", playerid);
- new StringBans[40];
- format(StringBans, sizeof(StringBans), BANIDOS, Nome(playerid));
- if(DOF2_FileExists(StringBans)) return VerificarBans(playerid);
- new StringIPSBans[40];
- format(StringIPSBans, sizeof(StringIPSBans), IPSBANIDOS, IP(playerid));
- if(DOF2_FileExists(StringIPSBans)) return VerificarBansIP(playerid);
- // ==
- Motor[playerid] = CreatePlayerTextDraw(playerid, 142.000000, 419.000000, "");
- PlayerTextDrawBackgroundColor(playerid, Motor[playerid], 255);
- PlayerTextDrawFont(playerid, Motor[playerid], 2);
- PlayerTextDrawLetterSize(playerid, Motor[playerid], 0.300000, 1.600000);
- PlayerTextDrawColor(playerid, Motor[playerid], -1);
- PlayerTextDrawSetOutline(playerid, Motor[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Motor[playerid], 1);
- Combust[playerid] = CreatePlayerTextDraw(playerid, 141.000000, 401.000000, " ");
- PlayerTextDrawBackgroundColor(playerid, Combust[playerid], 255);
- PlayerTextDrawFont(playerid, Combust[playerid], 2);
- PlayerTextDrawLetterSize(playerid, Combust[playerid], 0.160000, 2.100000);
- PlayerTextDrawColor(playerid, Combust[playerid], -1);
- PlayerTextDrawSetOutline(playerid, Combust[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Combust[playerid], 1);
- Velo[playerid] = CreatePlayerTextDraw(playerid, 140.000000, 364.000000, " ");
- PlayerTextDrawBackgroundColor(playerid, Velo[playerid], 255);
- PlayerTextDrawFont(playerid, Velo[playerid], 2);
- PlayerTextDrawLetterSize(playerid, Velo[playerid], 0.599999, 4.699997);
- PlayerTextDrawColor(playerid, Velo[playerid], -1);
- PlayerTextDrawSetOutline(playerid, Velo[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Velo[playerid], 1);
- Kmh[playerid] = CreatePlayerTextDraw(playerid, 187.000000, 378.000000, " ~y~KM~i~/~y~H");
- PlayerTextDrawBackgroundColor(playerid, Kmh[playerid], 255);
- PlayerTextDrawFont(playerid, Kmh[playerid], 2);
- PlayerTextDrawLetterSize(playerid, Kmh[playerid], 0.190000, 2.799999);
- PlayerTextDrawColor(playerid, Kmh[playerid], -1);
- PlayerTextDrawSetOutline(playerid, Kmh[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Kmh[playerid], 1);
- Veiculo[playerid] = CreatePlayerTextDraw(playerid, 141.000000, 360.000000, " ");
- PlayerTextDrawBackgroundColor(playerid, Veiculo[playerid], 255);
- PlayerTextDrawFont(playerid, Veiculo[playerid], 2);
- PlayerTextDrawLetterSize(playerid, Veiculo[playerid], 0.250000, 1.200000);
- PlayerTextDrawColor(playerid, Veiculo[playerid], -1);
- PlayerTextDrawSetOutline(playerid, Veiculo[playerid], 1);
- PlayerTextDrawSetProportional(playerid, Veiculo[playerid], 1);
- // == Login
- Login[playerid][0] = TextDrawCreate(197.000000, 80.000000, " Login");
- TextDrawBackgroundColor(Login[playerid][0], 255);
- TextDrawFont(Login[playerid][0], 3);
- TextDrawLetterSize(Login[playerid][0], 0.540000, 1.699998);
- TextDrawColor(Login[playerid][0], -1);
- TextDrawSetOutline(Login[playerid][0], 1);
- TextDrawSetProportional(Login[playerid][0], 1);
- TextDrawUseBox(Login[playerid][0], 1);
- TextDrawBoxColor(Login[playerid][0], 255);
- TextDrawTextSize(Login[playerid][0], 299.000000, 0.000000);
- TextDrawSetSelectable(Login[playerid][0], 0);
- Login[playerid][1] = TextDrawCreate(220.000000, 138.000000, "Nick: ~w~");
- TextDrawBackgroundColor(Login[playerid][1], 255);
- TextDrawFont(Login[playerid][1], 2);
- TextDrawLetterSize(Login[playerid][1], 0.260000, 1.899999);
- TextDrawColor(Login[playerid][1], -1);
- TextDrawSetOutline(Login[playerid][1], 0);
- TextDrawSetProportional(Login[playerid][1], 1);
- TextDrawSetShadow(Login[playerid][1], 1);
- TextDrawSetSelectable(Login[playerid][1], 0);
- Login[playerid][2] = TextDrawCreate(220.000000, 170.000000, "ID: ~w~00");
- TextDrawBackgroundColor(Login[playerid][2], 255);
- TextDrawFont(Login[playerid][2], 2);
- TextDrawLetterSize(Login[playerid][2], 0.389999, 1.899999);
- TextDrawColor(Login[playerid][2], -1);
- TextDrawSetOutline(Login[playerid][2], 0);
- TextDrawSetProportional(Login[playerid][2], 1);
- TextDrawSetShadow(Login[playerid][2], 1);
- TextDrawSetSelectable(Login[playerid][2], 0);
- Login[playerid][3] = TextDrawCreate(235.000000, 248.000000, " JOGAR");
- TextDrawBackgroundColor(Login[playerid][3], 255);
- TextDrawFont(Login[playerid][3], 1);
- TextDrawLetterSize(Login[playerid][3], 0.500000, 1.499999);
- TextDrawColor(Login[playerid][3], -1);
- TextDrawSetOutline(Login[playerid][3], 1);
- TextDrawSetProportional(Login[playerid][3], 1);
- TextDrawUseBox(Login[playerid][3], 1);
- TextDrawBoxColor(Login[playerid][3], 102);
- TextDrawTextSize(Login[playerid][3], 403.000000, 10.000000);
- TextDrawSetSelectable(Login[playerid][3], true);
- Login[playerid][4] = TextDrawCreate(235.000000, 292.000000, " FORUM");
- TextDrawBackgroundColor(Login[playerid][4], 255);
- TextDrawFont(Login[playerid][4], 1);
- TextDrawLetterSize(Login[playerid][4], 0.500000, 1.499999);
- TextDrawColor(Login[playerid][4], -1);
- TextDrawSetOutline(Login[playerid][4], 1);
- TextDrawSetProportional(Login[playerid][4], 1);
- TextDrawUseBox(Login[playerid][4], 1);
- TextDrawBoxColor(Login[playerid][4], 102);
- TextDrawTextSize(Login[playerid][4], 403.000000, 10.000000);
- TextDrawSetSelectable(Login[playerid][4], true);
- Login[playerid][5] = TextDrawCreate(235.000000, 337.000000, " CREDITOS");
- TextDrawBackgroundColor(Login[playerid][5], 255);
- TextDrawFont(Login[playerid][5], 1);
- TextDrawLetterSize(Login[playerid][5], 0.500000, 1.499999);
- TextDrawColor(Login[playerid][5], -1);
- TextDrawSetOutline(Login[playerid][5], 1);
- TextDrawSetProportional(Login[playerid][5], 1);
- TextDrawUseBox(Login[playerid][5], 1);
- TextDrawBoxColor(Login[playerid][5], 102);
- TextDrawTextSize(Login[playerid][5], 403.000000, 10.000000);
- TextDrawSetSelectable(Login[playerid][5], true);
- PlayAudioStreamForPlayer(playerid, "http://live.hunterfm.com/live");
- SelectTextDraw(playerid, 0xFF0000FF);
- for(new i = 0; i < sizeof(Fundo); i++) TextDrawShowForPlayer(playerid, Fundo[i]);
- new StringContas[40];
- format(StringContas, sizeof(StringContas), CONTAS, Nome(playerid));
- if(DOF2_FileExists(StringContas))
- {
- Msg(playerid, LARANJA, "LV: Você ja tem uma conta, digite sua senha para logar.");
- Login[playerid][6] = TextDrawCreate(343.000000, 110.000000, "skin");
- TextDrawBackgroundColor(Login[playerid][6], 0);
- TextDrawFont(Login[playerid][6], 5);
- TextDrawLetterSize(Login[playerid][6], 0.479999, 10.600000);
- TextDrawColor(Login[playerid][6], -1);
- TextDrawSetOutline(Login[playerid][6], 1);
- TextDrawSetProportional(Login[playerid][6], 1);
- TextDrawUseBox(Login[playerid][6], 1);
- TextDrawBoxColor(Login[playerid][6], 255);
- TextDrawTextSize(Login[playerid][6], 99.000000, 120.000000);
- TextDrawSetPreviewModel(Login[playerid][6], DOF2_GetInt(StringContas, "Skin"));
- TextDrawSetPreviewRot(Login[playerid][6], 1.000000, 1.000000, 1.000000, 1.000000);
- TextDrawSetSelectable(Login[playerid][6], 0);
- new NomeText[32], Tid[20];
- format(NomeText, sizeof(NomeText), "~g~~h~Nick: ~w~%s", Nome(playerid));
- TextDrawSetString(Login[playerid][1], NomeText);
- format(Tid, sizeof(Tid), "~g~~h~ID: ~w~%d", playerid);
- TextDrawSetString(Login[playerid][2], Tid);
- for(new i = 0; i < 7; i++) TextDrawShowForPlayer(playerid, Login[playerid][i]);
- } else {
- Msg(playerid, VERMELHO, "LV: Você ainda não tem uma conta, digite sua senha para se registrar.");
- for(new i = 0; i < 8; i++) TextDrawShowForPlayer(playerid, Registro[i]);
- }
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- InterpolateCameraPos(playerid, -2397.553710, 1436.038452, 140.798019, -2876.055175, 1382.189697, 159.150161, 17000);
- InterpolateCameraLookAt(playerid, -2401.776855, 1438.431640, 139.599197, -2872.188964, 1384.818359, 157.377395, 17000);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- SalvarDados(playerid);
- new string[100];
- switch(reason)
- {
- case 0: format(string,sizeof string,"{058AFF}LV:» {CFCFCF}%s{FFFFFF} Saiu do servidor{FF0000} (Crash/Erro)",Nome(playerid));
- case 1: format(string,sizeof string,"{058AFF}LV:» {CFCFCF}%s{FFFFFF} Saiu do servidor{FF0000} (Vontade Propria)",Nome(playerid));
- case 2: format(string,sizeof string,"{058AFF}LV:» {CFCFCF}%s{FFFFFF} Saiu do servidor{FF0000} (Kickado/Banido)",Nome(playerid));
- }
- MsgAll(-1, string);
- for(new p = 0; p < sizeof(Barra); p++) TextDrawHideForPlayer(playerid, Barra[p]);
- for(new p = 0; p < sizeof(Relogio); p++) TextDrawHideForPlayer(playerid, Relogio[p]);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- if(PlayerInfo[playerid][pLogado] == false) return 1;
- for(new p = 0; p < sizeof(Relogio); p++) TextDrawShowForPlayer(playerid, Relogio[p]);
- for(new p = 0; p < sizeof(Barra); p++) TextDrawShowForPlayer(playerid, Barra[p]);
- return 1;
- }
- forward SpawnInHome(playerid);
- public SpawnInHome(playerid)
- {
- new
- house,
- tenantHouseID,
- tenantFile[200],
- houseFile[200],
- houseFile2[200],
- ownerFile[200],
- logString[700];
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", Nome(playerid));
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", Nome(playerid));
- house = DOF2_GetInt(ownerFile, "houseID");
- tenantHouseID = DOF2_GetInt(tenantFile, "houseID");
- format(houseFile, sizeof houseFile, "Casas/Casas/Casa %d.ini", house);
- format(houseFile2, sizeof houseFile2, "Casas/Casas/Casa %d.ini", tenantHouseID);
- if(DOF2_FileExists(ownerFile))
- {
- new value = DOF2_GetInt(ownerFile, "ValorAreceber");
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerFacingAngle(playerid, CasaInfo[house][houseIntFA]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- format(logString, sizeof logString, "O jogador %s[%d], foi spawnado na casa %d.", Nome(playerid), playerid, house);
- WriteLog(LOG_HOUSES, logString);
- if(value != 0)
- {
- format(logString, sizeof logString, "O jogador %s[%d], foi spawnado na casa %d, e coletou o aluguel de $%d.", Nome(playerid), playerid, house, CasaInfo[house][houseIncoming]);
- WriteLog(LOG_HOUSES, logString);
- GivePlayerCash(playerid, CasaInfo[house][houseIncoming]);
- CasaInfo[house][houseIncoming] = 0;
- DOF2_SetInt(ownerFile, "ValorAreceber", CasaInfo[house][houseIncoming]);
- return 1;
- }
- return 1;
- }
- else if(DOF2_FileExists(tenantFile))
- {
- new
- value = DOF2_GetInt(tenantFile, "ValorApagar");
- SetPlayerVirtualWorld(playerid, CasaInfo[tenantHouseID][houseVirtualWorld]);
- SetPlayerPos(playerid, CasaInfo[tenantHouseID][houseIntX], CasaInfo[tenantHouseID][houseIntY], CasaInfo[tenantHouseID][houseIntZ]);
- SetPlayerFacingAngle(playerid, CasaInfo[tenantHouseID][houseIntFA]);
- SetPlayerInterior(playerid, CasaInfo[tenantHouseID][houseInterior]);
- format(logString, sizeof logString, "O jogador %s[%d], foi spawnado na casa %d.", Nome(playerid), playerid, tenantHouseID);
- WriteLog(LOG_HOUSES, logString);
- if(value != 0)
- {
- if(GetPlayerCash(playerid) < value)
- {
- new
- Float: X, Float: Y, Float: Z;
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Você não tem dinheiro o suficiente para pagar o aluguel e foi despejado.");
- format(CasaInfo[tenantHouseID][houseTenant], 255, "Ninguem");
- DOF2_SetString(houseFile2, "Locador", "Ninguem", "Aluguel");
- DOF2_RemoveFile(tenantFile);
- Update3DText(tenantHouseID);
- format(logString, sizeof logString, "O jogador %s[%d], não tinha dinheiro o suficiente para pagar o aluguel da casa %d e foi despejado.", Nome(playerid), playerid, tenantHouseID);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- format(logString, sizeof logString, "O jogador %s[%d], foi spawnado na casa %d e pagou $%d de aluguel.", Nome(playerid), playerid, tenantHouseID, value);
- WriteLog(LOG_HOUSES, logString);
- GivePlayerCash(playerid, -value);
- CasaInfo[tenantHouseID][houseOutcoming] = 0;
- DOF2_SetInt(tenantFile, "ValorApagar", CasaInfo[tenantHouseID][houseOutcoming]);
- return 1;
- }
- return 1;
- }
- return 1;
- }
- forward RentalCharge();
- public RentalCharge()
- {
- new
- Float: X, Float: Y, Float: Z,
- housesCharged,
- playersDumped,
- ownerID,
- tenantID,
- logString[700],
- playerName2[MAX_PLAYER_NAME],
- playerName3[MAX_PLAYER_NAME],
- ownerFile[200],
- tenantFile[200],
- houseFile[200],
- string[128];
- gettime(timeHour, timeMinute, timeSecond);
- for(new i = 1; i < MAX_CASAS; i++)
- {
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", CasaInfo[i][houseOwner]);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", CasaInfo[i][houseTenant]);
- format(houseFile, sizeof houseFile, "Casas/Casas/Casa %d.ini", i);
- if(DOF2_FileExists(ownerFile) || DOF2_FileExists(tenantFile))
- {
- for(new ids = 0; ids < MAX_PLAYERS; ids++)
- {
- if(IsPlayerConnected(ids))
- {
- GetPlayerName(ids, playerName, MAX_PLAYER_NAME);
- if(!strcmp(CasaInfo[i][houseOwner], playerName, true))
- {
- ownerID = ids;
- GetPlayerName(ownerID, playerName2, MAX_PLAYER_NAME);
- }
- if(!strcmp(CasaInfo[i][houseTenant], playerName, true))
- {
- tenantID = ids;
- GetPlayerName(tenantID, playerName3, MAX_PLAYER_NAME);
- }
- }
- }
- }
- if(timeHour == 15)
- {
- if(timeMinute == 43)
- {
- if(timeSecond == 00)
- {
- if(strcmp(CasaInfo[i][houseTenant], "Ninguem", true))
- {
- housesCharged++;
- CasaInfo[i][houseOutcoming] += CasaInfo[i][houseRentPrice];
- CasaInfo[i][houseIncoming] += CasaInfo[i][houseRentPrice];
- DOF2_SetInt(ownerFile, "ValorAreceber", CasaInfo[i][houseIncoming]);
- DOF2_SetInt(tenantFile, "ValorApagar", CasaInfo[i][houseOutcoming]);
- if(IsPlayerConnected(ownerID))
- {
- format(string, sizeof string, "{AB82FF}LV CASAS: Hora de receber o aluguel! Você recebeu {FFFFFF}$%d {FFFFFF}do locador.", CasaInfo[i][houseIncoming]);
- Msg(ownerID, -1, string);
- GivePlayerCash(ownerID, CasaInfo[i][houseIncoming]);
- CasaInfo[i][houseIncoming] = 0;
- DOF2_SetInt(ownerFile, "ValorAreceber", CasaInfo[i][houseIncoming]);
- }
- if(IsPlayerConnected(tenantID))
- {
- if(PlayerInfo[tenantID][SaldoBancario] < CasaInfo[i][houseOutcoming])
- {
- playersDumped++;
- GetPlayerPos(tenantID, X, Y, Z);
- PlayerPlaySound(tenantID, 1085, X, Y, Z);
- Msg(tenantID, VERMELHO, "ERRO: Você não tem dinheiro o suficiente para pagar o aluguel. Você foi despejado.");
- format(CasaInfo[i][houseTenant], 255, "Ninguem");
- DOF2_SetString(houseFile, "Locador", "Ninguem", "Aluguel");
- DOF2_RemoveFile(tenantFile);
- Update3DText(i);
- return 1;
- }
- format(string, sizeof string, "{AB82FF}LV CASAS: Hora de pagar o aluguel! Você pagou {FFFFFF}$%d {FFFFFF}de aluguel que foram descontados da conta bancaria.", CasaInfo[i][houseOutcoming]);
- Msg(tenantID, -1, string);
- PlayerInfo[tenantID][SaldoBancario] -= CasaInfo[i][houseOutcoming];
- CasaInfo[i][houseOutcoming] = 0;
- DOF2_SetInt(tenantFile, "ValorApagar", CasaInfo[i][houseOutcoming]);
- }
- }
- }
- }
- }
- }
- if(housesCharged != 0)
- {
- format(logString, sizeof logString, "Foram cobrado os alugueis de %d casas, %d jogadores que não tinham dinheiro para pagar aluguel estavam conectados e foram despejados.", housesCharged, playersDumped);
- return WriteLog(LOG_SYSTEM, logString);
- }
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid == INVALID_PLAYER_ID)
- {
- SendDeathMessage(INVALID_PLAYER_ID,playerid,reason);
- } else {
- SendDeathMessage(killerid,playerid,reason);
- }
- if(GetClosestHospital(playerid) == 0)
- {
- SetSpawnInfo(playerid, 0,PlayerInfo[playerid][pSkin],-2651.6501, 634.4510, 14.4531, 180.0000, 0, 0, 0, 0, 0, 0);
- } else if(GetClosestHospital(playerid) == 1){
- SetSpawnInfo(playerid, 0,PlayerInfo[playerid][pSkin], 1173.5842, -1324.5615, 15.1953, 278.4624, 0, 0, 0, 0, 0, 0);
- }else if(GetClosestHospital(playerid) == 2){
- SetSpawnInfo(playerid, 0,PlayerInfo[playerid][pSkin], 2031.9415, -1404.3578, 17.2614, 165.8180, 0, 0, 0, 0, 0, 0);
- }else if(GetClosestHospital(playerid) == 3){
- SetSpawnInfo(playerid, 0,PlayerInfo[playerid][pSkin], 1582.5615, 1768.7921, 10.8203, 93.7454, 0, 0, 0, 0, 0, 0);
- }else if(GetClosestHospital(playerid) == 4){
- SetSpawnInfo(playerid, 0,PlayerInfo[playerid][pSkin], -319.2737, 1049.8657, 20.3403, 93.7454, 0, 0, 0, 0, 0, 0);
- }
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new Texto[128];
- format(Texto, sizeof(Texto), "%s [%d]:{FFFFFF} %s", Nome(playerid), playerid, text);
- MsgAll(GetPlayerColor(playerid), Texto);
- SetPlayerChatBubble(playerid, text, -1, 80, 4000);
- return 0;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- if(PlayerInfo[playerid][pLevel] < 3) Msg(playerid, LARANJA, "LV: Para ver os comandos de ignição do carro digite /ajudacarro");
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- SetTimerEx("Velocimetro", 100, false, "i", playerid);
- new modelo = GetVehicleModel(GetPlayerVehicleID(playerid));
- //Habilitação nautica unica
- if(modelo == 472 || modelo == 473 || modelo == 493 || modelo == 595 || modelo == 484 || modelo == 430 || modelo == 453 || modelo == 452 || modelo == 446 || modelo == 454)
- {
- if(PlayerInfo[playerid][HabNautica] == 0)
- {
- Msg(playerid, VERMELHO, "LV: Você não tem uma habilitação Nautica, Va ate o centro de licença /gps");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, 1);
- }
- }
- // habilitação aerea nivel 10 exp
- if(modelo == 476 || modelo == 460 || modelo == 487 || modelo == 488 || modelo == 497 || modelo == 512 || modelo == 513 || modelo == 593)
- {
- if(PlayerInfo[playerid][HabAerea] == 0)
- {
- Msg(playerid, VERMELHO, "LV: Você não tem uma habilitação Aerea, Va ate o centro de licença /gps");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, 1);
- }
- }
- // habilitação aerea nivel 50 exp
- if(modelo == 417 || modelo == 447 || modelo == 469 || modelo == 511 || modelo == 548 || modelo == 563)
- {
- if(PlayerInfo[playerid][HabAerea] < 50)
- {
- Msg(playerid, VERMELHO, "LV: Você não possue experiência necessaria para pilotar esse avião.");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, 1);
- format(String,sizeof String, "LV: Sua experiência em vôos: %d Exp. Quantidade necessaria: 50 Exp", PlayerInfo[playerid][HabAerea]);
- Msg(playerid, VERMELHO, String);
- }
- }
- // habilitação aerea nivel 100 exp
- if(modelo == 425 || modelo == 519 || modelo == 520 || modelo == 553 || modelo == 577 || modelo == 592)
- {
- if(PlayerInfo[playerid][HabAerea] < 100)
- {
- Msg(playerid, VERMELHO, "LV: Você não possue experiência necessaria para pilotar esse avião.");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, 1);
- format(String,sizeof String, "LV: Sua experiência em vôos: %d Exp. Quantidade necessaria: 100 Exp", PlayerInfo[playerid][HabAerea]);
- Msg(playerid, VERMELHO, String);
- }
- }
- if(modelo == 400 || modelo == 401 || modelo == 402 || modelo == 404 || modelo == 405 || modelo == 410 || modelo == 411 || modelo == 412 || modelo == 413 || modelo == 415 || modelo == 419 || modelo == 420 || modelo == 421
- || modelo == 422 || modelo == 423 || modelo == 424 || modelo == 426 || modelo == 429 || modelo == 434 || modelo == 436 || modelo == 438 || modelo == 439 || modelo == 440 || modelo == 441 || modelo == 442
- || modelo == 444 || modelo == 445 || modelo == 451 || modelo == 457 || modelo == 458 || modelo == 459 || modelo == 466 || modelo == 467 || modelo == 470 || modelo == 474 || modelo == 475 || modelo == 477
- || modelo == 480 || modelo == 482 || modelo == 483 || modelo == 485 || modelo == 489 || modelo == 490 || modelo == 491 || modelo == 492 || modelo == 494 || modelo == 495 || modelo == 496 || modelo == 498
- || modelo == 499 || modelo == 500 || modelo == 502 || modelo == 503 || modelo == 504 || modelo == 505 || modelo == 506 || modelo == 507 || modelo == 508 || modelo == 516 || modelo == 517 || modelo == 518
- || modelo == 526 || modelo == 527 || modelo == 528 || modelo == 529 || modelo == 530 || modelo == 531 || modelo == 533 || modelo == 534 || modelo == 535 || modelo == 536 || modelo == 540 || modelo == 541
- || modelo == 542 || modelo == 543 || modelo == 545 || modelo == 546 || modelo == 547 || modelo == 549 || modelo == 550 || modelo == 551 || modelo == 552 || modelo == 554 || modelo == 555 || modelo == 556
- || modelo == 557 || modelo == 558 || modelo == 559 || modelo == 560 || modelo == 561 || modelo == 562 || modelo == 565 || modelo == 566 || modelo == 567 || modelo == 568 || modelo == 571 || modelo == 572
- || modelo == 574 || modelo == 575 || modelo == 576 || modelo == 579 || modelo == 580 || modelo == 582 || modelo == 583 || modelo == 587 || modelo == 588 || modelo == 589 || modelo == 596 || modelo == 597
- || modelo == 598 || modelo == 599 || modelo == 600 || modelo == 601 || modelo == 602 || modelo == 603 || modelo == 604 || modelo == 605 || modelo == 522 || modelo == 461 || modelo == 521 || modelo == 523
- || modelo == 463 || modelo == 586 || modelo == 468 || modelo == 471 || modelo == 409 || modelo == 414 || modelo == 418 || modelo == 525 || modelo == 532 || modelo == 573 || modelo == 609 || modelo == 406
- || modelo == 407 || modelo == 408 || modelo == 416 || modelo == 427 || modelo == 428 || modelo == 431 || modelo == 433 || modelo == 437 || modelo == 455 || modelo == 456 || modelo == 486 || modelo == 524
- || modelo == 544 || modelo == 578 || modelo == 403 || modelo == 443 || modelo == 514 || modelo == 515)
- {
- if(PlayerInfo[playerid][HabTerrestre] == 0)
- {
- Msg(playerid, VERMELHO, "LV: Você não tem uma habilitação Terrestre, Va ate o centro de licença /gps");
- RemovePlayerFromVehicle(playerid);
- TogglePlayerControllable(playerid, 1);
- }
- }
- }
- return 1;
- }
- public OnPlayerEnterCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerEnterRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnPlayerLeaveRaceCheckpoint(playerid)
- {
- return 1;
- }
- public OnRconCommand(cmd[])
- {
- return 1;
- }
- public OnPlayerRequestSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid, pickupid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- new engine, lights, alarm, doors, bonnet, boot, objective;
- switch(newkeys)
- {
- case 4: //Alt - Motor (Engine)
- {
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(GasolinaVeiculo[vehicleid] > 0)
- {
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- format(String,sizeof String, "LV: Motor %s.", (engine) ? ("{E31919}desligado") : ("{32CD32}ligado"));
- Msg(playerid, CINZA, String);
- SetVehicleParamsEx(vehicleid, (engine) ? (VEHICLE_PARAMS_OFF) : (VEHICLE_PARAMS_ON), lights, alarm, doors, bonnet, boot, objective);
- }
- }
- }
- case 132: //CTRL Direito - Capô (Bonnet)
- {
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- format(String,sizeof String, " LV: Capô %s.", (bonnet) ? ("{E31919}fechado") : ("{32CD32}aberto"));
- Msg(playerid, CINZA, String);
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, (bonnet) ? (VEHICLE_PARAMS_OFF) : (VEHICLE_PARAMS_ON), boot, objective);
- }
- }
- case 1: //CTRL Esquerdo - Porta malas (Boot)
- {
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- format(String,sizeof String, " LV: Porta-malas %s.", (boot) ? ("{E31919}fechado") : ("{32CD32}aberto"));
- Msg(playerid, CINZA, String);
- SetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, (boot) ? (VEHICLE_PARAMS_OFF) : (VEHICLE_PARAMS_ON), objective);
- }
- }
- case 131072: //N - Farol (Lights)
- {
- if(IsPlayerInAnyVehicle(playerid) && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- GetVehicleParamsEx(vehicleid, engine, lights, alarm, doors, bonnet, boot, objective);
- format(String,sizeof String, " LV: Farol %s.", (lights) ? ("{E31919}apagado") : ("{32CD32}aceso"));
- Msg(playerid, CINZA, String);
- SetVehicleParamsEx(vehicleid, engine, (lights) ? (VEHICLE_PARAMS_OFF) : (VEHICLE_PARAMS_ON), alarm, doors, bonnet, boot, objective);
- }
- }
- case KEY_SECONDARY_ATTACK: // F casa
- {
- for(new house = 1; house < MAX_CASAS; house++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- if(PlayerInfo[playerid][pAdmin] == 5)
- {
- TogglePlayerControllable(playerid, 0);
- ShowPlayerDialog(playerid, DIALOG_ADMIN, DIALOG_STYLE_MSGBOX, "{00F2FC}Escolha um menu.", "{FFFFFF}Qual menu você gostaria de ter acesso desta casa?", "Normal", "Admin.");
- return 1;
- }
- new Float: X, Float: Y, Float: Z;
- ShowHouseMenu(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1083, X, Y, Z);
- }
- else if(IsPlayerInRangeOfPoint(playerid, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]))
- {
- if(GetPlayerVirtualWorld(playerid) == CasaInfo[house][houseVirtualWorld])
- {
- SetPlayerPos(playerid, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- SetPlayerVirtualWorld(playerid, 0);
- SetPlayerInterior(playerid, 0);
- new logString[400];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], saiu da casa %d", playerName, playerid, house);
- WriteLog(LOG_SYSTEM, logString);
- }
- }
- }
- }
- }
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
- new string[128];
- format(string, sizeof(string), "~w~NICK: ~r~~h~%s________~w~SCORE: ~r~~h~%d________~w~ID: ~r~~h~%d",Nome(playerid), PlayerInfo[playerid][pLevel], playerid);
- TextDrawSetString(Barra[4], string);
- return 1;
- }
- forward GetPlayerDistanceToPoint(playerid,Float:x,Float:y);
- public GetPlayerDistanceToPoint(playerid,Float:x,Float:y)
- {
- new Float:x1,Float:y1,Float:z1;
- new Float:tmpdis;
- GetPlayerPos(playerid,x1,y1,z1);
- tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2));
- return floatround(tmpdis);
- }
- forward GetClosestHospital(playerid);
- public GetClosestHospital(playerid)
- {
- if(!IsPlayerConnected(playerid)) return -1;
- new Float:prevdist = 100000.000;
- new prevhosp;
- for(new hospid = 0; hospid < 4; hospid++)
- {
- new Float:dist;
- if(hospid == 0)
- {
- dist = GetPlayerDistanceToPoint(playerid,-2651.6501,634.1177);
- }else if(hospid == 1){
- dist = GetPlayerDistanceToPoint(playerid,1173.5842,-1324.5615);
- }else if(hospid == 2){
- dist = GetPlayerDistanceToPoint(playerid,2031.9415,-1404.3578);
- }else if(hospid == 3){
- dist = GetPlayerDistanceToPoint(playerid,1582.5615,1768.7921);
- }
- if((dist < prevdist))
- {
- prevdist = dist;
- prevhosp = hospid;
- }
- }
- return prevhosp;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new Float: X, Float: Y, Float: Z;
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- switch(dialogid)
- {
- case DIALOG_REGISTRO:
- {
- if(!response) return 1;
- if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "REGISTRO LIFE VIRTUAL RPG", "\nPor favor digite uma senha com mais de 4 digitos:\n\n", "Ok", "Cancelar");
- format(String, sizeof(String), "LV: Sua senha é {058AFF}[%s]{ffffff}.", inputtext);
- Msg(playerid, -1, String);
- new string[70];
- format(string, sizeof(string), CONTAS, Nome(playerid));
- DOF2_CreateFile(string);
- DOF2_SetString(string, "Senha", inputtext);
- DOF2_SaveFile();
- DigitouSenha[playerid] = 1;
- }
- case DIALOG_EMAIL:
- {
- if(!response) return 1;
- if(strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL LIFE VIRTUAL RPG", "\nPor favor digite um email valido:\n\n", "Ok", "Cancelar");
- format(String, sizeof(String), "LV: Seu email é {058AFF}[%s]{FFFFFF}.", inputtext);
- Msg(playerid, -1, String);
- new string[70];
- format(string, sizeof(string), CONTAS, Nome(playerid));
- DOF2_CreateFile(string);
- DOF2_SetString(string, "Email", inputtext);
- DOF2_SaveFile();
- DigitouEmail[playerid] = 1;
- }
- case DIALOG_SEXO:
- {
- if(response) // Masculino
- {
- Msg(playerid, -1, "LV: Você selecionou sexo {058AFF}Masculino{ffffff}.");
- PlayerInfo[playerid][pSexo] = 1;
- PlayerInfo[playerid][pSkin] = 26;
- DigitouSexo[playerid] = 1;
- } else { // Feminino
- Msg(playerid, -1, "LV: Você selecionou sexo {EE3B3B}Feminino{ffffff}.");
- PlayerInfo[playerid][pSexo] = 2;
- PlayerInfo[playerid][pSkin] = 56;
- DigitouSexo[playerid] = 1;
- }
- }
- case DIALOG_IDADE:
- {
- if(!response) return 1;
- if(response)
- {
- if(strval(inputtext) < 5 || strval(inputtext) > 99) return ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "IDADE LIFE VIRTUAL RPG", "\nErro, sua idade deve ser de 5 a 99.\nPor favor, digite a idade corretamente.\n\n", "OK", "Cancelar");
- format(String, sizeof(String), "LV: Você selecionou idade {058AFF}[%d]{ffffff} anos.", strval(inputtext));
- Msg(playerid, -1, String);
- PlayerInfo[playerid][pIdade] = strval(inputtext);
- DigitouIdade[playerid] = 1;
- }
- }
- case DIALOG_LOGIN:
- {
- if(!response) return 1;
- new string[70];
- format(string, sizeof(string), CONTAS, Nome(playerid));
- if(!strcmp(inputtext, DOF2_GetString(string, "Senha"), false))
- {
- CarregarDados(playerid);
- } else {
- PlayerInfo[playerid][ErrouSenha] ++;
- Msg(playerid, VERMELHO, "ERRO: Senha incorreta!");
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN LIFE VIRTUAL RPG:", "\n{FF0000}Senha Incorreta\n{FFFFFF}Digite sua senha abaixo para logar-se:\n\n", "Logar", "Voltar");
- if(PlayerInfo[playerid][ErrouSenha] == 3)
- {
- Msg(playerid, VERMELHO, "ERRO: Você errou sua senha 3 vezes!");
- SetTimerEx("Kickar", 100, false, "i", playerid);
- }
- }
- }
- case DIALOG_DADMIN:
- {
- if(response)
- {
- format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo admin do server!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- WriteLog(LOG_ADM, String);
- Msg(playerid, VERDE_CLARO, "Use /staff para ver seus comandos da Administração.");
- PlayerInfo[playerid][pAdmin] = nivel;
- }
- if(!response)
- {
- format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser admin do server!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- }
- }
- case DIALOG_HELPER:
- {
- if(!response) return format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} recusou ser Helper do server.", Nome(playerid)), MsgAll(AZUL_CLARO, String);
- format(String, sizeof(String), "O Jogador {1B95E0}%s{00C2EC} é o mais novo Helper do server", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- WriteLog(LOG_ADM, String);
- Msg(playerid, VERDE_CLARO, "Use /staff para ver seus comandos de Helper.");
- PlayerInfo[playerid][pHelper] = 1;
- }
- case DIALOG_ATIVAR_KEY:
- {
- if(!response) return 1;
- new stringV[40];
- format(stringV, sizeof stringV, VIP_KEYS, inputtext);
- if(!DOF2_FileExists(stringV)) return Msg(playerid, VERMELHO, "ERRO: Codigo incorreto ou essa key não é válida !");
- new Level = DOF2_GetInt(stringV, "LEVEIS");
- SetarVip(playerid, Level);
- DOF2_RemoveFile(stringV);
- new stringLog[80];
- format(stringLog, sizeof(stringLog), "O jogador %s ativou o codigo %s com %d leveis", Nome(playerid), inputtext, Level);
- WriteLog(LOG_VIP, stringLog);
- }
- case DIALOG_NOVA_KEY:
- {
- if(!response) return 1;
- format(vKey[playerid], 128, inputtext);
- new Dialog[128];
- format(Dialog, sizeof Dialog, "{FFFFFF}Seu novo codigo VIP: {DE3A3A}%s\n\n{FFFFFF}Agora nos informe a quantidade de leveis VIP:", vKey[playerid]);
- ShowPlayerDialog(playerid, DIALOG_NOVAKEY_DIAS, DIALOG_STYLE_INPUT, "LV RPG KEYS VIP", Dialog, "Criar", "Cancelar");
- }
- case DIALOG_NOVAKEY_DIAS:
- {
- if(!IsNumeric(inputtext)) return Msg(playerid, VERMELHO, "ERRO: Digite uma quantidade de dias válidos.");
- vDias[playerid] = strval(inputtext);
- new Dialog[150];
- format(Dialog, sizeof Dialog, "{FFFFFF}Informações de sua nova key:\n\nCódigo: {DE3A3A}%s\n{FFFFFF}Vencimento: {DE3A3A}%d dias\n\n{FFFFFF}Deseja criar ?", vKey[playerid], vDias[playerid]);
- ShowPlayerDialog(playerid, DIALOG_KEY_CONFIRMAR, DIALOG_STYLE_MSGBOX, "LV RPG KEY VIP", Dialog, "Sim", "Não");
- }
- case DIALOG_KEY_CONFIRMAR:
- {
- if(!response) return 1;
- CriarKey(playerid, vKey[playerid], vDias[playerid]);
- }
- case DIALOG_CRIAR_RADAR:
- {
- if(!response)
- {
- CriandoRadar = 0;
- Msg(playerid, VERMELHO, "LV ADMIN: Criação de radar cancelada !");
- return 1;
- }
- new Float:PosX, Float:PosY, Float:PosZ, Float:Angulo;
- GetPlayerPos(playerid, PosX, PosY, PosZ);
- GetPlayerFacingAngle(playerid, Angulo);
- new string[30];
- for(new i; i< MAX_RADAR; i++)
- {
- format(string, sizeof string, RADARES, i);
- if(!DOF2_FileExists(string))
- {
- IDRadar[playerid] = i;
- DOF2_CreateFile(string);
- break;
- }
- }
- RadarInfo[IDRadar[playerid]][rPosX] = PosX;
- RadarInfo[IDRadar[playerid]][rPosY] = PosY;
- RadarInfo[IDRadar[playerid]][rPosZ] = PosZ-1.5;
- RadarInfo[IDRadar[playerid]][rAngulo] = Angulo;
- RadarInfo[IDRadar[playerid]][rVelocidade] = VelocidadeRADAR;
- ObjetoRadar[0][IDRadar[playerid]] = CreateDynamicObject(18880, RadarInfo[IDRadar[playerid]][rPosX], RadarInfo[IDRadar[playerid]][rPosY], RadarInfo[IDRadar[playerid]][rPosZ], 0.0, 0.0, RadarInfo[IDRadar[playerid]][rAngulo]);
- ObjetoRadar[1][IDRadar[playerid]] = CreateDynamicObject(18880, RadarInfo[IDRadar[playerid]][rPosX], RadarInfo[IDRadar[playerid]][rPosY], RadarInfo[IDRadar[playerid]][rPosZ], 0.0, 0.0, RadarInfo[IDRadar[playerid]][rAngulo] + 180.0);
- new StringRadar[40];
- format(StringRadar, sizeof(StringRadar),"{FF0000}LV Radar ID: %d\n%d KM/H", IDRadar[playerid], RadarInfo[IDRadar[playerid]][rVelocidade]);
- TRadar[IDRadar[playerid]] = Text3D:Create3DTextLabel(StringRadar, -1, RadarInfo[IDRadar[playerid]][rPosX], RadarInfo[IDRadar[playerid]][rPosY], RadarInfo[IDRadar[playerid]][rPosZ]+1, 100.0, 0);
- IconeRadar[IDRadar[playerid]] = CreateDynamicMapIcon(RadarInfo[IDRadar[playerid]][rPosX], RadarInfo[IDRadar[playerid]][rPosY], RadarInfo[IDRadar[playerid]][rPosZ], 34, -1, -1, 0, -1, 100.0);
- format(String, sizeof(String),"INFO: Radar ID: %d criado.",IDRadar[playerid]);
- Msg(playerid, LARANJA, String);
- SetPlayerPos(playerid, PosX+1,PosY+1,PosZ+1);
- CriandoRadar = 0;
- SalvarRadares();
- }
- case DIALOG_ABASTECER:
- {
- if(!response) return 1;
- if(strval(inputtext) < 0 || strval(inputtext) > 100) return ShowPlayerDialog(playerid, DIALOG_ABASTECER, DIALOG_STYLE_INPUT, "~ ABASTECENDO ~", "{FF0000}ERRO\n\n{F8F8FF}Quantidade inválida.\nVocê pode abastecer até 100 litros.", "Abastecer", "Cancelar");
- new Valor = strval(inputtext) * 3; // 3 reais o valor do litro
- if(Valor > GetPlayerCash(playerid)) return Msg(playerid, VERMELHO, "ERRO: Saldo insuficiente, o valor do litro é de R$ 3.");
- new vehicleid = GetPlayerVehicleID(playerid);
- if(strval(inputtext) + GasolinaVeiculo[vehicleid] < 100)
- {
- GasolinaVeiculo[vehicleid] += strval(inputtext);
- GivePlayerCash(playerid, - strval(inputtext) * 3);
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu veiculo.", strval(inputtext));
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- if(strval(inputtext) + GasolinaVeiculo[vehicleid])
- {
- new quantia = 100 - GasolinaVeiculo[vehicleid];
- GasolinaVeiculo[vehicleid] = 100;
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu veiculo.", quantia);
- Msg(playerid, AZUL_CLARO, String);
- GivePlayerCash(playerid, - quantia);
- return 1;
- }
- }
- case DIALOG_GALAOABAST:
- {
- if(!response) return 1;
- if(strval(inputtext) < 0 || strval(inputtext) > 20) return ShowPlayerDialog(playerid, DIALOG_ABASTECER, DIALOG_STYLE_INPUT, "~ ABASTECENDO ~", "{FF0000}ERRO\n\n{F8F8FF}Quantidade inválida.\nVocê pode abastecer até 20 litros no galão.", "Abastecer", "Cancelar");
- if(strval(inputtext) + PlayerInfo[playerid][GalaoGasolina] > 20) return Msg(playerid, VERMELHO, "ERRO: A capacidade de seu galão é de apenas 20 litros, para ver /quantidadegalao.");
- new Valor = strval(inputtext) * 3; // 3 reais o valor do litro
- if(Valor > GetPlayerCash(playerid)) return Msg(playerid, VERMELHO, "ERRO: Saldo insuficiente, o valor do litro é de R$ 3.");
- if(strval(inputtext) + PlayerInfo[playerid][GalaoGasolina] < 20)
- {
- PlayerInfo[playerid][GalaoGasolina] += strval(inputtext);
- GivePlayerCash(playerid, - strval(inputtext) * 3);
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu galao de gasolina.", strval(inputtext));
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- if(strval(inputtext) + PlayerInfo[playerid][GalaoGasolina])
- {
- new quantia = 100 - PlayerInfo[playerid][GalaoGasolina];
- PlayerInfo[playerid][GalaoGasolina] = 100;
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu galao de gasolina.", quantia);
- Msg(playerid, AZUL_CLARO, String);
- GivePlayerCash(playerid, - quantia);
- return 1;
- }
- }
- //banco
- case DIALOG_SACAR:
- {
- if(!response) return 1;
- if(strval(inputtext) > PlayerInfo[playerid][SaldoBancario]) return Msg(playerid, VERMELHO, "ERRO: Sua conta bancaria não possue essa quantia!");
- PlayerInfo[playerid][SaldoBancario] -= strval(inputtext);
- GivePlayerCash(playerid, strval(inputtext));
- format(String, sizeof(String), "BANCO: Você sacou R$ %d da sua conta bancaria.", strval(inputtext));
- Msg(playerid, ROSAB, String);
- }
- case DIALOG_DEPOSITAR:
- {
- if(!response) return 1;
- if(strval(inputtext) > GetPlayerCash(playerid)) return Msg(playerid, VERMELHO, "ERRO: Você não possue essa quantia em mãos!");
- PlayerInfo[playerid][SaldoBancario] += strval(inputtext);
- GivePlayerCash(playerid, -strval(inputtext));
- format(String, sizeof(String), "BANCO: Você depositou R$ %d em sua conta bancaria.", strval(inputtext));
- Msg(playerid, ROSAB, String);
- }
- case DIALOG_TRANSF_ID:
- {
- if(!response) return 1;
- if(!IsPlayerConnected(strval(inputtext))) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- IDTransferir = strval(inputtext);
- new Dialog[150];
- format(Dialog, sizeof(Dialog), "\nVoce selecionou transferência para %s[%d].\nSe estiver correto digite o valor que deseja transferir:\n\n", Nome(IDTransferir), IDTransferir);
- ShowPlayerDialog(playerid, DIALOG_TRANSF_RS, DIALOG_STYLE_INPUT, "BANCO SAN ANDREAS - TRANSFERÊNCIA", Dialog, "Ok", "Cancelar");
- }
- case DIALOG_TRANSF_RS:
- {
- if(!response) return 1;
- if(strval(inputtext) > PlayerInfo[playerid][SaldoBancario]) return Msg(playerid, VERMELHO, "ERRO: Você não possue essa quantia em sua conta bancária!");
- PlayerInfo[playerid][SaldoBancario] -= strval(inputtext);
- PlayerInfo[IDTransferir][SaldoBancario] += strval(inputtext);
- format(String, sizeof(String), "BANCO: Você transferiu R$ %d para conta de %s [%d].", strval(inputtext), Nome(IDTransferir), IDTransferir);
- Msg(playerid, ROSAB, String);
- new StringID[70];
- format(StringID, sizeof(StringID), "BANCO: %s [%d] transferiu R$ %d para sua conta bancária.", Nome(IDTransferir), IDTransferir, strval(inputtext));
- Msg(IDTransferir, ROSAB, StringID);
- }
- case DIALOG_EMPRESTIMO:
- {
- if(!response) return 1;
- if(strval(inputtext) < 1000 || strval(inputtext) > 20000) return Msg(playerid, VERMELHO, "ERRO: Seu empréstimo pode ser de R$ 1000 até R$ 20000.");
- PlayerInfo[playerid][SaldoBancario] += strval(inputtext);
- PlayerInfo[playerid][FezEmprestimo] = 1;
- PlayerInfo[playerid][Emprestimo] = strval(inputtext);
- Msg(playerid, ROSAB, "BANCO: Seu empréstimo foi aprovado.");
- format(String, sizeof(String), "BANCO: Você pegou um empréstimo de R$ %d.", strval(inputtext));
- Msg(playerid, ROSAB, String);
- }
- case DIALOG_ADMIN:
- {
- if(response)
- {
- ShowHouseMenu(playerid);
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- if(!response)
- {
- ShowAdminMenu(playerid);
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- }
- case DIALOG_GUEST:
- {
- if (!response)
- return TogglePlayerControllable(playerid, 1);
- new
- house = GetProxHouse(playerid);
- if(CasaInfo[house][houseStatus] == 1)
- {
- Msg(playerid, ROXOCLARO, "RV CASAS: Casa trancada!");
- new logString[700];
- format(logString, sizeof logString, "O jogador %s[%d], tentou entrar na casa %d, mais ela estava trancada.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- else
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- new
- logString[700];
- format(logString, sizeof logString, "O jogador %s[%d], entrou na casa %d como visitante.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- }
- case DIALOG_RENTING_GUEST:
- {
- if(!response)
- return TogglePlayerControllable(playerid, 1);
- new
- house = GetProxHouse(playerid);
- switch(listitem)
- {
- case 0:
- {
- if(CasaInfo[house][houseStatus] == 1)
- {
- Msg(playerid, ROXOCLARO, "RV CASAS: Casa trancada!");
- new logString[256];
- format(logString, sizeof logString, "O jogador %s[%d], tentou entrar na casa %d, mais ela estava trancada.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- else
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- new
- logString[128];
- format(logString, sizeof logString, "O jogador %s[%d], entrou na casa %d como visitante.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- }
- case 1:
- {
- new
- ownerFile[200];
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName);
- if(DOF2_FileExists(ownerFile))
- {
- new
- alreadyOwner = DOF2_GetInt(ownerFile, "houseID"),
- string[128];
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- format(string, sizeof string, "ERRO: Você já é dono da casa %d! Não pode alugar uma casa.!", alreadyOwner);
- Msg(playerid, VERMELHO, string);
- TogglePlayerControllable(playerid, 1);
- new
- logString[700];
- format(logString, sizeof logString, "O jogador %s[%d], tentou alugar a casa %d, mais ele já é dono da casa %d.", playerName, playerid, house, alreadyOwner);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- new
- stringCat[600],
- string[100],
- string2[100],
- string3[100];
- GetPlayerName(playerIDOffer, playerName, MAX_PLAYER_NAME);
- TogglePlayerControllable(playerIDOffer, 1);
- format(string, sizeof string, "{00F2FC}Dono da casa a ser alugada: {46FE00}%s\n\n", CasaInfo[house][houseOwner]);
- format(string2, sizeof string2, "{00F2FC}Valor a ser pago pelo aluguel da casa: {FFFFFF}$%d\n", CasaInfo[house][houseRentPrice]);
- format(string3, sizeof string3, "{00F2FC}ID da casa a ser alugada: {FFFFFF}%d\n", house);
- strcat(stringCat, "{00F2FC}Após alugar a casa, o aluguel será cobrado todo dia 00:00! Se você não estiver online\n");
- strcat(stringCat, "o aluguel será cobrado quando você entrar novamente no servidor.\n\n");
- strcat(stringCat, string);
- strcat(stringCat, string2);
- strcat(stringCat, string3);
- strcat(stringCat, "{FD0900}ATENÇÃO: A casa dita acima vai ser alugada por você e você poderá trancar e destrancar a casa, tanto como nascerá nela.\nVocê também vai poder trancar e destrancar o carro caso ela tiver, caso não tiver você pode ajudar o dono a comprar um\npagando seu aluguel regurlamente.\n");
- strcat(stringCat, "Você deseja alugar a casa, baseada nas informações acima descritas?\n");
- ShowPlayerDialog(playerid, DIALOG_RENT_CONFIRM, DIALOG_STYLE_MSGBOX, "Venda de casa", stringCat, "Alugar", "Negar");
- TogglePlayerControllable(playerid, 1);
- }
- }
- }
- case DIALOG_UNRENT_CONFIRM:
- {
- if (!response)
- return Msg(playerid, -1, "Você optou por não desalugar a casa.");
- new
- tenantFile[200],
- houseFile[200],
- house = GetProxHouse(playerid),
- logString[128];
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", CasaInfo[house][houseTenant]);
- format(houseFile, sizeof houseFile, "Casas/Casas/Casa %d.ini", house);
- format(CasaInfo[house][houseTenant], 24, "Ninguem");
- DOF2_RemoveFile(tenantFile);
- DOF2_SetString(houseFile, "Locador", "Ninguem", "Aluguel");
- TogglePlayerControllable(playerid, 1);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], desalugou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- case DIALOG_RENT_CONFIRM:
- {
- if(!response)
- return 1;
- new
- house = GetProxHouse(playerid),
- tenantFile[200],
- houseFile[200],
- logString[128];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", playerName);
- format(houseFile, sizeof houseFile, "Casas/Casas/Casa %d.ini", house);
- if(DOF2_FileExists(tenantFile))
- {
- new
- alreadyTenant = DOF2_GetInt(tenantFile, "houseID"),
- string[128];
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- format(string, sizeof string, "ERRO: Você já é locador da casa %d! Você só pode ter 1 casa alugada!", alreadyTenant);
- Msg(playerid, VERMELHO, string);
- TogglePlayerControllable(playerid, 1);
- format(logString, sizeof logString, "O jogador %s[%d], tentou alugar a casa %d, mas ele já é locador da casa %d.", playerName, playerid, house, alreadyTenant);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- format(CasaInfo[house][houseTenant], 24, playerName);
- DOF2_CreateFile(tenantFile);
- DOF2_SetInt(tenantFile, "houseID", house);
- DOF2_SetString(houseFile, "Locador", CasaInfo[house][houseTenant], "Aluguel");
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- DOF2_SaveFile();
- Update3DText(house);
- format(logString, sizeof logString, "O jogador %s[%d], alugou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- case DIALOG_EDITAR_CASA:
- {
- if(!response)
- return TogglePlayerControllable(playerid, 1);
- new
- house = GetProxHouse(playerid);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- switch(listitem)
- {
- case 0:
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- new
- logString[128];
- format(logString, sizeof logString, "O administrador %s[%d], entrou na casa %d como administrador.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- WriteLog(LOG_ADMIN, logString);
- }
- }
- case 1:
- {
- if(strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Não é possível alterar o preço de uma casa que não está a venda.");
- new
- logString[128];
- format(logString, sizeof logString, "O administrador %s[%d], tentou alterar o preço da casa %d, mas ela não está a venda.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- ShowAdminMenu(playerid);
- return 1;
- }
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço da casa.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- case 2:
- {
- if(CasaInfo[house][houseRentable] == 0)
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Não é possível alterar o preço do aluguel de uma casa que não está sendo alugada.");
- new
- logString[700];
- format(logString, sizeof logString, "O administrador %s[%d], tentou alterar o preço de aluguel da casa %d, mas ela não está sendo alugada.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- ShowAdminMenu(playerid);
- return 1;
- }
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_ALU_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço do aluguel.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- case 3:
- {
- new
- stringCat[1200];
- strcat(stringCat, "Interior {FB1300}1 \t{FCEC00}6 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}2 \t{FCEC00}3 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}3 \t{FCEC00}3 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}4 \t{FCEC00}1 {FFFFFF}Comodo\n");
- strcat(stringCat, "Interior {FB1300}5 \t{FCEC00}1 {FFFFFF}Comodo\n");
- strcat(stringCat, "Interior {FB1300}6 \t{FCEC00}3 {FFFFFF}Comodos \t{FFFFFF}(Casa do CJ)\n");
- strcat(stringCat, "Interior {FB1300}7 \t{FCEC00}5 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}8 \t{FCEC00}7 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}9 \t{FCEC00}4 {FFFFFF}Comodos\n");
- strcat(stringCat, "Interior {FB1300}10 \t{FCEC00}Muitos {FFFFFF}Comodos \t{FFFFFF} (Casa do Madd Dog)\n");
- strcat(stringCat, "Interior {FB1300}11 \t{FCEC00}7 {FFFFFF}Comodos\n");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_INT, DIALOG_STYLE_LIST,"{00F2FC}Você escolheu alterar o interior da casa.", stringCat, "Continuar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- case 4:
- {
- ShowPlayerDialog(playerid, DIALOG_CASA_STATUS, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu mudar o status dessa casa.", "{FFFFFF}Oque você gostaria de fazer com o status atual da casa?\n", "Trancar", "Destrancar");
- TogglePlayerControllable(playerid, 1);
- }
- case 5:
- {
- new
- stringMessage[128];
- if (strlen(CasaInfo[house][houseTitle]) > 0)
- {
- format(stringMessage, sizeof stringMessage, "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: %s\n", CasaInfo[house][houseTitle]);
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE_ADMIN, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título da casa.", stringMessage, "Alterar", "Voltar");
- }
- else
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE_ADMIN, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título da casa.", "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: {FFFFFF}Título ainda não definido\n", "Alterar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- case 6:
- {
- ShowPlayerDialog(playerid, DIALOG_CHANGE_OWNER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o dono da casa.", "{FFFFFF}Digite o {FFFFFF}ID {FFFFFF}ou {FFFFFF}nickname {FFFFFF}do novo dono", "Continuar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- case 7:
- {
- if(!strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Não é possível vender uma casa que já está a venda.");
- ShowAdminMenu(playerid);
- new
- logString[128];
- format(logString, sizeof logString, "O administrador %s[%d], tentou vender a casa %d, mas ela já está à venda.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- return 1;
- }
- ShowPlayerDialog(playerid, DIALOG_VENDER_CASA_ADMIN, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu botar essa casa a venda", "{FFFFFF}Você tem certeza que deseja botar essa casa a venda?", "Sim", "Não");
- TogglePlayerControllable(playerid, 1);
- }
- case 8:
- {
- ShowPlayerDialog(playerid, DIALOG_DELETE_HOUSE, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu deletar casa.", "{FFFFFF}Se a casa ter dono, ele não vai ter o dinheiro que gastou na casa novamente.\n{FFFFFF}Você confirma essa ação?", "Deletar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- }
- }
- case DIALOG_VENDER_CASA_ADMIN:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- new
- house = GetProxHouse(playerid),
- filePath[200],
- ownerFile[200],
- tenantFile[200];
- format(filePath, sizeof filePath, "Casas/Casas/Casa %d.ini", house);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", CasaInfo[house][houseTenant]);
- GetPlayerName(CasaInfo[house][houseOwner], playerName, MAX_PLAYER_NAME);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName);
- if(DOF2_FileExists(ownerFile))
- return DOF2_RemoveFile(ownerFile);
- if(DOF2_FileExists(tenantFile))
- return DOF2_RemoveFile(tenantFile);
- format(CasaInfo[house][houseOwner], 255, "Ninguem");
- format(CasaInfo[house][houseTenant], 255, "Ninguem");
- DOF2_SetString(filePath, "Dono", "Ninguem", "Informações");
- DOF2_SetString(filePath, "Locador", "Ninguem", "Aluguel");
- DOF2_RemoveFile(ownerFile);
- DOF2_SaveFile();
- DestroyDynamicPickup(housePickupIn[house]);
- DestroyDynamicMapIcon(houseMapIcon[house]);
- Update3DText(house);
- Msg(playerid, ROXOCLARO, "LV CASAS: Casa vendida!");
- new
- logString[128];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O administrador %s[%d], botou a casa %d, à venda.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 31, -1, -1, 0, -1, 100.0);
- housePickupIn[house] = CreateDynamicPickup(1273, 23, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- }
- case DIALOG_CHANGE_OWNER:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- if(sscanf(inputtext, "u", newOwnerID))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: ID ou nome inválido!");
- ShowPlayerDialog(playerid, DIALOG_CHANGE_OWNER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o dono da casa.", "{FFFFFF}Digite o {FFFFFF}ID {FFFFFF}ou {FFFFFF}nickname {FFFFFF}do novo dono", "Continuar", "Cancelar");
- return 1;
- }
- if(!IsPlayerConnected(newOwnerID) || newOwnerID == INVALID_PLAYER_ID)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Player desconectado!");
- ShowPlayerDialog(playerid, DIALOG_CHANGE_OWNER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o dono da casa.", "{FFFFFF}Digite o {FFFFFF}ID {FFFFFF}ou {FFFFFF}nickname {FFFFFF}do novo dono", "Continuar", "Cancelar");
- return 1;
- }
- new ownerFile[200];
- GetPlayerName(newOwnerID, playerName, MAX_PLAYER_NAME);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName);
- if(DOF2_FileExists(ownerFile))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Esse jogador já tem uma casa!");
- ShowPlayerDialog(playerid, DIALOG_CHANGE_OWNER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o dono da casa.", "{FFFFFF}Digite o {FFFFFF}ID {FFFFFF}ou {FFFFFF}nickname {FFFFFF}do novo dono", "Continuar", "Cancelar");
- return 1;
- }
- new
- dialogString[200],
- house;
- house = GetProxHouse(playerid);
- GetPlayerName(newOwnerID, playerName, MAX_PLAYER_NAME);
- format(dialogString, sizeof dialogString, "{00F2FC}Dono Atual: {46FE00}%s\n{00F2FC}Novo Dono: {46FE00}%s\n\n{FFFFFF}Você confirma está ação?", CasaInfo[house][houseOwner], playerName);
- ShowPlayerDialog(playerid, DIALOG_CHANGE_OWNER2, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu alterar o dono da casa.", dialogString, "Sim", "Não");
- }
- case DIALOG_CHANGE_OWNER2:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- new
- house = GetProxHouse(playerid),
- filePath[200],
- playerName2[MAX_PLAYER_NAME],
- playerName3[MAX_PLAYER_NAME],
- logString[128],
- ownerFile[200],
- newOwnerFile[200];
- GetPlayerName(newOwnerID, playerName, MAX_PLAYER_NAME);
- GetPlayerName(CasaInfo[house][houseOwner], playerName2, MAX_PLAYER_NAME);
- GetPlayerName(playerid, playerName3, MAX_PLAYER_NAME);
- format(filePath, sizeof filePath, "Casas/Casas/Casa %d.ini", house);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName2);
- format(newOwnerFile, sizeof newOwnerFile, "Casas/Donos/%s.ini", playerName);
- if (!strcmp(playerName2, "Ninguem", true))
- {
- DOF2_CreateFile(newOwnerFile);
- DOF2_SetInt(newOwnerFile, "houseID", house);
- DOF2_SetString(filePath, "Dono", playerName, "Informações");
- DOF2_SaveFile();
- format(CasaInfo[house][houseOwner], 24, playerName);
- CasaInfo[house][houseStatus] = DOF2_SetInt(filePath,"Status", 0, "Informações");
- DestroyDynamicPickup(housePickupIn[house]);
- DestroyDynamicMapIcon(houseMapIcon[house]);
- housePickupIn[house] = CreateDynamicPickup(1272, 23, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- Update3DText(house);
- return 1;
- }
- format(logString, sizeof logString, "O administrador %s[%d], alterou o dono da casa %d, de %s para %s.", playerName3, playerid, house, playerName2, playerName);
- WriteLog(LOG_ADMIN, logString);
- DOF2_RenameFile(ownerFile, newOwnerFile);
- DOF2_RemoveFile(ownerFile);
- DOF2_SetString(filePath, "Dono", playerName);
- DOF2_SaveFile();
- format(CasaInfo[house][houseOwner], 255, playerName);
- Update3DText(house);
- Msg(playerid, -1, "{00F2FC}Feito!");
- return 1;
- }
- case DIALOG_DELETE_HOUSE:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- new
- house = GetProxHouse(playerid),
- filePath[150],
- houseAtual[200],
- checkID[200],
- logString[128],
- ownerFile[200],
- tenantFile[200],
- playerName2[MAX_PLAYER_NAME],
- playerName3[MAX_PLAYER_NAME];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- GetPlayerName(CasaInfo[house][houseOwner], playerName2, MAX_PLAYER_NAME);
- GetPlayerName(CasaInfo[house][houseTenant], playerName3, MAX_PLAYER_NAME);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", playerName3);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName2);
- format(logString, sizeof logString, "O administrador %s[%d], deletou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- if(DOF2_FileExists(ownerFile))
- return DOF2_RemoveFile(ownerFile);
- if(DOF2_FileExists(tenantFile))
- return DOF2_RemoveFile(tenantFile);
- DestroyDynamicPickup(housePickupIn[house]);
- DestroyDynamicMapIcon(houseMapIcon[house]);
- DestroyDynamic3DTextLabel(houseLabel[house]);
- DOF2_RemoveFile(filePath);
- Msg(playerid, ROXOCLARO, "LV CASAS: Casa deletada!");
- format(houseAtual, sizeof houseAtual, "Casas/CasaAtual.ini");
- for(new i = 1; i < MAX_CASAS; i++)
- {
- format(checkID, sizeof checkID, "Casas/Casas/Casa %d.ini", i);
- if(!DOF2_FileExists(checkID))
- {
- DOF2_SetInt(houseAtual, "IDAtual", i);
- break;
- }
- }
- DOF2_SaveFile();
- return 1;
- }
- case DIALOG_EDITAR_CASA_PRECO:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- if(!IsNumeric(inputtext))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite apenas números!");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_ALU_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço do aluguel.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Cancelar");
- return 1;
- }
- if(!strlen(inputtext))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite algo no campo ou cancele!");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_ALU_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço do aluguel.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Cancelar");
- return 1;
- }
- new
- house = GetProxHouse(playerid),
- file[100],
- logString[128];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- CasaInfo[house][housePrice] = strval(inputtext);
- DOF2_SetInt(file, "Preço", CasaInfo[house][housePrice], "Informações");
- DOF2_SaveFile();
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O administrador %s[%d], alterou o preço da casa %d.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- Update3DText(house);
- }
- case DIALOG_HOUSE_TITLE_ADMIN:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- new
- house = GetProxHouse(playerid);
- if (!strlen(inputtext) && strlen(CasaInfo[house][houseTitle]) > 0)
- {
- Msg(playerid, -1, "Você removeu o título da casa.");
- format(CasaInfo[house][houseTitle], 32, "%s", inputtext);
- Update3DText(house);
- return 1;
- }
- else if (!strlen(inputtext) && strlen(CasaInfo[house][houseTitle]) == 0)
- {
- Msg(playerid, -1, "A casa ainda não tem um título, portanto não é possível remove-lo.");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE_ADMIN, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título dessa casa.", "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: {FFFFFF}SEM TÍTULO\n", "Alterar", "Voltar");
- return 1;
- }
- format(CasaInfo[house][houseTitle], 32, "%s", inputtext);
- Update3DText(house);
- new
- file[100],
- logString[160];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- DOF2_SetString(file, "Título", CasaInfo[house][houseTitle], "Informações");
- DOF2_SaveFile();
- Msg(playerid, -1, "Título alterado com sucesso.");
- format(logString, sizeof logString, "O jogador/administrador %s[%d], alterou o título da casa %d para %s.", playerName, playerid, house, CasaInfo[house][houseTitle]);
- WriteLog(LOG_ADMIN, logString);
- WriteLog(LOG_HOUSES, logString);
- }
- case DIALOG_HOUSE_TITLE:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- new
- house = GetProxHouse(playerid);
- if (!strlen(inputtext) && strlen(CasaInfo[house][houseTitle]) > 0)
- {
- Msg(playerid, -1, "Você removeu o título da casa.");
- format(CasaInfo[house][houseTitle], 32, "%s", inputtext);
- Update3DText(house);
- return 1;
- }
- else if (!strlen(inputtext) && strlen(CasaInfo[house][houseTitle]) == 0)
- {
- Msg(playerid, -1, "A casa ainda não tem um título, portanto não é possível remove-lo.");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE_ADMIN, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título dessa casa.", "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: {FFFFFF}SEM TÍTULO\n", "Alterar", "Voltar");
- return 1;
- }
- format(CasaInfo[house][houseTitle], 32, "%s", inputtext);
- Update3DText(house);
- new
- file[100],
- logString[160];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- DOF2_SetString(file, "Título", CasaInfo[house][houseTitle], "Informações");
- DOF2_SaveFile();
- Msg(playerid, -1, "Título alterado com sucesso.");
- format(logString, sizeof logString, "O jogador/administrador %s[%d], alterou o título da casa %d para %s.", playerName, playerid, house, CasaInfo[house][houseTitle]);
- WriteLog(LOG_ADMIN, logString);
- WriteLog(LOG_HOUSES, logString);
- }
- case DIALOG_EDITAR_CASA_ALU_PRECO:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- if(!IsNumeric(inputtext))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite apenas números!");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço da casa.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Cancelar");
- return 1;
- }
- if(!strlen(inputtext))
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite algo no campo ou cancele!");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA_PRECO, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu alterar o preço da casa.", "{FFFFFF}Digite o novo preço que você quer abaixo\n{FFFFFF}Use somente números.\n", "Alterar", "Cancelar");
- return 1;
- }
- new
- house = GetProxHouse(playerid),
- file[100],
- logString[128];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- CasaInfo[house][houseRentPrice] = strval(inputtext);
- DOF2_SetInt(file, "Preço do Aluguel", CasaInfo[house][houseRentPrice], "Informações");
- DOF2_SaveFile();
- format(logString, sizeof logString, "O administrador %s[%d], alterou o preço de aluguel da casa %d.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- Update3DText(house);
- }
- case DIALOG_EDITAR_CASA_INT:
- {
- if(!response)
- return ShowAdminMenu(playerid);
- switch(listitem)
- {
- case 0:
- {
- houseInteriorX[playerid] = 2196.84;
- houseInteriorY[playerid] = -1204.36;
- houseInteriorZ[playerid] = 1049.02;
- houseInteriorFA[playerid] = 94.0010;
- houseInteriorInt[playerid] = 6;
- }
- case 1:
- {
- houseInteriorX[playerid] = 2259.38;
- houseInteriorY[playerid] = -1135.89;
- houseInteriorZ[playerid] = 1050.64;
- houseInteriorFA[playerid] = 275.3992;
- houseInteriorInt[playerid] = 10;
- }
- case 2:
- {
- houseInteriorX[playerid] = 2282.99;
- houseInteriorY[playerid] = -1140.28;
- houseInteriorZ[playerid] = 1050.89;
- houseInteriorFA[playerid] = 358.4660;
- houseInteriorInt[playerid] = 11;
- }
- case 3:
- {
- houseInteriorX[playerid] = 2233.69;
- houseInteriorY[playerid] = -1115.26;
- houseInteriorZ[playerid] = 1050.88;
- houseInteriorFA[playerid] = 358.4660;
- houseInteriorInt[playerid] = 5;
- }
- case 4:
- {
- houseInteriorX[playerid] = 2218.39;
- houseInteriorY[playerid] = -1076.21;
- houseInteriorZ[playerid] = 1050.48;
- houseInteriorFA[playerid] = 95.2635;
- houseInteriorInt[playerid] = 1;
- }
- case 5:
- {
- houseInteriorX[playerid] = 2496.00;
- houseInteriorY[playerid] = -1692.08;
- houseInteriorZ[playerid] = 1014.74;
- houseInteriorFA[playerid] = 177.8159;
- houseInteriorInt[playerid] = 3;
- }
- case 6:
- {
- houseInteriorX[playerid] = 2365.25;
- houseInteriorY[playerid] = -1135.58;
- houseInteriorZ[playerid] = 1050.88;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 8;
- }
- case 7:
- {
- houseInteriorX[playerid] = 2317.77;
- houseInteriorY[playerid] = -1026.76;
- houseInteriorZ[playerid] = 1050.21;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 9;
- }
- case 8:
- {
- houseInteriorX[playerid] = 2324.41;
- houseInteriorY[playerid] = -1149.54;
- houseInteriorZ[playerid] = 1050.71;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 12;
- }
- case 9:
- {
- houseInteriorX[playerid] = 1260.6603;
- houseInteriorY[playerid] = -785.4005;
- houseInteriorZ[playerid] = 1091.9063;
- houseInteriorFA[playerid] = 270.9891;
- houseInteriorInt[playerid] = 5;
- }
- case 10:
- {
- houseInteriorX[playerid] = 140.28;
- houseInteriorY[playerid] = 1365.92;
- houseInteriorZ[playerid] = 1083.85;
- houseInteriorFA[playerid] = 9.6901;
- houseInteriorInt[playerid] = 5;
- }
- }
- new house = GetProxHouse(playerid),
- file[100];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- CasaInfo[house][houseIntX] = houseInteriorX[playerid];
- CasaInfo[house][houseIntY] = houseInteriorY[playerid];
- CasaInfo[house][houseIntZ] = houseInteriorZ[playerid];
- CasaInfo[house][houseIntFA] = houseInteriorFA[playerid];
- CasaInfo[house][houseInterior] = houseInteriorInt[playerid];
- DOF2_SetFloat(file, "Interior X", houseInteriorX[playerid], "Coordenadas");
- DOF2_SetFloat(file, "Interior Y", houseInteriorY[playerid], "Coordenadas");
- DOF2_SetFloat(file, "Interior Z", houseInteriorZ[playerid], "Coordenadas");
- DOF2_SetFloat(file, "Interior Facing Angle", houseInteriorFA[playerid], "Coordenadas");
- DOF2_SetInt(file, "Interior", houseInteriorInt[playerid], "Coordenadas");
- DOF2_SaveFile();
- Msg(playerid, -1, "{AB82FF}LV CASAS: Interior alterado com sucesso");
- DestroyDynamicPickup(housePickupOut[house]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- new
- logString[128];
- format(logString, sizeof logString, "O administrador %s[%d], alterou o interior da casa %d.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- }
- case DIALOG_HOUSE_SELL_MENU:
- {
- if(!response)
- return TogglePlayerControllable(playerid, 1);
- switch(listitem)
- {
- case 0:
- {
- new
- string[260],
- filePath[200],
- house = GetProxHouse(playerid),
- alreadyOwner,
- ownerFile[200],
- tenantFile[200],
- logString[128];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", playerName);
- format(filePath, sizeof filePath, "Casas/Casas/Casa %d.ini", house);
- if(DOF2_FileExists(ownerFile))
- {
- alreadyOwner = DOF2_GetInt(ownerFile, "houseID");
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- format(string, sizeof string, "ERRO: Você já é dono da casa %d! Você só pode ter 1 casa!", alreadyOwner);
- Msg(playerid, VERMELHO, string);
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- else if(DOF2_FileExists(tenantFile))
- {
- alreadyOwner = DOF2_GetInt(tenantFile, "houseID");
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- format(string, sizeof string, "ERRO: Você já é locador da casa %d! Você só pode ter 1 casa!", alreadyOwner);
- Msg(playerid, VERMELHO, string);
- return 1;
- }
- else if(GetPlayerCash(playerid) < CasaInfo[house][housePrice])
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Você não tem dinheiro o suficiente.");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- format(string, sizeof string, "%s comprou a casa de id %d", playerName, house);
- print(string);
- WriteLog(LOG_HOUSES, string);
- DOF2_CreateFile(ownerFile);
- DOF2_SetInt(ownerFile, "houseID", house);
- DOF2_SetString(filePath, "Dono", playerName, "Informações");
- DOF2_SaveFile();
- format(CasaInfo[house][houseOwner], 24, playerName);
- CasaInfo[house][houseStatus] = DOF2_SetInt(filePath, "Status", 0, "Informações");
- GivePlayerCash(playerid, -CasaInfo[house][housePrice]);
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- DestroyDynamicPickup(housePickupIn[house]);
- DestroyDynamicMapIcon(houseMapIcon[house]);
- housePickupIn[house] = CreateDynamicPickup(1272, 23, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- Update3DText(house);
- format(logString, sizeof logString, "O jogador %s[%d], comprou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- case 1:
- {
- ShowAdminMenu(playerid);
- TogglePlayerControllable(playerid, 1);
- }
- }
- }
- case DIALOG_HOUSE_TENANT_MENU:
- {
- if(!response)
- return TogglePlayerControllable(playerid, 1);
- new
- house = GetProxHouse(playerid),
- logString[128],
- string[200];
- switch(listitem)
- {
- case 0:
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], entrou na casa %d como locador.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- case 1:
- {
- TogglePlayerControllable(playerid, 1);
- ShowPlayerDialog(playerid, DIALOG_CASA_STATUS, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu mudar o status da casa.", "{FFFFFF}Oque você gostaria de fazer com o status atual da casa?\n", "Trancar", "Destrancar");
- return 1;
- }
- case 2:
- {
- format(string, sizeof string, "{FFFFFF}Você deseja desalugar essa casa? {FFFFFF}(%d)\n", house);
- ShowPlayerDialog(playerid, DIALOG_UNRENT_CONFIRM, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu desalugar a casa.", string, "Sim", "Não");
- }
- }
- }
- case DIALOG_HOUSE_OWNER_MENU:
- {
- if(!response)
- return TogglePlayerControllable(playerid, 1);
- new
- house = GetProxHouse(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- switch(listitem)
- {
- case 0:
- {
- if(IsPlayerInRangeOfPoint(playerid, 5.0, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, CasaInfo[house][houseVirtualWorld]);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- new
- logString[128];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], entrou na casa %d como dono da casa.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- case 1:
- {
- TogglePlayerControllable(playerid, 1);
- ShowPlayerDialog(playerid, DIALOG_RENT, DIALOG_STYLE_MSGBOX, "{00F2FC}Aluguel.", "{FFFFFF}Oque você gostaria de fazer com o aluguel da sua casa?\n", "Ativar", "Desativar");
- return 1;
- }
- case 2:
- {
- TogglePlayerControllable(playerid, 1);
- ShowPlayerDialog(playerid, DIALOG_CASA_STATUS, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu mudar o status da sua casa.", "{FFFFFF}Oque você gostaria de fazer com o status atual da sua casa?\n", "Trancar", "Destrancar");
- return 1;
- }
- case 3:
- {
- new
- string[250];
- format(string, sizeof string, "{FFFFFF}Você deseja vender sua casa por {FFFFFF}R$%d{FFFFFF}?\n", CasaInfo[house][housePrice]/2);
- ShowPlayerDialog(playerid, DIALOG_VENDER_CASA, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu vender sua casa.", string, "Sim", "Não");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- case 4:
- {
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Voltar");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- case 5:
- {
- new
- string[250];
- if(CasaInfo[house][houseRentable] == 0)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Sua casa casa não está sendo alugada. Ative o aluguel antes.");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- if(!strcmp(CasaInfo[house][houseTenant], "Ninguem", false))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Não tem ninguém alugando sua casa no momento.");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- format(string, sizeof string, "{FFFFFF}Você deseja despejar o locador {46FE00}%s{FFFFFF}, da sua casa?\n", CasaInfo[house][houseTenant]);
- ShowPlayerDialog(playerid, DIALOG_DUMP_TENANT, DIALOG_STYLE_MSGBOX, "{00F2FC}Você escolheu despejar o locador da sua casa.", string, "Sim", "Não");
- TogglePlayerControllable(playerid, 1);
- }
- case 6:
- {
- new
- stringMessage[128];
- if (strlen(CasaInfo[house][houseTitle]) > 0)
- {
- format(stringMessage, sizeof stringMessage, "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: {46FE00}%s\n", CasaInfo[house][houseTitle]);
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título da casa.", stringMessage, "Alterar", "Voltar");
- }
- else
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TITLE, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu mudar o título da casa.", "{FFFFFF}Digite o novo título da casa.\n\nTítulo anterior: {FFFFFF}SEM TÍTULO\n", "Alterar", "Voltar");
- TogglePlayerControllable(playerid, 1);
- }
- }
- }
- case DIALOG_DUMP_TENANT:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- new
- house = GetProxHouse(playerid),
- tenantFile[200],
- houseFile[200],
- string[128],
- string2[128],
- playerName2[MAX_PLAYER_NAME],
- logString[128],
- tenantID = GetTenantID(house);
- if(tenantID != -255)
- {
- if(GetPlayerVirtualWorld(tenantID) == house)
- {
- SetPlayerPos(tenantID, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- SetPlayerInterior(tenantID, 0);
- SetPlayerVirtualWorld(tenantID, 0);
- }
- }
- format(string, sizeof string, "{AB82FF}LV CASAS: Você foi despejado. Procure {46FE00}%s {FFFFFF}para saber o motivo.", CasaInfo[house][houseOwner]);
- format(string2, sizeof string2, "{AB82FF}LV CASAS: Você despejou {46FE00}%s {FFFFFF}com sucesso, ele deve te procurar para saber o motivo.", CasaInfo[house][houseTenant]);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", CasaInfo[house][houseTenant]);
- format(houseFile, sizeof houseFile, "Casas/Casas/Casa %d.ini", house);
- Msg(CasaInfo[house][houseTenant], -1, string);
- Msg(playerid, -1, string2);
- GetPlayerName(CasaInfo[house][houseTenant], playerName2, MAX_PLAYER_NAME);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], despejou o locador %s da casa %d.", playerName, playerid, playerName2, house);
- WriteLog(LOG_HOUSES, logString);
- DOF2_RemoveFile(tenantFile);
- format(CasaInfo[house][houseTenant], 24, "Ninguem");
- DOF2_SetString(houseFile, "Locador", "Ninguem", "Aluguel");
- return 1;
- }
- case DIALOG_HOUSE_SELL_PLAYER:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- new
- targetID,
- tenantFile[200],
- ownerFile[200];
- GetPlayerPos(playerid, X, Y, Z);
- if(sscanf(inputtext, "u", targetID))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Cancelar");
- return 1;
- }
- else if(!IsPlayerConnected(targetID) || targetID == INVALID_PLAYER_ID)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Jogador não conectado!");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Cancelar");
- return 1;
- }
- GetPlayerName(targetID, playerName, MAX_PLAYER_NAME);
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", playerName);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName);
- if(DOF2_FileExists(tenantFile))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Este player já é locador de uma casa!");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Cancelar");
- return 1;
- }
- else if(DOF2_FileExists(ownerFile))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Este player já é dono de uma casa!");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Cancelar");
- return 1;
- }
- else if(playerid == targetID)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Você não pode vender a casa para você mesmo!");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Digite o ID/playerName do player abaixo, é possível utilizar parte do nick quanto ID do player\n", "Próximo", "Cancelar");
- return 1;
- }
- playerReceiveHouse = targetID;
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER2, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Agora digite o preço abaixo e aguarde a confirmação\n{FFFFFF}Use somente números.\n", "Próximo", "Cancelar");
- }
- case DIALOG_HOUSE_SELL_PLAYER2:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- new
- sellingHousePrice;
- if(sscanf(inputtext, "d", sellingHousePrice))
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_PLAYER2, DIALOG_STYLE_INPUT, "{00F2FC}Você escolheu vender sua casa para um player.", "{FFFFFF}Agora digite o preço abaixo\n{FFFFFF}Use somente números.\n", "Próximo", "Cancelar");
- return 1;
- }
- priceReceiveHouse = sellingHousePrice;
- new
- stringCat[600],
- string[100],
- string2[100],
- string3[100],
- string4[100],
- playerName2[MAX_PLAYER_NAME],
- ownerFile[200];
- GetPlayerName(playerReceiveHouse, playerName, MAX_PLAYER_NAME);
- GetPlayerName(playerid, playerName2, MAX_PLAYER_NAME);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName2);
- houseSellingID = DOF2_GetInt(ownerFile, "houseID");
- playerIDOffer = playerid;
- format(string, sizeof string, "{00F2FC}Quem vai receber a casa: {46FE00}%s\n", playerName);
- format(string2, sizeof string2, "{00F2FC}Valor a ser pago pela casa: {FFFFFF}$%d\n", sellingHousePrice);
- format(string3, sizeof string3, "{00F2FC}ID da casa a ser vendida: {FFFFFF}%d\n", houseSellingID);
- format(string4, sizeof string4, "{00F2FC}Dono da casa a ser vendida: {46FE00}%s\n\n", CasaInfo[houseSellingID][houseOwner]);
- strcat(stringCat, string);
- strcat(stringCat, string2);
- strcat(stringCat, string3);
- strcat(stringCat, string4);
- strcat(stringCat, "{FD0900}ATENÇÃO: A casa dita acima vai ser do player para o qual a casa vai ser vendida, isso não pode ser desfeito,\nA menos que você a compre do player novamente.\n");
- strcat(stringCat, "Você deseja confirmar essa ação, baseada nas informações acima descritas?\n");
- ShowPlayerDialog(playerid, DIALOG_SELLING_CONFIRM, DIALOG_STYLE_MSGBOX, "Venda de casa para player", stringCat, "CONFIRMAR", "Cancelar");
- }
- case DIALOG_SELLING_CONFIRM:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- if (!IsPlayerConnected(playerReceiveHouse) || playerReceiveHouse == INVALID_PLAYER_ID)
- {
- Msg(playerid, VERMELHO, "ERRO: O jogador se desconectou!");
- playerReceiveHouse = 0;
- return 1;
- }
- new
- stringCat[600],
- string[100],
- string2[100],
- string3[100];
- GetPlayerName(playerIDOffer, playerName, MAX_PLAYER_NAME);
- TogglePlayerControllable(playerIDOffer, 1);
- strcat(stringCat, "{00F2FC}Há uma oferta para venda de uma casa para você!\n\n\n");
- format(string, sizeof string, "{00F2FC}Dono da casa a ser vendida: {46FE00}%s\n\n", CasaInfo[houseSellingID][houseOwner]);
- format(string2, sizeof string2, "{00F2FC}Valor a ser pago pela casa: {FFFFFF}$%d\n", priceReceiveHouse);
- format(string3, sizeof string3, "{00F2FC}ID da casa a ser vendida: {FFFFFF}%d\n", houseSellingID);
- strcat(stringCat, string);
- strcat(stringCat, string2);
- strcat(stringCat, string3);
- strcat(stringCat, "{FD0900}ATENÇÃO: A casa dita acima vai ser sua e isso não pode ser desfeito,\nA menos que você a venda para o player do qual você comprou.\n");
- strcat(stringCat, "Você deseja comprar a casa, baseada nas informações acima descritas?\n");
- ShowPlayerDialog(playerReceiveHouse, DIALOG_HOUSE_SELL_PLAYER3, DIALOG_STYLE_MSGBOX, "Venda de casa", stringCat, "Comprar", "Negar");
- }
- case DIALOG_HOUSE_SELL_PLAYER3:
- {
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- if(!response)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- TogglePlayerControllable(playerid, 1);
- new
- string[128];
- format(string, sizeof string, "O jogador {00F2FC}%s {FFFFFF}negou a sua oferta de comprar a casa número {00F2FC}%d {FFFFFF}por {00F2FC}$%d", playerName, houseSellingID, priceReceiveHouse);
- Msg(playerIDOffer, -1, string);
- return 1;
- }
- if(GetPlayerCash(playerid) < priceReceiveHouse)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- TogglePlayerControllable(playerid, 1);
- new
- string[150];
- format(string, sizeof string, "O jogador {00F2FC}%s {FFFFFF}não tem dinheiro o suficiente para comprar a casa número {00F2FC}%d {FFFFFF}por {00F2FC}$%d", playerName, houseSellingID, priceReceiveHouse);
- Msg(playerIDOffer, -1, string);
- Msg(playerid, VERMELHO, "ERRO: Você não tem dinheiro o suficiente!");
- return 1;
- }
- new
- housePath2[200],
- playerName2[MAX_PLAYER_NAME],
- house = houseSellingID,
- ownerFile[200],
- ownerFile2[200];
- GivePlayerCash(playerid, -priceReceiveHouse);
- GivePlayerCash(playerIDOffer, priceReceiveHouse);
- Msg(playerid, -1, "{00F2FC}Negócio fechado! {FFFFFF}Divirta-se!");
- Msg(playerIDOffer, -1, "{00F2FC}Negócio fechado! {FFFFFF}Divirta-se!");
- GetPlayerName(playerIDOffer, playerName2, 24);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini", playerName2);
- format(ownerFile2, sizeof ownerFile2, "Casas/Donos/%s.ini", playerName);
- DOF2_RenameFile(ownerFile, ownerFile2);
- format(housePath2, sizeof housePath2, "Casas/Casas/Casa %d.ini", house);
- format(CasaInfo[house][houseOwner], 255, playerName2);
- DOF2_SetString(housePath2, "Dono", playerName2);
- DOF2_SaveFile();
- SetPlayerPos(playerid, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- SetPlayerVirtualWorld(playerid, house);
- SetPlayerInterior(playerid, CasaInfo[house][houseInterior]);
- TogglePlayerControllable(playerid, 1);
- TogglePlayerControllable(playerIDOffer, 1);
- new logString[128];
- format(logString, sizeof logString, "O jogador %s[%d], vendeu a casa %d para o jogador %s[%d] por $%d.", playerName2, playerIDOffer, house, playerName, playerid, priceReceiveHouse);
- WriteLog(LOG_HOUSES, logString);
- Update3DText(house);
- }
- case DIALOG_RENT:
- {
- new house = GetProxHouse(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- if(response)
- {
- if(CasaInfo[house][houseRentable] == 1)
- {
- Msg(playerid, VERMELHO, "ERRO: O aluguel da sua casa já está ativado!");
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- return 1;
- }
- ShowPlayerDialog(playerid, DIALOG_RENT_PRICE, DIALOG_STYLE_INPUT, "{00F2FC}Insira o valor do aluguel.", "{FFFFFF}Insira o valor do aluguel que você quer.\nEsse valor vai ser entregue na sua casa a cada 24 horas se haver um locador na sua casa\n{FFFFFF}Use somente números.\n", "Alugar!", "Cancelar");
- }
- else
- {
- if(CasaInfo[house][houseRentable] == 0)
- {
- Msg(playerid, VERMELHO, "ERRO: O aluguel da sua casa já está desativado!");
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- return 1;
- }
- if(strcmp(CasaInfo[house][houseTenant], "Ninguem", false))
- {
- GetPlayerPos(playerid, X, Y, Z);
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Não é possível desativar o aluguel com alguém alugando sua casa.");
- TogglePlayerControllable(playerid, 1);
- return 1;
- }
- CasaInfo[house][houseRentable] = 0;
- Update3DText(house);
- Msg(playerid, ROXOCLARO, "LV CASAS: Aluguel desativado!");
- new logString[128];
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], desativou o aluguel da casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- case DIALOG_RENT_PRICE:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- GetPlayerPos(playerid, X, Y, Z);
- if(!IsNumeric(inputtext))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite apenas números!");
- ShowPlayerDialog(playerid, DIALOG_RENT_PRICE, DIALOG_STYLE_INPUT, "{00F2FC}Insira o valor do aluguel.", "{FFFFFF}Insira o valor do aluguel que você quer.\nEsse valor vai ser entregue na sua casa a cada 24 horas se haver um locador na sua casa\n{FFFFFF}Use somente números.\n", "Alugar!", "Cancelar");
- return 1;
- }
- if(!strlen(inputtext))
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: Digite algo no campo ou cancele!");
- ShowPlayerDialog(playerid, DIALOG_RENT_PRICE, DIALOG_STYLE_INPUT, "{00F2FC}Insira o valor do aluguel.", "{FFFFFF}Insira o valor do aluguel que você quer.\nEsse valor vai ser entregue na sua casa a cada 24 horas se haver um locador na sua casa\n{FFFFFF}Use somente números.\n", "Alugar!", "Cancelar");
- return 1;
- }
- new
- house = GetProxHouse(playerid),
- logString[128],
- file[200];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- CasaInfo[house][houseRentable] = 1;
- CasaInfo[house][houseRentPrice] = strval(inputtext);
- DOF2_SetInt(file, "Aluguel Ativado", CasaInfo[house][houseRentable], "Aluguel");
- DOF2_SetInt(file, "Preço do Aluguel", CasaInfo[house][houseRentPrice], "Aluguel");
- DOF2_SaveFile();
- Update3DText(house);
- Msg(playerid, ROXOCLARO, "LV CASAS: Aluguel ativado!");
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O jogador %s[%d], ativou o aluguel da casa %d por $%d.", playerName, playerid, house, CasaInfo[house][houseRentPrice]);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- case DIALOG_CRIAR_CASA:
- {
- if(!response)
- return 1;
- switch(listitem)
- {
- case 0:
- {
- houseInteriorX[playerid] = 2196.84;
- houseInteriorY[playerid] = -1204.36;
- houseInteriorZ[playerid] = 1049.02;
- houseInteriorFA[playerid] = 94.0010;
- houseInteriorInt[playerid] = 6;
- houseIntPrice[playerid] = 65000;
- }
- case 1:
- {
- houseInteriorX[playerid] = 2259.38;
- houseInteriorY[playerid] = -1135.89;
- houseInteriorZ[playerid] = 1050.64;
- houseInteriorFA[playerid] = 275.3992;
- houseInteriorInt[playerid] = 10;
- houseIntPrice[playerid] = 37000;
- }
- case 2:
- {
- houseInteriorX[playerid] = 2282.99;
- houseInteriorY[playerid] = -1140.28;
- houseInteriorZ[playerid] = 1050.89;
- houseInteriorFA[playerid] = 358.4660;
- houseInteriorInt[playerid] = 11;
- houseIntPrice[playerid] = 37000;
- }
- case 3:
- {
- houseInteriorX[playerid] = 2233.69;
- houseInteriorY[playerid] = -1115.26;
- houseInteriorZ[playerid] = 1050.88;
- houseInteriorFA[playerid] = 358.4660;
- houseInteriorInt[playerid] = 5;
- houseIntPrice[playerid] = 20000;
- }
- case 4:
- {
- houseInteriorX[playerid] = 2218.39;
- houseInteriorY[playerid] = -1076.21;
- houseInteriorZ[playerid] = 1050.48;
- houseInteriorFA[playerid] = 95.2635;
- houseInteriorInt[playerid] = 1;
- houseIntPrice[playerid] = 20000;
- }
- case 5:
- {
- houseInteriorX[playerid] = 2496.00;
- houseInteriorY[playerid] = -1692.08;
- houseInteriorZ[playerid] = 1014.74;
- houseInteriorFA[playerid] = 177.8159;
- houseInteriorInt[playerid] = 3;
- houseIntPrice[playerid] = 150000;
- }
- case 6:
- {
- houseInteriorX[playerid] = 2365.25;
- houseInteriorY[playerid] = -1135.58;
- houseInteriorZ[playerid] = 1050.88;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 8;
- houseIntPrice[playerid] = 320000;
- }
- case 7:
- {
- houseInteriorX[playerid] = 2317.77;
- houseInteriorY[playerid] = -1026.76;
- houseInteriorZ[playerid] = 1050.21;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 9;
- houseIntPrice[playerid] = 120000;
- }
- case 8:
- {
- houseInteriorX[playerid] = 2324.41;
- houseInteriorY[playerid] = -1149.54;
- houseInteriorZ[playerid] = 1050.71;
- houseInteriorFA[playerid] = 359.0367;
- houseInteriorInt[playerid] = 12;
- houseIntPrice[playerid] = 95000;
- }
- case 9:
- {
- houseInteriorX[playerid] = 1260.6603;
- houseInteriorY[playerid] = -785.4005;
- houseInteriorZ[playerid] = 1091.9063;
- houseInteriorFA[playerid] = 270.9891;
- houseInteriorInt[playerid] = 5;
- houseIntPrice[playerid] = 1200000;
- }
- case 10:
- {
- houseInteriorX[playerid] = 140.28;
- houseInteriorY[playerid] = 1365.92;
- houseInteriorZ[playerid] = 1083.85;
- houseInteriorFA[playerid] = 9.6901;
- houseInteriorInt[playerid] = 5;
- houseIntPrice[playerid] = 660000;
- }
- }
- new
- house,
- houseAtual[200],
- checkID[200],
- logString[128];
- GetPlayerPos(playerid, X, Y, Z);
- format(houseAtual, sizeof houseAtual, "Casas/CasaAtual.ini");
- if(!DOF2_FileExists(houseAtual))
- {
- DOF2_CreateFile(houseAtual);
- DOF2_SetInt(houseAtual, "IDAtual", 1);
- DOF2_SaveFile();
- house = 1;
- }
- else
- {
- for(new i = 1; i < MAX_CASAS; i++)
- {
- format(checkID, sizeof checkID, "Casas/Casas/Casa %d.ini", i);
- if(!DOF2_FileExists(checkID))
- {
- DOF2_SetInt(houseAtual, "IDAtual", i);
- DOF2_SaveFile();
- house = i;
- break;
- }
- }
- }
- CreateHouse(house, X, Y, Z, houseInteriorX[playerid], houseInteriorY[playerid], houseInteriorZ[playerid], houseInteriorFA[playerid], houseIntPrice[playerid], houseInteriorInt[playerid]);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(logString, sizeof logString, "O administrador %s[%d], criou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_ADMIN, logString);
- Msg(playerid, ROXOCLARO, "LV CASAS: Casa criada!");
- }
- case DIALOG_CASA_STATUS:
- {
- new
- filePath[200],
- house = GetProxHouse(playerid);
- format(filePath, sizeof filePath, "Casas/Casas/Casa %d.ini", house);
- GetPlayerPos(playerid, X, Y, Z);
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- if(!response)
- {
- if(CasaInfo[house][houseStatus] == 0)
- {
- Msg(playerid, VERMELHO, "ERRO: A casa já está destrancada!");
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- return 1;
- }
- CasaInfo[house][houseStatus] = 0;
- DOF2_SetInt(filePath, "Status", 0, "Informações");
- DOF2_SaveFile();
- Msg(playerid, ROXOCLARO, "LV CASAS: Casa destrancada!");
- new logString[128];
- format(logString, sizeof logString, "O jogador %s[%d], destrancou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- Update3DText(house);
- }
- else
- {
- if(CasaInfo[house][houseStatus] == 1)
- {
- PlayerPlaySound(playerid, 1085, X, Y, Z);
- Msg(playerid, VERMELHO, "ERRO: A casa já está trancada!");
- return 1;
- }
- CasaInfo[house][houseStatus] = 1;
- DOF2_SetInt(filePath, "Status", 1, "Informações");
- DOF2_SaveFile();
- Msg(playerid, ROXOCLARO, "RV CASAS: A casa foi trancada!");
- new logString[128];
- format(logString, sizeof logString, "O jogador %s[%d], destrancou a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- Update3DText(house);
- }
- }
- case DIALOG_VENDER_CASA:
- {
- if(!response)
- return ShowHouseMenu(playerid);
- new
- housePath[200],
- ownerFile[200],
- tenantFile[200],
- annMessage[128],
- logString[128],
- totalPrice;
- GetPlayerName(playerid, playerName, MAX_PLAYER_NAME);
- format(ownerFile, sizeof ownerFile, "Casas/Donos/%s.ini",playerName);
- new
- house = DOF2_GetInt(ownerFile, "houseID");
- format(tenantFile, sizeof tenantFile, "Casas/Locadores/%s.ini", CasaInfo[house][houseTenant]);
- format(housePath, sizeof housePath, "Casas/Casas/Casa %d.ini", house);
- totalPrice = CasaInfo[house][housePrice]/2;
- format(annMessage, sizeof annMessage, "{AB82FF}LV CASAS: Você vendeu sua casa por $%d", totalPrice);
- Msg(playerid, -1, annMessage);
- GivePlayerCash(playerid, totalPrice);
- CasaInfo[house][houseStatus] = DOF2_SetInt(housePath, "Status", 1, "Informações");
- format(CasaInfo[house][houseOwner], 255, "Ninguem");
- format(CasaInfo[house][houseTenant], 255, "Ninguem");
- DOF2_SetString(housePath, "Dono", "Ninguem", "Informações");
- DOF2_SetString(housePath, "Locador", "Ninguem", "Aluguel");
- DOF2_RemoveFile(ownerFile);
- if(DOF2_FileExists(tenantFile))
- return DOF2_RemoveFile(tenantFile);
- DestroyDynamicPickup(housePickupIn[house]);
- DestroyDynamicMapIcon(houseMapIcon[house]);
- SetPlayerPos(playerid, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, 0);
- Update3DText(house);
- DOF2_SaveFile();
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 31, -1, -1, 0, -1, 100.0);
- housePickupIn[house] = CreateDynamicPickup(1273, 23, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- Msg(playerid, ROXOCLARO, "LV CASAS: Casa vendida!");
- format(logString, sizeof logString, "O jogador %s[%d], vendeu a casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- }
- }
- return 1;
- }
- forward VerificarBans(playerid);
- public VerificarBans(playerid)
- {
- Msg(playerid, VERMELHO, "LV: Você possui registros de banimento!");
- new Bans[80];
- format(Bans, sizeof(Bans), BANIDOS, Nome(playerid));
- new string[128];
- format(string, sizeof string, "BAN: Conta: {1E90FF}%s", Nome(playerid));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: Admin: {1E90FF}%s", DOF2_GetString(Bans, "Admin"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: Motivo: {1E90FF}%s", DOF2_GetString(Bans, "Motivo"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: Data / Hora: {1E90FF}%s", DOF2_GetString(Bans, "DataeHora"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: IP: {1E90FF}%s", DOF2_GetString(Bans, "IP"));
- Msg(playerid, VERMELHO, string);
- SetTimerEx("Kickar", 100, false, "i", playerid);
- return 1;
- }
- forward VerificarBansIP(playerid);
- public VerificarBansIP(playerid)
- {
- Msg(playerid, VERMELHO, "LV: Esse IP esta banido!");
- new Bans[70], string[128];
- format(Bans, sizeof(Bans), IPSBANIDOS, Nome(playerid));
- format(string, sizeof string, "BAN: Admin: {1E90FF}%s", DOF2_GetString(Bans, "Admin"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: Motivo: {1E90FF}%s", DOF2_GetString(Bans, "Motivo"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: Data / Hora: {1E90FF}%s", DOF2_GetString(Bans, "DataeHora"));
- Msg(playerid, VERMELHO, string);
- format(string, sizeof string, "BAN: IP: {1E90FF}%s", DOF2_GetString(Bans, "IP"));
- Msg(playerid, VERMELHO, string);
- SetTimerEx("Kickar", 100, false, "i", playerid);
- return 1;
- }
- forward Kickar(playerid);
- public Kickar(playerid)
- {
- Kick(playerid);
- }
- forward Taximetro(playerid);
- public Taximetro(playerid)
- {
- }
- stock Nome(playerid)
- {
- new name[24];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- stock IP(playerid)
- {
- new pIP[26];
- GetPlayerIp(playerid, pIP, sizeof(pIP));
- return pIP;
- }
- stock NivelRequerido(playerid, lvl)
- {
- if(PlayerInfo[playerid][pAdmin] < lvl)
- {
- format(String, sizeof(String), "{FF0000}ERRO:»{FFD700} Você precisa ser admin nivel %d para usar este comando!", lvl);
- Msg(playerid, VERMELHO, String);
- return 0;
- }
- return 1;
- }
- forward CriarLogs();
- public CriarLogs()
- {
- if(!fexist(LOG_ADM)) CreateLog(LOG_ADM);
- if(!fexist(LOG_VIP)) CreateLog(LOG_VIP);
- if(!fexist(LOG_ARMA)) CreateLog(LOG_ARMA);
- if(!fexist(LOG_GRANA)) CreateLog(LOG_GRANA);
- if(!fexist(LOG_KICK)) CreateLog(LOG_KICK);
- if(!fexist(LOG_CHAT)) CreateLog(LOG_CHAT);
- if(!fexist(LOG_BAN)) CreateLog(LOG_BAN);
- if(!fexist(LOG_DESBAN)) CreateLog(LOG_DESBAN);
- if(!fexist(LOG_HOUSES)) CreateLog(LOG_HOUSES);
- if(!fexist(LOG_ADMIN)) CreateLog(LOG_ADMIN);
- if(!fexist(LOG_SYSTEM)) CreateLog(LOG_SYSTEM);
- print("Logs Criados/Carregados com sucesso.");
- return 1;
- }
- stock MensagemDupla(playerid, msg1[], msg2[])
- {
- Msg(playerid, CINZA, msg1);
- Msg(playerid, CINZA, msg2);
- return 1;
- }
- stock PosicaoFrentePlayer( playerid, &Float:x, &Float:y, Float:distance)
- {
- new Float:a;
- GetPlayerPos( playerid, x, y, a);
- GetPlayerFacingAngle( playerid, a);
- if(GetPlayerVehicleID( playerid ))
- {
- GetVehicleZAngle(GetPlayerVehicleID( playerid ), a);
- }
- x += (distance * floatsin(-a, degrees));
- y += (distance * floatcos(-a, degrees));
- }
- forward Velocimetro(playerid);
- public Velocimetro(playerid)
- {
- new State = GetPlayerState(playerid);
- if(State == PLAYER_STATE_DRIVER)
- {
- new vid, modelo;
- vid = GetPlayerVehicleID(playerid);
- modelo = GetVehicleModel(vid);
- if(modelo == 509 || modelo == 510 || modelo == 481) return 1;
- VerificarRadar(playerid);
- VerificarGasolina(playerid);
- new string[200];
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective);
- format(string, sizeof string,"%s", engine ? (" ~g~Ligado") : ("~r~Desligado"));
- PlayerTextDrawSetString(playerid, Motor[playerid], string);
- PlayerTextDrawShow(playerid, Motor[playerid]);
- new PlayerVehicleModelID = GetVehicleModel(GetPlayerVehicleID(playerid));
- PlayerVehicleModelID -= 400;
- new ncarro[30];
- format(ncarro,30, PlayerVehicle[PlayerVehicleModelID]);
- format(string,sizeof(string),"~w~%d", GetPlayerSpeed(playerid));
- PlayerTextDrawSetString(playerid, Velo[playerid], string);
- PlayerTextDrawShow(playerid, Velo[playerid]);
- format(string,sizeof(string),"~p~%s", ncarro);
- PlayerTextDrawSetString(playerid, Veiculo[playerid], string);
- PlayerTextDrawShow(playerid, Veiculo[playerid]);
- format(string,sizeof(string),"~g~Combustivel ~r~%d% ~w~ L", GasolinaVeiculo[vid]);
- PlayerTextDrawSetString(playerid, Combust[playerid], string);
- PlayerTextDrawShow(playerid, Combust[playerid]);
- format(string,sizeof(string)," ~y~KM~i~/~y~H");
- PlayerTextDrawSetString(playerid, Kmh[playerid], string);
- PlayerTextDrawShow(playerid, Kmh[playerid]);
- if(modelo == 472 || modelo == 473 || modelo == 493 || modelo == 595 || modelo == 484 || modelo == 430 ||
- modelo == 453 || modelo == 452 || modelo == 446 || modelo == 454 || modelo == 476 || modelo == 460 ||
- modelo == 487 || modelo == 488 || modelo == 497 || modelo == 512 || modelo == 513 || modelo == 593 ||
- modelo == 417 || modelo == 447 || modelo == 469 || modelo == 511 || modelo == 548 || modelo == 563 ||
- modelo == 425 || modelo == 519 || modelo == 520 || modelo == 553 || modelo == 577 || modelo == 592)
- {
- PlayerTextDrawHide(playerid, Combust[playerid]);
- }
- } else {
- PlayerTextDrawHide(playerid, Velo[playerid]);
- PlayerTextDrawHide(playerid, Motor[playerid]);
- PlayerTextDrawHide(playerid, Combust[playerid]);
- PlayerTextDrawHide(playerid, Kmh[playerid]);
- PlayerTextDrawHide(playerid, Veiculo[playerid]);
- }
- SetTimerEx("Velocimetro", 100, false, "i", playerid);
- return 1;
- }
- forward CarregarRadares();
- public CarregarRadares()
- {
- for(new r = 0; r < MAX_RADAR; r++)
- {
- new Arquivo[50];
- format(Arquivo,sizeof(Arquivo), RADARES, r);
- if(DOF2_FileExists(Arquivo))
- {
- RadarInfo[r][rVelocidade] = DOF2_GetInt(Arquivo,"Velocidade");
- RadarInfo[r][rPosX] = DOF2_GetFloat(Arquivo,"PosX");
- RadarInfo[r][rPosY] = DOF2_GetFloat(Arquivo,"PosY");
- RadarInfo[r][rPosZ] = DOF2_GetFloat(Arquivo,"PosZ");
- RadarInfo[r][rAngulo] = DOF2_GetFloat(Arquivo,"Angulo");
- ObjetoRadar[0][r] = CreateDynamicObject(18880, RadarInfo[r][rPosX], RadarInfo[r][rPosY], RadarInfo[r][rPosZ], 0.0, 0.0, RadarInfo[r][rAngulo]);
- ObjetoRadar[1][r] = CreateDynamicObject(18880, RadarInfo[r][rPosX], RadarInfo[r][rPosY], RadarInfo[r][rPosZ], 0.0, 0.0, RadarInfo[r][rAngulo] + 180.0);
- new stringr[30];
- format(stringr, sizeof(stringr),"{FF0000}LV Radar ID: %d\n%d KM/H", r, RadarInfo[r][rVelocidade]);
- TRadar[r] = Text3D:Create3DTextLabel(stringr, -1, RadarInfo[r][rPosX], RadarInfo[r][rPosY], RadarInfo[r][rPosZ]+1, 100.0, 0);
- IconeRadar[r] = CreateDynamicMapIcon(RadarInfo[r][rPosX], RadarInfo[r][rPosY], RadarInfo[r][rPosZ], 34, -1, -1, 0, -1, 100.0);
- }
- }
- return 1;
- }
- forward SalvarRadares();
- public SalvarRadares()
- {
- for(new r = 0; r < MAX_RADAR; r++)
- {
- new Arquivo[50];
- format(Arquivo,sizeof(Arquivo), RADARES, r);
- if(DOF2_FileExists(Arquivo))
- {
- DOF2_SetInt(Arquivo, "Velocidade", RadarInfo[r][rVelocidade]);
- DOF2_SetFloat(Arquivo, "PosX", RadarInfo[r][rPosX]);
- DOF2_SetFloat(Arquivo, "PosY", RadarInfo[r][rPosY]);
- DOF2_SetFloat(Arquivo, "PosZ", RadarInfo[r][rPosZ]);
- DOF2_SetFloat(Arquivo, "Angulo", RadarInfo[r][rAngulo]);
- DOF2_SaveFile();
- }
- }
- return 1;
- }
- forward VerificarRadar(playerid);
- public VerificarRadar(playerid)
- {
- if(PassouRadar[playerid] == true) return 1;
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
- new modelo = GetVehicleModel(GetPlayerVehicleID(playerid));
- if(modelo == 417 || modelo == 425 || modelo == 460 || modelo == 464 || modelo == 465 || modelo == 467 || modelo == 476 || modelo == 487 || modelo == 488 || modelo == 497 || modelo == 501 || modelo == 511 || modelo == 512 || modelo == 513 || modelo == 519 || modelo == 520 || modelo == 548 || modelo == 553 || modelo == 563 || modelo == 577 || modelo == 592 || modelo == 593) return 1;
- for(new r = 0; r < MAX_RADAR; r++)
- {
- if(!IsPlayerInRangeOfPoint(playerid, 8.0, RadarInfo[r][rPosX], RadarInfo[r][rPosY], RadarInfo[r][rPosZ])) return PassouRadar[playerid] = false;
- if(GetPlayerSpeed(playerid) > RadarInfo[r][rVelocidade])
- {
- format(String, sizeof(String),"LV RADAR: Você ultrapassou o limite de velocidade! Limite: {CAE1FF}%d KM/H{6495ED}, você passou a {CAE1FF}%d {6495ED}KM/H!",RadarInfo[r][rVelocidade], GetPlayerSpeed(playerid));
- Msg(playerid, 0x6495EDFF, String);
- PassouRadar[playerid] = true;
- } else {
- format(String, sizeof(String),"LV RADAR: Velocidade detectada:{CAE1FF} %d {6495ED}KM/H", GetPlayerSpeed(playerid));
- Msg(playerid, 0x6495EDFF, String);
- PassouRadar[playerid] = true;
- }
- }
- return 1;
- }
- stock GetPlayerSpeed(playerid)
- {
- new Float:ST[4];
- if(IsPlayerInAnyVehicle(playerid))
- GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
- else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
- ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 100.3;
- return floatround(ST[3]);
- }
- public OnPlayerClickTextDraw(playerid, Text:clickedid)
- {
- if(clickedid == Registro[2]) ShowPlayerDialog(playerid, DIALOG_SEXO, DIALOG_STYLE_MSGBOX, "SEXO LIFE VIRTUAL RPG:", "\nEscolhe seu sexo clicando nos botões abaixo:\n\n", "Masculino", "Feminino");
- if(clickedid == Registro[3]) ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "REGISTRO LIFE VIRTUAL RPG:", "\nDigite sua senha abaixo:\n\n", "Ok", "Voltar");
- if(clickedid == Registro[4]) ShowPlayerDialog(playerid, DIALOG_IDADE, DIALOG_STYLE_INPUT, "IDADE LIFE VIRTUAL RPG", "\nPor favor, digite sua idade:\n\n", "OK", "Cancelar");
- if(clickedid == Registro[5]) ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "EMAIL LIFE VIRTUAL RPG:", "\nPor favor digite seu email abaixo;\nSera importante caso perca sua senha.\n\n", "Ok", "Cancelar");
- if(clickedid == Registro[7]) Kick(playerid);
- if(clickedid == Registro[6]) // Iniciar
- {
- if(DigitouSenha[playerid] == 1 && DigitouSexo[playerid] == 1 && DigitouIdade[playerid] == 1 && DigitouEmail[playerid] == 1)
- {
- RegistrarDados(playerid);
- } else {
- TextDrawShowForPlayer(playerid, Registro[8]); // mensagem de erro preencha os dados
- }
- }
- // == Login
- if(clickedid == Login[playerid][3]) ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "LOGIN LIFE VIRTUAL RPG:", "\nDigite sua senha abaixo para logar-se:\n\n", "Logar", "Voltar");
- if(clickedid == Login[playerid][4]) ShowPlayerDialog(playerid, DIALOG_FORUM, DIALOG_STYLE_MSGBOX, "FORUM LIFE VIRTUAL RPG:", "\nAcesse e se cadastre em nosso fórum:\n\n {FFFFFF}www.lifevirtual.forumeiros.com\n\n", "Ok", "");
- if(clickedid == Login[playerid][5]) ShowPlayerDialog(playerid, DIALOG_CREDITOS, DIALOG_STYLE_MSGBOX, "CREDITOS LIFE VIRTUAL RPG:", "\nEquipe Life Virtual RPG\nScript por Cleyson Stein\n\n", "Ok", "");
- // == Banco
- new Dialog[85];
- if(clickedid == Banco[6]) // Saldo
- {
- format(Dialog,sizeof(Dialog),"\nNome: {FF0000}%s{FFFFFF},\nSeu saldo bancário é de:\n\nR$ {FF0000}%d{FFFFFF}.", Nome(playerid), PlayerInfo[playerid][SaldoBancario]);
- ShowPlayerDialog(playerid, DIALOG_SALDO, DIALOG_STYLE_MSGBOX, "BANCO SAN ANDREAS - SALDO", Dialog, "Ok", "");
- }
- if(clickedid == Banco[8]) // X sair
- {
- for(new i = 0; i < sizeof(Banco); i++) TextDrawHideForPlayer(playerid, Banco[i]);
- CancelSelectTextDraw(playerid);
- }
- if(clickedid == Banco[2]) ShowPlayerDialog(playerid, DIALOG_SACAR, DIALOG_STYLE_INPUT, "BANCO SAN ANDREAS - SAQUE", "\nPor favor digite a quantia que deseja sacar:\n\n", "Ok", "Cancelar");
- if(clickedid == Banco[3]) ShowPlayerDialog(playerid, DIALOG_DEPOSITAR, DIALOG_STYLE_INPUT, "BANCO SAN ANDREAS - DEPÓSITO", "\nPor favor digite a quantia que deseja depositar:\n\n", "Ok", "Cancelar");
- if(clickedid == Banco[4]) // emprestimo
- {
- if(PlayerInfo[playerid][FezEmprestimo] == 1) return Msg(playerid, VERMELHO, "ERRO: Você ja fez um empréstimo. Pague o antes para pedir um novo.");
- if(PlayerInfo[playerid][pLevel] < 20) return Msg(playerid, VERMELHO, "ERRO: Você só pode pegar empréstimos com level acima de 20.");
- ShowPlayerDialog(playerid, DIALOG_EMPRESTIMO, DIALOG_STYLE_INPUT, "BANCO SAN ANDREAS - EMPRÉSTIMO", "\nEmpréstimo disponível para você; de R$ 1000 a R$ 20000.\nSerão descontados da sua conta bancária a cada UP\nO valor do juros é de 2% a cada UP.\n\nSe estiver de acordo digite o valor do empréstimo:\n\n", "Ok", "Cancelar");
- }
- if(clickedid == Banco[5]) ShowPlayerDialog(playerid, DIALOG_TRANSF_ID, DIALOG_STYLE_INPUT, "BANCO SAN ANDREAS - TRANSFERÊNCIA", "\nPor favor digite o ID para quem deseja transferir:\n\n", "Ok", "Cancelar");
- return 1;
- }
- forward ChatAdmin(COLOR,const string[],level);
- public ChatAdmin(COLOR,const string[],level)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] > 0)
- {
- Msg(i, COLOR, string);
- }
- }
- }
- return 1;
- }
- forward ChatHelper(COLOR,const string[],level);
- public ChatHelper(COLOR,const string[],level)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pHelper] == 1)
- {
- Msg(i, COLOR, string);
- }
- }
- }
- return 1;
- }
- forward AvisarTaxista(COLOR,const string[],level);
- public AvisarTaxista(COLOR,const string[],level)
- {
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pProfissao] == TAXISTA)
- {
- Msg(i, COLOR, string);
- }
- }
- }
- return 1;
- }
- forward VerificarGasolina(playerid);
- public VerificarGasolina(playerid)
- {
- if(IsPlayerInAnyVehicle(playerid))
- {
- new carid = GetPlayerVehicleID(playerid);
- new engine, lights, alarm, doors, bonnet, boot, objective;
- GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
- if(engine) //assim so ira consumir gasolina se o motor estiver on
- {
- GetVehicleVelocity(carid, VehSpeed[0], VehSpeed[1], VehSpeed[2]);
- if(floatround(((floatsqroot(((VehSpeed[0] * VehSpeed[0]) + (VehSpeed[1] * VehSpeed[1]) + (VehSpeed[2] * VehSpeed[2]))) * (170.0))) * 1) > 5)
- {
- new modelo = GetVehicleModel(carid);
- if(modelo == 472 || modelo == 473 || modelo == 493 || modelo == 595 || modelo == 484 || modelo == 430 ||
- modelo == 453 || modelo == 452 || modelo == 446 || modelo == 454 || modelo == 476 || modelo == 460 ||
- modelo == 487 || modelo == 488 || modelo == 497 || modelo == 512 || modelo == 513 || modelo == 593 ||
- modelo == 417 || modelo == 447 || modelo == 469 || modelo == 511 || modelo == 548 || modelo == 563 ||
- modelo == 425 || modelo == 519 || modelo == 520 || modelo == 553 || modelo == 577 || modelo == 592) return 1;
- if(GasolinaVeiculo[carid] == 0)
- {
- SetVehicleParamsEx(carid, VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
- Msg(playerid, VERMELHO, "LV: A Gasolina de seu carro acabou, arraste o carro até um posto, ou compre um galão no posto.");
- }
- if(GasolinaVeiculo[carid] > 0)
- {
- ConsumoGas[playerid]+=1;
- if(ConsumoGas[playerid] >= (45 * 13))
- {
- GasolinaVeiculo[carid]--;
- ConsumoGas[playerid] = 0;
- }
- }
- }
- }
- }
- return 1;
- }
- forward Att_Relogio();
- public Att_Relogio()
- {
- new str[35], str2[25], ano, mes, dia, hora, minuto, segundo;
- getdate(ano, mes, dia);
- gettime(hora, minuto, segundo);
- format(str, sizeof(str), "~w~%02d~y~/~w~%02d~y~/~w~%d", dia, mes, ano);
- TextDrawSetString(Relogio[1], str);
- format(str2, sizeof(str2), " ~w~%02d~y~:~w~%02d", hora, minuto);
- TextDrawSetString(Relogio[0], str2);
- return 1;
- }
- forward Locais(i);
- public Locais(i)
- {
- if(IsPlayerInRangeOfPoint( i, 10.0, 1940.6096,-1772.7147,12.9500 ) || IsPlayerInRangeOfPoint( i, 10.0, -90.8525,-1169.3555,1.9823 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, -1607.8698,-2715.5637,48.9453 ) || IsPlayerInRangeOfPoint( i, 10.0, -2244.2200,-2560.6169,31.9219 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, -2026.7922,156.5871,29.0391 ) || IsPlayerInRangeOfPoint( i, 10.0, -2410.0215,976.2697,45.4209 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, -1328.4185,2675.4663,50.0625 ) || IsPlayerInRangeOfPoint( i, 10.0, 1596.2703,2198.8335,10.8203 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, 2639.4871,1106.6412,10.8203 ) || IsPlayerInRangeOfPoint( i, 10.0, 2114.7256,920.3104,10.8203 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, 1004.8821,-937.0840,42.3281 ) || IsPlayerInRangeOfPoint( i, 10.0, 1382.6870,459.7101,20.3452 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, -1676.3906,412.9636,6.9068 ) || IsPlayerInRangeOfPoint( i, 10.0, 70.4693,1218.8176,18.5393 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, 613.1774,1692.8209,7.1875 ) || IsPlayerInRangeOfPoint( i, 10.0, 2147.0969,2747.4377,10.5474 ) ||
- IsPlayerInRangeOfPoint( i, 10.0, 2202.2954,2474.0007,10.5474 ) || IsPlayerInRangeOfPoint( i, 10.0, 655.3937,-565.2368,15.9072 ))
- {
- for(new p = 0; p < sizeof(TextPostos); p++) TextDrawShowForPlayer(i, TextPostos[p]);
- AreaPosto[i] = 1;
- } else {
- AreaPosto[i] = 0;
- for(new p = 0; p < sizeof(TextPostos); p++) TextDrawHideForPlayer(i, TextPostos[p]);
- }
- return 1;
- }
- RetirarTextEntrada(playerid)
- {
- CancelSelectTextDraw(playerid);
- StopAudioStreamForPlayer(playerid);
- for(new i = 0; i < sizeof(Registro); i++) TextDrawHideForPlayer(playerid, Registro[i]);
- for(new i = 0; i < sizeof(Fundo); i++) TextDrawHideForPlayer(playerid, Fundo[i]);
- for(new i = 0; i < 8; i++) TextDrawHideForPlayer(playerid, Login[playerid][i]);
- return 1;
- }
- RegistrarDados(playerid)
- {
- PlayerInfo[playerid][pLogado] = true;
- PlayerInfo[playerid][pProfissao] = DESEMPREGADO;
- PlayerInfo[playerid][Emprestimo] = 0;
- PlayerInfo[playerid][FezEmprestimo] = 0;
- PlayerInfo[playerid][GalaoGasolina] = 0;
- PlayerInfo[playerid][TemGalao] = 0;
- PlayerInfo[playerid][pLevel] = 0;
- PlayerInfo[playerid][pHelper] = 0;
- PlayerInfo[playerid][pAdmin] = 0;
- PlayerInfo[playerid][pVip] = 0;
- PlayerInfo[playerid][pPos][0] = 1685.5984;
- PlayerInfo[playerid][pPos][1] = -2333.9424;
- PlayerInfo[playerid][pPos][2] = 13.5469;
- PlayerInfo[playerid][pInterior] = 0;
- PlayerInfo[playerid][HabAerea] = 0;
- PlayerInfo[playerid][HabNautica] = 0;
- PlayerInfo[playerid][HabTerrestre] = 0;
- new string[75];
- format(string,sizeof string,"{058AFF}LV:» {CFCFCF}%s{FFFFFF} Entrou no servidor", Nome(playerid));
- MsgAll(-1, string);
- SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
- SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPos][0], PlayerInfo[playerid][pPos][1], PlayerInfo[playerid][pPos][2], 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- printf("LV-> Nova conta registrada: %s", Nome(playerid));
- RetirarTextEntrada(playerid);
- return 1;
- }
- CarregarDados(playerid)
- {
- PlayerInfo[playerid][pLogado] = true;
- new stringV[50];
- format(stringV, sizeof stringV, VIPS, Nome(playerid));
- if(DOF2_FileExists(stringV))
- {
- PlayerInfo[playerid][pVip] = 1;
- PlayerInfo[playerid][TempoVip] = DOF2_GetInt(stringV, "LEVEIS RESTANTES");
- }
- new string[250];
- format(string, sizeof(string), CONTAS, Nome(playerid));
- PlayerInfo[playerid][pAdmin] = DOF2_GetInt(string, "Admin");
- PlayerInfo[playerid][pSexo] = DOF2_GetInt(string, "Sexo");
- PlayerInfo[playerid][pIdade] = DOF2_GetInt(string, "Idade");
- PlayerInfo[playerid][pHelper] = DOF2_GetInt(string, "Helper");
- PlayerInfo[playerid][pSkin] = DOF2_GetInt(string, "Skin");
- PlayerInfo[playerid][pLevel] = DOF2_GetInt(string, "Level");
- PlayerInfo[playerid][HabAerea] = DOF2_GetInt(string, "HabAerea");
- PlayerInfo[playerid][HabNautica] = DOF2_GetInt(string, "HabNautica");
- PlayerInfo[playerid][HabTerrestre] = DOF2_GetInt(string, "HabTerrestre");
- PlayerInfo[playerid][pProfissao] = DOF2_GetInt(string, "Profissao");
- PlayerInfo[playerid][pPos][0] = DOF2_GetFloat(string, "PosX");
- PlayerInfo[playerid][pPos][1] = DOF2_GetFloat(string, "PosY");
- PlayerInfo[playerid][pPos][2] = DOF2_GetFloat(string, "PosZ");
- PlayerInfo[playerid][pInterior] = DOF2_GetInt(string, "Interior");
- PlayerInfo[playerid][TemGalao] = DOF2_GetInt(string, "TemGalao");
- PlayerInfo[playerid][GalaoGasolina] = DOF2_GetInt(string, "GalaoGasolina");
- PlayerInfo[playerid][SaldoBancario] = DOF2_GetInt(string, "SaldoBancario");
- PlayerInfo[playerid][Emprestimo] = DOF2_GetInt(string, "Emprestimo");
- PlayerInfo[playerid][FezEmprestimo] = DOF2_GetInt(string, "FezEmprestimo");
- format(string,sizeof string,"{058AFF}LV:» {CFCFCF}%s{FFFFFF} Entrou no servidor", Nome(playerid));
- MsgAll(-1, string);
- SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
- SetPlayerInterior(playerid, PlayerInfo[playerid][pInterior]);
- SetSpawnInfo(playerid, 1, PlayerInfo[playerid][pSkin], PlayerInfo[playerid][pPos][0], PlayerInfo[playerid][pPos][1], PlayerInfo[playerid][pPos][2], 269.15, 0, 0, 0, 0, 0, 0);
- SpawnPlayer(playerid);
- SpawnInHome(playerid);
- CarregarProfs(playerid);
- RetirarTextEntrada(playerid);
- return 1;
- }
- SalvarDados(playerid)
- {
- if(PlayerInfo[playerid][pLogado] == false) return 1;
- if(PlayerInfo[playerid][pVip] > 0)
- {
- new stringV[50];
- format(stringV, sizeof stringV, VIPS, Nome(playerid));
- if(!DOF2_FileExists(stringV)) DOF2_CreateFile(stringV);
- DOF2_SetInt(stringV, "LEVEIS RESTANTES", PlayerInfo[playerid][TempoVip]);
- DOF2_SaveFile();
- }
- PlayerInfo[playerid][SaldoBancario] += GetPlayerCash(playerid);
- ResetPlayerCash(playerid);
- new Float:X, Float:Y, Float:Z, string[300];
- GetPlayerPos(playerid, Float:X, Float:Y, Float:Z);
- format(string, sizeof(string), CONTAS, Nome(playerid));
- DOF2_SetInt(string, "Level", PlayerInfo[playerid][pLevel]);
- DOF2_SetInt(string, "Admin", PlayerInfo[playerid][pAdmin]);
- DOF2_SetInt(string, "Helper", PlayerInfo[playerid][pHelper]);
- DOF2_SetInt(string, "Skin", PlayerInfo[playerid][pSkin]);
- DOF2_SetInt(string, "Idade", PlayerInfo[playerid][pIdade]);
- DOF2_SetInt(string, "Sexo", PlayerInfo[playerid][pSexo]);
- DOF2_SetInt(string, "HabAerea", PlayerInfo[playerid][HabAerea]);
- DOF2_SetInt(string, "HabNautica", PlayerInfo[playerid][HabNautica]);
- DOF2_SetInt(string, "HabTerrestre", PlayerInfo[playerid][HabTerrestre]);
- DOF2_SetInt(string, "Profissao", PlayerInfo[playerid][pProfissao]);
- DOF2_SetInt(string, "TemGalao", PlayerInfo[playerid][TemGalao]);
- DOF2_SetInt(string, "GalaoGasolina", PlayerInfo[playerid][GalaoGasolina]);
- DOF2_SetInt(string, "SaldoBancario", PlayerInfo[playerid][SaldoBancario]);
- DOF2_SetInt(string, "Emprestimo", PlayerInfo[playerid][Emprestimo]);
- DOF2_SetInt(string, "FezEmprestimo", PlayerInfo[playerid][FezEmprestimo]);
- DOF2_SetInt(string, "Interior", GetPlayerInterior(playerid));
- DOF2_SetFloat(string, "PosX", X);
- DOF2_SetFloat(string, "PosY", Y);
- DOF2_SetFloat(string, "PosZ", Z);
- DOF2_SaveFile();
- PlayerInfo[playerid][pLogado] = false;
- printf("LV-> Conta salva: %s", Nome(playerid));
- return 1;
- }
- CarregarProfs(playerid)
- {
- if(PlayerInfo[playerid][pProfissao] == DESEMPREGADO) return SetPlayerColor(playerid, C_DESEMPREGADO);
- if(PlayerInfo[playerid][pProfissao] == TAXISTA) return SetPlayerColor(playerid, C_TAXISTA);
- return 1;
- }
- /*stock EntrarIntCasa(playerid, IntID)
- {
- switch(IntID)
- {
- case 1:
- {
- SetPlayerPos(playerid, 2496.0549, -1695.1749, 1014.7422);
- SetPlayerFacingAngle(playerid, 179.2174);
- SetPlayerInterior(playerid, 3);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[46] {FFFFFF}Casa dos Johnsons");
- }
- case 2:
- {
- SetPlayerPos(playerid, 1267.8407, -776.9587, 1091.9063);
- SetPlayerFacingAngle(playerid, 231.3418);
- SetPlayerInterior(playerid, 5);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[55] {FFFFFF}Mansão do Mad Dog");
- }
- case 3:
- {
- SetPlayerPos(playerid, 419.8936, 2537.1155, 10.00);
- SetPlayerFacingAngle(playerid, 67.6537);
- SetPlayerInterior(playerid, 10);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[59] {FFFFFF}Torre Aeroporto Abandonado");
- }
- case 4:
- {
- SetPlayerPos(playerid, 2233.6919, -1112.8107, 1050.8828);
- SetPlayerFacingAngle(playerid, 8.6483);
- SetPlayerInterior(playerid, 5);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[67] {FFFFFF}Casa Segura 1");
- }
- case 5:
- {
- SetPlayerPos(playerid, 2319.1272, -1023.9562, 1050.2109);
- SetPlayerFacingAngle(playerid, 167.3959);
- SetPlayerInterior(playerid, 9);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[69] {FFFFFF}Casa Segura 3");
- }
- case 6:
- {
- SetPlayerPos(playerid, 2261.0977, -1137.8833, 1050.6328);
- SetPlayerFacingAngle(playerid, 266.88);
- SetPlayerInterior(playerid, 10);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[70] {FFFFFF}Casa Segura 4");
- }
- case 7:
- {
- SetPlayerPos(playerid, 234.6087, 1187.8195, 1080.2578);
- SetPlayerFacingAngle(playerid, 349.4844);
- SetPlayerInterior(playerid, 3);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[76] {FFFFFF}Casa 1");
- }
- case 8:
- {
- SetPlayerPos(playerid, 225.5707, 1240.0643, 1082.1406);
- SetPlayerFacingAngle(playerid, 96.2852);
- SetPlayerInterior(playerid, 2);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[77] {FFFFFF}Casa 2");
- }
- case 9:
- {
- SetPlayerPos(playerid, 224.288, 1289.1907, 1082.1406);
- SetPlayerFacingAngle(playerid, 359.868);
- SetPlayerInterior(playerid, 1);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[78] {FFFFFF}Casa 3");
- }
- case 10:
- {
- SetPlayerPos(playerid, 239.2819, 1114.1991, 1080.9922);
- SetPlayerFacingAngle(playerid, 270.2654);
- SetPlayerInterior(playerid, 5);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[79] {FFFFFF}Casa 4");
- }
- case 11:
- {
- SetPlayerPos(playerid, 295.1391, 1473.3719, 1080.2578);
- SetPlayerFacingAngle(playerid, 352.9526);
- SetPlayerInterior(playerid, 15);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[81] {FFFFFF}Casa 5");
- }
- case 12:
- {
- SetPlayerPos(playerid, 227.3922, 1114.6572, 1080.9985);
- SetPlayerFacingAngle(playerid, 267.459);
- SetPlayerInterior(playerid, 5);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[93] {FFFFFF}Casa 7");
- }
- case 13:
- {
- SetPlayerPos(playerid, 2323.7063, -1147.6509, 1050.7101);
- SetPlayerFacingAngle(playerid, 206.5352);
- SetPlayerInterior(playerid, 12);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[106] {FFFFFF}Casa 12");
- }
- case 14:
- {
- SetPlayerPos(playerid, 2216.1282, -1076.3052, 1050.4844);
- SetPlayerFacingAngle(playerid, 86.428);
- SetPlayerInterior(playerid, 1);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[131] {FFFFFF}Casa 19");
- }
- case 15:
- {
- SetPlayerPos(playerid, 2365.1089, -1133.0795, 1050.875);
- SetPlayerFacingAngle(playerid, 177.3947);
- SetPlayerInterior(playerid, 8);
- Msg(playerid, -1, "Você entrou no interior: {00EEFE}[135] {FFFFFF}Casa 20");
- }
- }
- return 1;
- }*/
- ShowAdminMenu(playerid)
- {
- new stringCat[1200];
- strcat(stringCat, "Visualizar interior\n");
- strcat(stringCat, "Alterar Preço\n");
- strcat(stringCat, "Alterar Preço Aluguel\n");
- strcat(stringCat, "Alterar Interior\n");
- strcat(stringCat, "Alterar Status\n");
- strcat(stringCat, "Alterar Título\n");
- strcat(stringCat, "Mudar dono\n");
- strcat(stringCat, "{FD0100}Vender casa\n");
- strcat(stringCat, "{FD0100}Deletar casa\n");
- ShowPlayerDialog(playerid, DIALOG_EDITAR_CASA, DIALOG_STYLE_LIST, "LIFE VIRTUAL RPG - CASAS", stringCat, "Selecionar", "Cancelar");
- return 1;
- }
- ShowHouseMenu(playerid)
- {
- new house = GetProxHouse(playerid),
- stringCat[1200];
- if(!strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- ShowPlayerDialog(playerid, DIALOG_HOUSE_SELL_MENU, DIALOG_STYLE_LIST, "LIFE VIRTUAL RPG - CASAS", "Comprar Casa\n", "Selecionar", "Cancelar");
- TogglePlayerControllable(playerid, 0);
- }
- else if(!strcmp(CasaInfo[house][houseOwner], Nome(playerid), true))
- {
- strcat(stringCat, "{00FAF7}Entrar em casa\n");
- strcat(stringCat, "{09FD00}Ativar{46FE00}/{FD0300}Desativar {FFFFFF}aluguel da casa\n");
- strcat(stringCat, "{09FD00}Trancar{46FE00}/{FD0300}Destrancar {FFFFFF}a casa\n");
- strcat(stringCat, "Vender sua casa\n");
- strcat(stringCat, "Vender sua casa para um player\n");
- strcat(stringCat, "Despejar Locador\n");
- strcat(stringCat, "Alterar Título da casa\n");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_OWNER_MENU, DIALOG_STYLE_LIST, "LIFE VIRTUAL RPG - CASAS", stringCat, "Selecionar", "Cancelar");
- TogglePlayerControllable(playerid, 0);
- }
- else if(strcmp(CasaInfo[house][houseOwner], Nome(playerid), true))
- {
- if(CasaInfo[house][houseRentable] == 1)
- {
- if(strcmp(CasaInfo[house][houseTenant], Nome(playerid), true))
- {
- strcat(stringCat, "{00FAF7}Entrar na casa\n");
- strcat(stringCat, "Alugar casa\n");
- ShowPlayerDialog(playerid, DIALOG_RENTING_GUEST, DIALOG_STYLE_LIST, "LIFE VIRTUAL RPG - CASAS", stringCat, "Selecionar", "Cancelar");
- TogglePlayerControllable(playerid, 0);
- return 1;
- }
- else
- {
- strcat(stringCat, "{00FAF7}Entrar em casa\n");
- strcat(stringCat, "{09FD00}Trancar{46FE00}/{FD0300}Destrancar {FFFFFF}a casa\n");
- strcat(stringCat, "{FD0100}Desalugar\n");
- ShowPlayerDialog(playerid, DIALOG_HOUSE_TENANT_MENU, DIALOG_STYLE_LIST, "LIFE VIRTUAL RPG - CASAS", stringCat, "Selecionar", "Cancelar");
- TogglePlayerControllable(playerid, 0);
- }
- }
- else
- {
- ShowPlayerDialog(playerid, DIALOG_GUEST, DIALOG_STYLE_MSGBOX, "LIFE VIRTUAL RPG - CASAS", "{FFFFFF}Você deseja entrar nesta casa?", "Sim", "Não");
- TogglePlayerControllable(playerid, 0);
- return 1;
- }
- }
- new logString[128];
- format(logString, sizeof logString, "O jogador %s[%d], abriu o menu da casa %d.", playerName, playerid, house);
- WriteLog(LOG_HOUSES, logString);
- return 1;
- }
- ShowCreateHouseDialog(playerid)
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- new stringCat[1200];
- strcat(stringCat, "Interior {FB1300}1 \t{FCEC00}6 {FFFFFF}Comodos \t\t{00EAFA}R$ 65.000,00 \n");
- strcat(stringCat, "Interior {FB1300}2 \t{FCEC00}3 {FFFFFF}Comodos \t\t{00EAFA}R$ 37.000,00 \n");
- strcat(stringCat, "Interior {FB1300}3 \t{FCEC00}3 {FFFFFF}Comodos \t\t{00EAFA}R$ 37.000,00 \n");
- strcat(stringCat, "Interior {FB1300}4 \t{FCEC00}1 {FFFFFF}Comodo \t\t{00EAFA}R$ 20.000,00 \n");
- strcat(stringCat, "Interior {FB1300}5 \t{FCEC00}1 {FFFFFF}Comodo \t\t{00EAFA}R$ 20.000,00 \n");
- strcat(stringCat, "Interior {FB1300}6 \t{FCEC00}3 {FFFFFF}Comodos \t\t{00EAFA}R$ 150.000,00 {FFFFFF}| (Casa do CJ)\n");
- strcat(stringCat, "Interior {FB1300}7 \t{FCEC00}5 {FFFFFF}Comodos \t\t{00EAFA}R$ 320.000,00 \n");
- strcat(stringCat, "Interior {FB1300}8 \t{FCEC00}7 {FFFFFF}Comodos \t\t{00EAFA}R$ 120.000,00 \n");
- strcat(stringCat, "Interior {FB1300}9 \t{FCEC00}4 {FFFFFF}Comodos \t\t{00EAFA}R$ 95.000,00 \n");
- strcat(stringCat, "Interior {FB1300}10 \t{FCEC00}Muitos {FFFFFF}Comodos \t{00EAFA}R$ 1.200.000,00 {FFFFFF}| (Casa do Madd Dog)\n");
- strcat(stringCat, "Interior {FB1300}11 \t{FCEC00}7 {FFFFFF}Comodos \t\t{00EAFA}R$ 660.000,00 \n");
- ShowPlayerDialog(playerid, DIALOG_CRIAR_CASA, DIALOG_STYLE_LIST,"Criando Casa", stringCat, "Continuar", "Cancelar");
- return 1;
- }
- CreateHouse(house, Float:PickupX, Float:PickupY, Float:PickupZ, Float:InteriorX, Float:InteriorY, Float:InteriorZ, Float:InteriorFA, houseValue, houseInt)
- {
- new file[100];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- if(!DOF2_FileExists(file))
- {
- format(CasaInfo[house][houseOwner], 24, "Ninguem");
- format(CasaInfo[house][houseTenant], 24, "Ninguem");
- format(CasaInfo[house][houseTitle], 32, "Título não definido");
- CasaInfo[house][houseX] = PickupX;
- CasaInfo[house][houseY] = PickupY;
- CasaInfo[house][houseZ] = PickupZ;
- CasaInfo[house][houseIntX] = InteriorX;
- CasaInfo[house][houseIntY] = InteriorY;
- CasaInfo[house][houseIntZ] = InteriorZ;
- CasaInfo[house][houseIntFA] = InteriorFA;
- CasaInfo[house][houseInterior] = houseInt;
- CasaInfo[house][housePrice] = houseValue;
- CasaInfo[house][houseVirtualWorld] = house;
- CasaInfo[house][houseStatus] = 1;
- CasaInfo[house][houseRentable] = 0;
- CasaInfo[house][houseRentPrice] = 0;
- DOF2_CreateFile(file);
- DOF2_SetInt(file, "ID", house, "Informações");
- DOF2_SetInt(file, "Preço", houseValue, "Informações");
- DOF2_SetString(file, "Dono", "Ninguem", "Informações");
- DOF2_SetString(file, "Título", "Título não definido", "Informações");
- DOF2_SetInt(file, "Status", 1, "Informações");
- DOF2_SetInt(file, "Aluguel Ativado", 0, "Aluguel");
- DOF2_SetInt(file, "Preço do Aluguel", 0, "Aluguel");
- DOF2_SetString(file, "Locador", "Ninguem", "Aluguel");
- DOF2_SetInt(file, "Interior", houseInt, "Coordenadas");
- DOF2_SetFloat(file, "Exterior X", PickupX, "Coordenadas");
- DOF2_SetFloat(file, "Exterior Y", PickupY, "Coordenadas");
- DOF2_SetFloat(file, "Exterior Z", PickupZ, "Coordenadas");
- DOF2_SetFloat(file, "Interior X", InteriorX, "Coordenadas");
- DOF2_SetFloat(file, "Interior Y", InteriorY, "Coordenadas");
- DOF2_SetFloat(file, "Interior Z", InteriorZ, "Coordenadas");
- DOF2_SetFloat(file, "Interior Facing Angle", InteriorFA, "Coordenadas");
- DOF2_SetInt(file, "Virtual World", house, "Coordenadas");
- DOF2_SaveFile();
- }
- else
- {
- CasaInfo[house][housePrice] = DOF2_GetInt(file, "Preço", "Informações");
- format(CasaInfo[house][houseOwner], 24, DOF2_GetString(file, "Dono", "Informações"));
- format(CasaInfo[house][houseTitle], 32, DOF2_GetString(file, "Título", "Informações"));
- CasaInfo[house][houseStatus] = DOF2_GetInt(file, "Status", "Informações");
- CasaInfo[house][houseRentable] = DOF2_GetInt(file, "Aluguel Ativado", "Aluguel");
- CasaInfo[house][houseRentPrice] = DOF2_GetInt(file, "Preço do Aluguel", "Aluguel");
- format(CasaInfo[house][houseTenant], 24, DOF2_GetString(file, "Locador", "Aluguel"));
- CasaInfo[house][houseX] = DOF2_GetFloat(file, "Exterior X", "Coordenadas");
- CasaInfo[house][houseY] = DOF2_GetFloat(file, "Exterior Y", "Coordenadas");
- CasaInfo[house][houseZ] = DOF2_GetFloat(file, "Exterior Z", "Coordenadas");
- CasaInfo[house][houseIntX] = DOF2_GetFloat(file, "Interior X", "Coordenadas");
- CasaInfo[house][houseIntY] = DOF2_GetFloat(file, "Interior Y", "Coordenadas");
- CasaInfo[house][houseIntZ] = DOF2_GetFloat(file, "Interior Z", "Coordenadas");
- CasaInfo[house][houseInterior] = DOF2_GetInt(file, "Interior", "Coordenadas");
- CasaInfo[house][houseVirtualWorld] = DOF2_GetInt(file, "Virtual World", "Coordenadas");
- }
- new
- houseStatusName[20],
- houseRentName[20],
- textlabel[200];
- if(!strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- housePickupIn[house] = CreateDynamicPickup(1273, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 31, -1, -1, 0, -1, 100.0);
- if(CasaInfo[house][houseStatus] == 1) houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0) houseStatusName = "Destrancada";
- format(textlabel, sizeof textlabel, TEXT_SELLING_HOUSE, house, CasaInfo[house][housePrice]);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- }
- else
- {
- if(CasaInfo[house][houseRentable] == 1)
- {
- housePickupIn[house] = CreateDynamicPickup(1272, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- if(CasaInfo[house][houseStatus] == 1) houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0) houseStatusName = "Destrancada";
- format(textlabel, sizeof textlabel, TEXT_RENT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], CasaInfo[house][houseTenant], CasaInfo[house][houseRentPrice], houseStatusName, house);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- return 1;
- }
- else
- {
- housePickupIn[house] = CreateDynamicPickup(1272, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- if(CasaInfo[house][houseStatus] == 1) houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0) houseStatusName = "Destrancada";
- if(CasaInfo[house][houseRentable] == 1) houseRentName = "Ativado";
- else if(CasaInfo[house][houseRentable] == 0) houseRentName = "Desativado";
- format(textlabel, sizeof textlabel, TEXT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], houseRentName, houseStatusName, house);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- return 1;
- }
- }
- new logString[128];
- format(logString, sizeof logString, "-------- A CASA DE ID %d FOI CRIADA COM SUCESSO! --------", house);
- WriteLog(LOG_SYSTEM, logString);
- return 1;
- }
- forward SaveHouses();
- public SaveHouses()
- {
- new file[200];
- for(new house = 1; house < MAX_CASAS; house++)
- {
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- if(DOF2_FileExists(file))
- {
- DOF2_SetInt(file, "ID", house, "Informações");
- DOF2_SetInt(file, "Preço", CasaInfo[house][housePrice], "Informações");
- DOF2_SetString(file, "Dono", CasaInfo[house][houseOwner], "Informações");
- DOF2_SetString(file, "Título", CasaInfo[house][houseTitle], "Informações");
- DOF2_SetInt(file, "Status", CasaInfo[house][houseStatus], "Informações");
- DOF2_SetString(file, "Locador", CasaInfo[house][houseTenant], "Aluguel");
- DOF2_SetInt(file, "Aluguel Ativado", CasaInfo[house][houseRentable], "Aluguel");
- DOF2_SetInt(file, "Preço do Aluguel", CasaInfo[house][houseRentPrice], "Aluguel");
- DOF2_SetInt(file, "Interior", CasaInfo[house][houseInterior], "Coordenadas");
- DOF2_SetFloat(file, "Exterior X", CasaInfo[house][houseX], "Coordenadas");
- DOF2_SetFloat(file, "Exterior Y", CasaInfo[house][houseY], "Coordenadas");
- DOF2_SetFloat(file, "Exterior Z", CasaInfo[house][houseZ], "Coordenadas");
- DOF2_SetFloat(file, "Interior X", CasaInfo[house][houseIntX], "Coordenadas");
- DOF2_SetFloat(file, "Interior Y", CasaInfo[house][houseIntY], "Coordenadas");
- DOF2_SetFloat(file, "Interior Z", CasaInfo[house][houseIntZ], "Coordenadas");
- DOF2_SetFloat(file, "Interior Facing Angle", CasaInfo[house][houseIntFA], "Coordenadas");
- DOF2_SetInt(file, "Virtual World", CasaInfo[house][houseVirtualWorld], "Coordenadas");
- DOF2_SaveFile();
- return 1;
- }
- }
- return 1;
- }
- forward SaveHouse(house);
- public SaveHouse(house)
- {
- new file[200];
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- if(DOF2_FileExists(file))
- {
- DOF2_SetInt(file, "ID", house, "Informações");
- DOF2_SetInt(file, "Preço", CasaInfo[house][housePrice], "Informações");
- DOF2_SetString(file, "Dono", CasaInfo[house][houseOwner], "Informações");
- DOF2_SetString(file, "Título", CasaInfo[house][houseTitle], "Informações");
- DOF2_SetInt(file, "Status", CasaInfo[house][houseStatus], "Informações");
- DOF2_SetString(file, "Locador", CasaInfo[house][houseTenant], "Aluguel");
- DOF2_SetInt(file, "Aluguel Ativado", CasaInfo[house][houseRentable], "Aluguel");
- DOF2_SetInt(file, "Preço do Aluguel", CasaInfo[house][houseRentPrice], "Aluguel");
- DOF2_SetInt(file, "Interior", CasaInfo[house][houseInterior], "Coordenadas");
- DOF2_SetFloat(file, "Exterior X", CasaInfo[house][houseX], "Coordenadas");
- DOF2_SetFloat(file, "Exterior Y", CasaInfo[house][houseY], "Coordenadas");
- DOF2_SetFloat(file, "Exterior Z", CasaInfo[house][houseZ], "Coordenadas");
- DOF2_SetFloat(file, "Interior X", CasaInfo[house][houseIntX], "Coordenadas");
- DOF2_SetFloat(file, "Interior Y", CasaInfo[house][houseIntY], "Coordenadas");
- DOF2_SetFloat(file, "Interior Z", CasaInfo[house][houseIntZ], "Coordenadas");
- DOF2_SetFloat(file, "Interior Facing Angle", CasaInfo[house][houseIntFA], "Coordenadas");
- DOF2_SetInt(file, "Virtual World", CasaInfo[house][houseVirtualWorld], "Coordenadas");
- DOF2_SaveFile();
- return 1;
- }
- return 1;
- }
- GetProxHouse(playerid)
- {
- for(new i = 1; i < MAX_CASAS; i++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 2, CasaInfo[i][houseX], CasaInfo[i][houseY], CasaInfo[i][houseZ]))
- {
- return i;
- }
- else if(IsPlayerInRangeOfPoint(playerid, 2, CasaInfo[i][houseIntX], CasaInfo[i][houseIntY], CasaInfo[i][houseIntZ]))
- {
- return i;
- }
- }
- return -255;
- }
- CriarTodasAsCasas()
- {
- new
- housesCreated,
- file[200],
- houseStatusName[20],
- textlabel[250],
- houseRentName[20],
- logString[700];
- for(new house = 1; house < MAX_CASAS; house++)
- {
- format(file, sizeof file, "Casas/Casas/Casa %d.ini", house);
- if(DOF2_FileExists(file))
- {
- CasaInfo[house][housePrice] = DOF2_GetInt(file, "Preço", "Informações");
- CasaInfo[house][houseStatus] = DOF2_GetInt(file, "Status", "Informações");
- format(CasaInfo[house][houseOwner], 24, DOF2_GetString(file, "Dono", "Informações"));
- format(CasaInfo[house][houseTitle], 32, DOF2_GetString(file, "Título", "Informações"));
- CasaInfo[house][houseRentable] = DOF2_GetInt(file, "Aluguel Ativado", "Aluguel");
- CasaInfo[house][houseRentPrice] = DOF2_GetInt(file, "Preço do Aluguel", "Aluguel");
- format(CasaInfo[house][houseTenant], 24, DOF2_GetString(file, "Locador", "Aluguel"));
- CasaInfo[house][houseX] = DOF2_GetFloat(file, "Exterior X", "Coordenadas");
- CasaInfo[house][houseY] = DOF2_GetFloat(file, "Exterior Y", "Coordenadas");
- CasaInfo[house][houseZ] = DOF2_GetFloat(file, "Exterior Z", "Coordenadas");
- CasaInfo[house][houseIntX] = DOF2_GetFloat(file, "Interior X", "Coordenadas");
- CasaInfo[house][houseIntY] = DOF2_GetFloat(file, "Interior Y", "Coordenadas");
- CasaInfo[house][houseIntZ] = DOF2_GetFloat(file, "Interior Z", "Coordenadas");
- CasaInfo[house][houseVirtualWorld] = DOF2_GetInt(file, "Virtual World", "Coordenadas");
- CasaInfo[house][houseInterior] = DOF2_GetInt(file, "Interior", "Coordenadas");
- if(CasaInfo[house][houseStatus] == 1)
- houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0)
- houseStatusName = "Destrancada";
- if(CasaInfo[house][houseRentable] == 1)
- houseRentName = "Ativado";
- else if(CasaInfo[house][houseRentable] == 0)
- houseRentName = "Desativado";
- housesCreated++;
- format(logString, sizeof logString, "-------- A CASA DE ID %d FOI CRIADA COM SUCESSO! --------", house);
- WriteLog(LOG_SYSTEM, logString);
- if(!strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- housePickupIn[house] = CreateDynamicPickup(1273, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 31, -1, -1, 0, -1, 100.0);
- format(textlabel, sizeof textlabel, TEXT_SELLING_HOUSE, house, CasaInfo[house][housePrice]);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- }
- else
- {
- if(CasaInfo[house][houseRentable] == 1)
- {
- housePickupIn[house] = CreateDynamicPickup(1272, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- format(textlabel, sizeof textlabel, TEXT_RENT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], CasaInfo[house][houseTenant], CasaInfo[house][houseRentPrice], houseStatusName, house);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- }
- else
- {
- housePickupIn[house] = CreateDynamicPickup(1272, 1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- housePickupOut[house] = CreateDynamicPickup(1318, 1, CasaInfo[house][houseIntX], CasaInfo[house][houseIntY], CasaInfo[house][houseIntZ]);
- houseMapIcon[house] = CreateDynamicMapIcon(CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 32, -1, -1, 0, -1, 100.0);
- format(textlabel, sizeof textlabel, TEXT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], houseRentName, houseStatusName, house);
- houseLabel[house] = CreateDynamic3DTextLabel(textlabel, -1, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ], 20.0);
- }
- }
- }
- }
- if(housesCreated == 0)
- {
- print("Não foi detectado nenhuma casa criada");
- }
- else
- {
- printf("Foram criadas %d casas", housesCreated);
- }
- return 1;
- }
- IsNumeric(const string[])
- {
- for (new i = 0, j = strlen(string); i < j; i++)
- {
- if (string[i] > '9' || string[i] < '0') return 0;
- }
- return 1;
- }
- Update3DText(house)
- {
- new houseRentName[20], textlabel[200], houseStatusName[20];
- if(!strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- if(CasaInfo[house][houseStatus] == 1)
- houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0)
- houseStatusName = "Destrancada";
- format(textlabel, sizeof textlabel, TEXT_SELLING_HOUSE, house, CasaInfo[house][housePrice]);
- UpdateDynamic3DTextLabelText(houseLabel[house], -1, textlabel);
- return 1;
- }
- else if(strcmp(CasaInfo[house][houseOwner], "Ninguem", true))
- {
- if(CasaInfo[house][houseRentable] == 1)
- {
- if(CasaInfo[house][houseStatus] == 1)
- houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0)
- houseStatusName = "Destrancada";
- format(textlabel, sizeof textlabel, TEXT_RENT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], CasaInfo[house][houseTenant], CasaInfo[house][houseRentPrice], houseStatusName, house);
- UpdateDynamic3DTextLabelText(houseLabel[house], -1, textlabel);
- return 1;
- }
- else
- {
- if(CasaInfo[house][houseStatus] == 1)
- houseStatusName = "Trancada";
- else if(CasaInfo[house][houseStatus] == 0)
- houseStatusName = "Destrancada";
- if(CasaInfo[house][houseRentable] == 1)
- houseRentName = "Ativado";
- else if(CasaInfo[house][houseRentable] == 0)
- houseRentName = "Desativado";
- format(textlabel, sizeof textlabel, TEXT_HOUSE, CasaInfo[house][houseTitle], CasaInfo[house][houseOwner], houseRentName, houseStatusName, house);
- UpdateDynamic3DTextLabelText(houseLabel[house], -1, textlabel);
- return 1;
- }
- }
- return 1;
- }
- GetTenantID(house)
- {
- new tenantID;
- for(new s = GetMaxPlayers(), i; i < s; i++)
- {
- if(!strcmp(Nome(i), CasaInfo[house][houseTenant], true))
- {
- if (IsPlayerConnected(i))
- {
- tenantID = i;
- break;
- } else {
- tenantID = -255;
- }
- }
- }
- return tenantID;
- }
- // vips
- stock CriarKey(playerid, Key[], Leveis)
- {
- new stringV[70];
- format(stringV, sizeof stringV, VIP_KEYS, Key);
- if(DOF2_FileExists(stringV)) return Msg(playerid, VERMELHO, "ERRO: Key ja existente.");
- if(Leveis <= 0) return Msg(playerid, VERMELHO, "ERRO: Não pode ser criada uma Key com 0 leveis.");
- DOF2_CreateFile(stringV);
- DOF2_SetInt(stringV, "LEVEIS", Leveis);
- DOF2_SaveFile();
- Msg(playerid, LARANJA, "KEY: Nova Key VIP criada.");
- format(String, sizeof String, "KEY: [%s] -- LEVEIS: [%d]", Key, Leveis);
- Msg(playerid, LARANJA, String);
- return 1;
- }
- stock SetarVip(playerid, Leveis)
- {
- new stringV[60];
- if(PlayerInfo[playerid][pVip] > 0)
- {
- format(stringV, sizeof stringV, "LV VIP: Seu VIP foi renovado. + %d leveis.", Leveis);
- PlayerInfo[playerid][TempoVip] += Leveis;
- } else {
- format(stringV, sizeof stringV, "LV VIP: Seu VIP foi ativado. %d leveis. /ComandosVip", Leveis);
- PlayerInfo[playerid][TempoVip] = Leveis;
- }
- Msg(playerid, COR_VIP, stringV);
- PlayerInfo[playerid][pVip] = 1;
- return 1;
- }
- // vips
- CMD:ativarvip(playerid)
- {
- ShowPlayerDialog(playerid, DIALOG_ATIVAR_KEY, DIALOG_STYLE_INPUT, "LIFE VIRTUAL RPG - VIP", "\nNos informe sua key para ativar seu beneficio VIP:\n\n", "Ativar", "Sair");
- return 1;
- }
- CMD:staff(playerid, params[])
- {
- new Ajuda[1500];
- if((PlayerInfo[playerid][pAdmin] == 0) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- if(PlayerInfo[playerid][pHelper] == 1)//HELPER
- {
- strcat(Ajuda,"{FFFFFF}Helper\n{FFEA03}/Hc - /Ir - /Trazer - /Particular - /DarTerrestre\n/DarAera - /DarNautica - /Afk - /SairAfk - /Responder\n\n");
- }
- if(PlayerInfo[playerid][pAdmin] > 0)//NIVEL 1
- {
- strcat(Ajuda, "{FFFFFF}Nivel 1\n{4CFA1B}/Ir - /Trazer - /Verip - /Avisar - /Destrancarcarros - /DarTerrestre - /DarAera - /DarNautica\n/Kickar - /Tapa - /Assistir - /pAssistir - /Particular - /Afk - /SairAfk - /LimparChat\n/Banir - /Desbanir - /BanirIP - /DesbanirIP - /Ac\n\n");
- }
- if(PlayerInfo[playerid][pAdmin] > 1)//NIVEL 2
- {
- strcat(Ajuda, "{FFFFFF}Nivel 2\n{0C9E05}/Advertir - /Ir - /Trazer - /Congelar - /Descongelar - /Dararma - /Desarmar\n/CV - /Respawn - /DestruirCarro - /SetarVida - /SetarColete - /Jetpack - /TrazerTodos - /MoverPlayer - /PosPlayer\n/Blindar - /Desblindar\n\n");
- }
- if(PlayerInfo[playerid][pAdmin] > 2)//NIVEL 3
- {
- strcat(Ajuda, "{FFFFFF}Nivel 3\n{11CFCF}/SetarSkin - /Clima - /GodMode - /Ejetar - /Falar - /Crash - /SetarPos - /VerPos\n/Barril - /dBarris - /Tempo - /Enquete - /Disfarce - /SairDisfarce - /KickSecreto - /BanSecreto\n\n");
- }
- if(PlayerInfo[playerid][pAdmin] > 3)//NIVEL 4
- {
- strcat(Ajuda, "{FFFFFF}Nivel 4\n{1170CF}/KickarTodos - /DesarmarTodos - /GMX - /Invisivel - /Visivel - /CongelarTodos\n/DescongelarTodos - /MatarTodos - /DarVip - /TirarVip - /SetGasolina - /SetProf\nSetLevel - /DarLevel\n\n");
- }
- if(PlayerInfo[playerid][pAdmin] > 4)//NIVEL 5
- {
- strcat(Ajuda, "{FFFFFF}Nivel 5\n{FA0505}/DarAdmin - /SetarGravidade - /DarHelper - /TirarHelper - /DarGalao\n/TrancarServer - /DestrancarServer - /CriarCasa - /IrCasa\n\n");
- }
- ShowPlayerDialog(playerid, DIALOG_STAFF, DIALOG_STYLE_MSGBOX, "LV ADMIN - Ajuda", Ajuda, "Fechar", "");
- return 1;
- }
- // Comandos Helper
- CMD:hc(playerid, params[])
- {
- if(PlayerInfo[playerid][pHelper] == 0) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser helper para usar esse comando.");
- new Texto[128];
- if(sscanf(params, "s", Texto)) return MensagemDupla(playerid, "Use /hc [Texto]", "Use o comando para usar o chat particular de helper.");
- format(String, sizeof(String), "{FFA500}(CHAT-HELPER) %s(%d) diz: %s", Nome(playerid), playerid, Texto);
- ChatHelper(-1, String, 1);
- return 1;
- }
- CMD:responder(playerid, params[])
- {
- if(PlayerInfo[playerid][pHelper] == 0) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser helper para usar esse comando.");
- new texto[128];
- if(sscanf(params, "us", ID, texto)) return MensagemDupla(playerid, "LV HELPER: Use /responder [playerid] [resposta]", "Use o comando para responder uma /duvida.");
- if(strcmp(Pergunta[ID], "Nenhuma", true) == 0) return Msg(playerid, CINZA, "O jogador não fez nenhuma pergunta.");
- format(String, sizeof String, "LV HELPER: Resposta do Helper %s da sua pergunta: %s", Nome(playerid), Pergunta[ID]);
- Msg(ID, AMARELO, String);
- format(String, sizeof String, "%s", texto);
- Msg(ID, AMARELO, String);
- format(String, sizeof(String), "Resposta enviada com sucesso para %s [ID: %d]", Nome(ID), ID);
- Msg(playerid, VERDE_CLARO, String);
- Pergunta[ID] = "Nenhuma";
- return 1;
- }
- CMD:daraerea(playerid, params[])
- {
- new EXP;
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- if(sscanf(params, "ui", ID, EXP)) return Msg(playerid, CINZA, "LV ADMIN: Use /daraerea [ID] [EXP]"), Msg(playerid, CINZA, "Use o comando para dar habilitação aerea a um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deu habilitação aerea com EXP de %d.", Nome(playerid), EXP);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- PlayerInfo[playerid][HabAerea] = EXP;
- return 1;
- }
- CMD:darnautica(playerid, params[])
- {
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /darnautica [ID]"), Msg(playerid, CINZA, "Use o comando para dar habilitação nautica a um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deu habilitação nautica.", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- PlayerInfo[playerid][HabNautica] = 1;
- return 1;
- }
- CMD:darterrestre(playerid, params[])
- {
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /darterrestre [ID]"), Msg(playerid, CINZA, "Use o comando para dar habilitação terrestre a um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deu habilitação terrestre.", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- PlayerInfo[playerid][HabTerrestre] = 1;
- return 1;
- }
- CMD:afk(playerid)
- {
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- TogglePlayerSpectating(playerid, true);
- GetPlayerHealth(playerid, VidaAFK);
- SetPlayerHealth(playerid, 99999);
- TogglePlayerControllable(playerid, false);
- PlayerInfo[playerid][pAfk] = 1;
- if(PlayerInfo[playerid][pHelper] == 1)
- {
- format(String, sizeof(String), "LV HELPER: O Helper {1B95E0}%s{00C2EC} Está AFK. Veja em /helpers", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- }
- if(PlayerInfo[playerid][pAdmin] > 0)
- {
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Está AFK. Veja em /admins", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- }
- Msg(playerid, CINZA, "Use /sairafk para sair do Afk.");
- return 1;
- }
- CMD:sairafk(playerid)
- {
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- TogglePlayerSpectating(playerid, false);
- SetPlayerHealth(playerid, VidaAFK);
- TogglePlayerControllable(playerid, true);
- PlayerInfo[playerid][pAfk] = 0;
- if(PlayerInfo[playerid][pHelper] == 1)
- {
- format(String, sizeof(String), "LV HELPER: O Helper {1B95E0}%s{00C2EC}não está mais AFK. Veja em /helpers", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- }
- if(PlayerInfo[playerid][pAdmin] > 0)
- {
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC}não está mais AFK. Veja em /admins", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- }
- return 1;
- }
- CMD:particular(playerid, params[])
- {
- if((PlayerInfo[playerid][pAdmin] < 1) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin ou helper para usar este comando!");
- new t[128];
- if(sscanf(params, "us", ID, t)) return MensagemDupla(playerid, "LV ADMIN: Use /particular [ID] [texto]", "Use o comando para mandar uma mensagem particular para um jogador.");
- format(String, sizeof(String), "LV: Particular de {E0D01B}%s{FFFF00}: %s", Nome(playerid), t);
- Msg(ID, AMARELO, String);
- format(String, sizeof(String), "Particular enviada com sucesso para %s", Nome(ID));
- Msg(playerid, AMARELO, String);
- return 1;
- }
- CMD:ir(playerid, params[])
- {
- if((PlayerInfo[playerid][pAdmin] < 2) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin nivel 2 ou helper para usar este comando!");
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /ir [ID]"), Msg(playerid, CINZA, "Use o comando para ir até um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new Float:Pos[3];
- GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
- if(IsPlayerInAnyVehicle(playerid))
- {
- new carroid = GetPlayerVehicleID(playerid);
- SetVehiclePos(carroid, Pos[0], Pos[1], Pos[2]);
- format(String, sizeof(String), "LV ADMIN: O Admin %s veio até você!", Nome(playerid));
- if(PlayerInfo[playerid][pHelper])
- {
- format(String, sizeof(String), "LV HELPER: O Helper %s veio até você!", Nome(playerid));
- }
- Msg(ID, AZUL_CLARO, String);
- format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- SetPlayerPos(playerid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
- format(String, sizeof(String), "LV ADMIN: O Admin %s veio até você!", Nome(playerid));
- if(PlayerInfo[playerid][pHelper])
- {
- format(String, sizeof(String), "LV HELPER: O Helper %s veio até você!", Nome(playerid));
- }
- Msg(ID, AZUL_CLARO, String);
- format(String, sizeof(String), "Você foi até o Jogador %s [ID: %d]", Nome(ID), ID);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- CMD:trazer(playerid, params[])
- {
- if((PlayerInfo[playerid][pAdmin] < 2) && (PlayerInfo[playerid][pHelper] == 0)) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você precisa ser admin nivel 2 ou helper para usar este comando!");
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /trazer [ID]"), Msg(playerid, CINZA, "Use o comando para trazer um jogador até você");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new Float:Pos[3];
- GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
- if(IsPlayerInAnyVehicle(ID))
- {
- new carroid = GetPlayerVehicleID(ID);
- SetVehiclePos(carroid, Pos[0]+2, Pos[1]+2, Pos[2]+2);
- format(String, sizeof(String), "LV ADMIN: O Admin %s trouxe você até ele!", Nome(playerid));
- if(PlayerInfo[playerid][pHelper])
- {
- format(String, sizeof(String), "LV HELPER: O Helper %s trouxe você até ele!", Nome(playerid));
- }
- Msg(ID, AZUL_CLARO, String);
- format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- SetPlayerPos(ID, Pos[0]+2, Pos[1]+2, Pos[2]+2);
- format(String, sizeof(String), "LV ADMIN: O Admin %s trouxe você até ele!", Nome(playerid));
- if(PlayerInfo[playerid][pHelper])
- {
- format(String, sizeof(String), "LV HELPER: O Helper %s trouxe você até ele!", Nome(playerid));
- }
- Msg(ID, AZUL_CLARO, String);
- format(String, sizeof(String), "Você trouxe o jogador %s [ID: %d] até você", Nome(ID), ID);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- // ========================================================================================================
- // Comandos admin nivel 1
- CMD:pref(playerid)
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- SetPlayerInterior(playerid, 0);
- SetPlayerPos(playerid,2005.4229,1545.0281,13.5859);
- return 1;
- }
- CMD:ac(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- new Texto[128];
- if(sscanf(params, "s", Texto)) return MensagemDupla(playerid, "Use /ac [Texto]", "Use o comando para usar o chat particular de admin.");
- format(String, sizeof(String), "(CHAT-ADMIN) %s(%d) diz: %s", Nome(playerid), playerid, Texto);
- ChatAdmin(LARANJA, String, 1);
- WriteLog(LOG_CHAT, String);
- return 1;
- }
- CMD:banir(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- new Motivo[64], string[200];
- if(sscanf(params, "us", ID, Motivo)) return Msg(playerid, CINZA, "LV ADMIN: Use /banir [ID] [Motivo]");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new dia, mes, ano, hora, minutos, segundos;
- if(strlen(Motivo) > 64) return 0;
- getdate(dia, mes, ano);
- gettime(hora, minutos, segundos);
- format(String, 32, "%02d/%02d/%d - %02d:%02d:%02d", dia, mes, ano, hora, minutos, segundos);
- format(string, sizeof(string), BANIDOS, Nome(ID));
- DOF2_CreateFile(string);
- DOF2_SetString(string, "Admin", Nome(playerid));
- DOF2_SetString(string, "Motivo", Motivo);
- DOF2_SetString(string, "DataeHora", String);
- DOF2_SetString(string, "IP", IP(playerid));
- DOF2_SaveFile();
- format(String, sizeof String, "LV ADMIN: O Admin %s baniu o jogador %s, Motivo: (%s)", Nome(playerid), Nome(ID), Motivo);
- MsgAll(VERMELHO, String);
- WriteLog(LOG_BAN, String);
- SetTimerEx("Kickar", 100, false, "i", ID);
- return 1;
- }
- CMD:desbanir(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(sscanf(params, "s", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /desbanir [Nick]");
- new string[40];
- format(string, sizeof(string), BANIDOS, Nome(ID));
- if(!DOF2_FileExists(string)) return Msg(playerid, VERMELHO, "ERRO: Essa conta não esta banida.");
- DOF2_RemoveFile(string);
- format(String, sizeof(String), "LV ADMIN: Você desbaniu a conta {1B95E0}%s{00C2EC} com sucesso!", Nome(ID));
- Msg(playerid, VERMELHO, String);
- new Log[50];
- format(Log, sizeof(Log), "LV ADMIN: %s desbaniu a conta de %s!", Nome(playerid), Nome(ID));
- WriteLog(LOG_DESBAN, Log);
- return 1;
- }
- CMD:banirip(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- new Motivo[64], string[100];
- if(sscanf(params, "is", ID, Motivo)) return Msg(playerid, CINZA, "LV ADMIN: Use /banirip [IP] [Motivo]");
- new dia, mes, ano, hora, minutos, segundos;
- if(strlen(Motivo) > 64) return 0;
- getdate(dia, mes, ano);
- gettime(hora, minutos, segundos);
- format(String, 32, "%02d/%02d/%d - %02d:%02d:%02d", dia, mes, ano, hora, minutos, segundos);
- format(string, sizeof(string), IPSBANIDOS, ID);
- DOF2_CreateFile(string);
- DOF2_SetString(string, "Admin", Nome(playerid));
- DOF2_SetString(string, "Motivo", Motivo);
- DOF2_SetString(string, "DataeHora", String);
- DOF2_SetInt(string, "IP", ID);
- DOF2_SaveFile();
- format(String, sizeof String, "LV ADMIN: O Admin %s baniu o IP %d, Motivo: (%s)", Nome(playerid), ID, Motivo);
- MsgAll(VERMELHO, String);
- WriteLog(LOG_BAN, String);
- return 1;
- }
- CMD:desbanirip(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(sscanf(params, "i", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /desbanirip [IP]");
- new string[40];
- format(string, sizeof(string), IPSBANIDOS, ID);
- if(!DOF2_FileExists(string)) return Msg(playerid, VERMELHO, "ERRO: Esse IP não esta banido.");
- DOF2_RemoveFile(string);
- format(String, sizeof(String), "LV ADMIN: Você desbaniu o IP {1B95E0}%d{00C2EC} com sucesso!", ID);
- Msg(playerid, VERMELHO, String);
- new Log[50];
- format(Log, sizeof(Log), "LV ADMIN: %s desbaniu o IP %s!", Nome(playerid), ID);
- WriteLog(LOG_DESBAN, Log);
- return 1;
- }
- CMD:limparchat(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- for(new t = 0; t < 100; ++t)
- {
- MsgAll(-1, " ");
- }
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} limpou o chat.", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:verip(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /verip [ID]");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "O IP de %s é:", Nome(ID));
- Msg(playerid, AZUL_CLARO, String);
- format(String, sizeof(String), "%s", IP(ID));
- Msg(playerid, LARANJA, String);
- return 1;
- }
- CMD:avisar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- new Texto[128];
- if(sscanf(params, "s", Texto)) return Msg(playerid, CINZA, "LV ADMIN: Use /avisar [texto]"), Msg(playerid, CINZA, "Use o comando para mandar um aviso aos jogadores");
- MsgAll(-1, "");
- MsgAll(-1, "");
- MsgAll(AZUL, "________________________AVISO DA ADMINISTRAÇÃO________________________");
- format(String, sizeof(String), "Admin %s [nivel %d]: %s", Nome(playerid), PlayerInfo[playerid][pAdmin], Texto);
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:destrancarcarros(playerid)
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- for(new c = 0; c < MAX_VEHICLES; c++)
- {
- SetVehicleParamsEx(c, 0, 0, 0, 0, 0, 0, 0);
- }
- Msg(playerid, LARANJA, "LV ADMIN: Todos os veiculos foram destrancados!");
- return 1;
- }
- CMD:kickar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- new Razao[128];
- if(sscanf(params, "us", ID, Razao)) return Msg(playerid, CINZA, "LV ADMIN: Use /kickar [ID] [Razão]"), Msg(playerid, CINZA, "Use o comando para kickar um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pAdmin] > PlayerInfo[playerid][pAdmin]) return Msg(playerid, VERMELHO, "ERRO: Você não pode fazer nada contra um admin superior a você!");
- format(String, sizeof(String), "LV ADMIN: O Admin %s Kickou o Jogador %s[ID: %d] pelo motivo: %s", Nome(playerid), Nome(ID), ID, Razao);
- MsgAll(VERMELHO, String);
- WriteLog(LOG_KICK, String);
- SetTimerEx("Kickar", 100, false, "i", ID);
- return 1;
- }
- CMD:tapa(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /tapa [ID]"), Msg(playerid, CINZA, "Use o comando para dar um tapa em um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pAdmin] > PlayerInfo[playerid][pAdmin]) return Msg(playerid, VERMELHO, "ERRO: Você não pode fazer nada contra um admin superior a você!");
- new Float:Pos[3];
- GetPlayerPos(ID, Pos[0], Pos[1], Pos[2]);
- SetPlayerPos(ID, Pos[0], Pos[1], Pos[2]+20);
- format(String, sizeof(String), "LV ADMIN: O Admin %s Deu um tapa em %s", Nome(playerid), Nome(ID));
- MsgAll(VERMELHO, String);
- return 1;
- }
- CMD:assistir(playerid, params[])
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /assistir [ID]"), Msg(playerid, CINZA, "Use o comando para assistir os movimentos de um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- TogglePlayerSpectating(playerid, 1);
- PlayerSpectatePlayer(playerid, ID);
- PlayerInfo[playerid][pAssistindo] = 1;
- Msg(playerid, LARANJA, "LV ADMIN: Para parar de assistir use /passistir");
- return 1;
- }
- CMD:passistir(playerid)
- {
- if(!NivelRequerido(playerid, 1)) return 1;
- if(PlayerInfo[playerid][pAssistindo] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não está assistindo ninguem!");
- TogglePlayerSpectating(playerid, 0);
- Msg(playerid, LARANJA, "LV ADMIN: Você parou de assistir o jogador!");
- PlayerInfo[playerid][pAssistindo] = 0;
- return 1;
- }
- // ========================================================================================================
- // Comandos admin nivel 2
- CMD:blindar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /blindar [playerid]", "Use o comando para deixar o carro de um jogador em god mode.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(!IsPlayerInAnyVehicle(ID)) return Msg(playerid, VERMELHO, "ERRO: O jogador não está em um veículo.");
- SetVehicleHealth(GetPlayerVehicleID(ID), 999999);
- format(String, sizeof(String), "LV ADMIN: O admin {1B95E0}%s{00C2EC} deixou deixou seu carro em God Mode.", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:desblindar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /desblindar [playerid]", "Use o comando para tirar o carro de um player do God mode.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(!IsPlayerInAnyVehicle(ID)) return Msg(playerid, VERMELHO, "ERRO: O jogador não está em um veículo.");
- SetVehicleHealth(GetPlayerVehicleID(ID), 100);
- format(String, sizeof(String), "O admin {1B95E0}%s{00C2EC} tirou seu carro do God Mode.", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:moverplayer(playerid, params[])
- {
- new id2;
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "uu", ID, id2)) return MensagemDupla(playerid, "LV ADMIN: Use /moverplayer [ID] [ID2]", "Use o comando para mover um player até outro.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(id2, X, Y, Z);
- SetPlayerPos(ID, X, Y, Z);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te moveu ate o jogador %s.", Nome(playerid), Nome(id2));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:trazertodos(playerid)
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(playerid, X, Y, Z);
- for(new i = 0; i < MAX_PLAYERS; ++i)
- {
- if(IsPlayerConnected(i))
- {
- SetPlayerPos(i, X+1, Y+1, Z);
- }
- }
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} puxou todos os jogadores até ele.", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:jetpack(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /jetpack [ID]", "Use o comando para dar um jetpakc a agum jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- SetPlayerSpecialAction(ID, 2);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deu um JetPack ", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:explodir(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /explodir [ID]", "Use o comando para explodir um jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new Float:X, Float:Y, Float:Z;
- GetPlayerPos(ID, X, Y, Z);
- CreateExplosion(X, Y, Z, 1, 5);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} explodiu o jogador %s", Nome(playerid), Nome(ID));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:tempo(playerid, params[])
- {
- new t[10];
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "s", t)) return MensagemDupla(playerid, "LV ADMIN: Use /tempo [Manha/Tarde/Noite]", "Use o comando para alterar o tempo do servidor");
- if(strcmp(t, "manha", true) == 0)
- {
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} mudou o tempo para manha", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; ++i)
- {
- SetPlayerTime(i, 9, 0);
- }
- SetWorldTime(9);
- return 1;
- }
- if(strcmp(t, "tarde", true) == 0)
- {
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} mudou o tempo para tarde", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; ++i)
- {
- SetPlayerTime(i, 14, 0);
- }
- SetWorldTime(14);
- return 1;
- }
- if(strcmp(t, "noite", true) == 0)
- {
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} mudou o tempo para noite", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; ++i)
- {
- SetPlayerTime(i, 0, 0);
- }
- SetWorldTime(0);
- return 1;
- }
- Msg(playerid, CINZA, "LV ADMIN: Use /tempo [Manha/Tarde/Noite]");
- return 1;
- }
- CMD:dargrana(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new q;
- if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "LV ADMIN: Use /dargrana [ID] [quantidade]", "Use o comando para dar algum dinheiro a algum jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deu %d reais", Nome(playerid), q);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- GivePlayerCash(ID, q);
- new Log[90];
- format(Log, sizeof(Log), "LV ADMIN: O Admin %s deu %d reais para %s.", Nome(playerid), q, Nome(ID));
- WriteLog(LOG_GRANA, Log);
- return 1;
- }
- CMD:congelar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Razao[128];
- if(sscanf(params, "us", ID, Razao)) return Msg(playerid, CINZA, "LV ADMIN: Use /congelar [ID] [Motivo]"), Msg(playerid, CINZA, "Use o comando para impedir um jogador de se mover");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pAdmin] > PlayerInfo[playerid][pAdmin]) return Msg(playerid, VERMELHO, "ERRO: Você não pode fazer nada contra um admin superior a você!");
- TogglePlayerControllable(ID, false);
- PlayerInfo[playerid][pCongelado] = 1;
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} te Congelou Pelo Motivo: %s", Nome(playerid), Nome(ID), ID, Razao);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "Para descongelar use /descongelar");
- return 1;
- }
- CMD:descongelar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /descongelar [ID]"), Msg(playerid, CINZA, "Use o comando para permitir ao jogador se movimentar");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pCongelado] == 0) return Msg(playerid, VERMELHO, "ERRO: O Jogados não está congelado!");
- TogglePlayerControllable(ID, true);
- PlayerInfo[ID][pCongelado] = 0;
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} te descongelou ", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:dararma(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Arma, Municao, NomeArma[80];
- if(sscanf(params, "uii", ID, Arma, Municao)) return Msg(playerid, CINZA, "LV ADMIN: Use /dararma [ID] [Arma] [Munição]"), Msg(playerid, CINZA, "Use o comando para dar uma arma para um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(Arma < 1 || Arma == 19 || Arma == 20 || Arma == 21 || Arma > 46) return Msg(playerid, VERMELHO, "ERRO: ID Invalido, use de 1 a 46");
- if(Arma == 1) NomeArma = "Soco Inglês";
- if(Arma == 2) NomeArma = "Taco de Golf";
- if(Arma == 3) NomeArma = "Cacetete";
- if(Arma == 4) NomeArma = "Faca";
- if(Arma == 5) NomeArma = "Taco de Baseball";
- if(Arma == 6) NomeArma = "Pá";
- if(Arma == 7) NomeArma = "Taco de Sinuca";
- if(Arma == 8) NomeArma = "Kitana";
- if(Arma == 9) NomeArma = "Serra elétrica";
- if(Arma == 10) NomeArma = "Pinto de Borracha";
- if(Arma == 11) NomeArma = "Pinto roxo";
- if(Arma == 12) NomeArma = "Vibrador";
- if(Arma == 13) NomeArma = "Vibrador de Prata";
- if(Arma == 14) NomeArma = "Flor";
- if(Arma == 15) NomeArma = "Bengala";
- if(Arma == 16) NomeArma = "Granada";
- if(Arma == 17) NomeArma = "Bomba de gás";
- if(Arma == 18) NomeArma = "Molotov";
- if(Arma == 22) NomeArma = "Pistola 9mm";
- if(Arma == 23) NomeArma = "Pistola com silenciador";
- if(Arma == 24) NomeArma = "Desert Eagle";
- if(Arma == 25) NomeArma = "ShotGun";
- if(Arma == 26) NomeArma = "Sawnoff Shotgun";
- if(Arma == 27) NomeArma = "Combat Shotgun";
- if(Arma == 28) NomeArma = "Micro SMG";
- if(Arma == 29) NomeArma = "MP5";
- if(Arma == 30) NomeArma = "AK47";
- if(Arma == 31) NomeArma = "M4";
- if(Arma == 32) NomeArma = "Tec 9";
- if(Arma == 33) NomeArma = "Country Rifle";
- if(Arma == 34) NomeArma = "Sniper Rifle";
- if(Arma == 35) NomeArma = "Bazooca RPG";
- if(Arma == 36) NomeArma = "Bazooca Normal";
- if(Arma == 37) NomeArma = "Lança Chamas";
- if(Arma == 38) NomeArma = "Mini Gun";
- if(Arma == 39) NomeArma = "C4";
- if(Arma == 40) NomeArma = "Detonador";
- if(Arma == 41) NomeArma = "Spray";
- if(Arma == 42) NomeArma = "Extintor";
- if(Arma == 43) NomeArma = "Oculos de visão noturna";
- if(Arma == 45) NomeArma = "Oculos de visão de calor";
- if(Arma == 46) NomeArma = "Paraquedas";
- GivePlayerWeapon(ID, Arma, Municao);
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} te deu um(a) {1BA5E0}%s{00C2EC} Com {1BA5E0}%d{00C2EC} Balas ", Nome(playerid), NomeArma, Municao);
- Msg(ID, AZUL_CLARO, String);
- new Log[90];
- format(Log, sizeof(Log), "LV ADMIN: O Admin %s deu um(a) %s Com %d Balas para %s.", Nome(playerid), NomeArma, Municao, Nome(ID));
- WriteLog(LOG_ARMA, Log);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:desarmar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /desarmar [ID]"), Msg(playerid, CINZA, "Use o comando para desarmar um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pAdmin] > PlayerInfo[playerid][pAdmin]) return Msg(playerid, VERMELHO, "ERRO: Você não pode fazer nada contra um admin superior a você!");
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} te desarmou", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- ResetPlayerWeapons(ID);
- return 1;
- }
- CMD:cv(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Carro, Cor1, Cor2, engine, lights, alarm, doors, bonnet, boot, objective, idcarro;
- if(sscanf(params, "iii", Carro, Cor1, Cor2)) return Msg(playerid, CINZA, "LV ADMIN: Use /cv [ID] [cor1] [cor2]"), Msg(playerid, CINZA, "Use o comando para criar um veiculo, para fazer um respawn use /respawn");
- new Float:X, Float:Y, Float:X1, Float:Y1, Float:Z, Float:A;
- PosicaoFrentePlayer(playerid, X, Y, 3);
- GetPlayerPos(playerid, X1, Y1, Z);
- GetPlayerFacingAngle(playerid, A);
- idcarro = AddStaticVehicle(Carro, X, Y, Z, A+90, Cor1, Cor2);
- CarrosCriados[TodosCarros] = idcarro;
- GetVehicleParamsEx(idcarro, engine, lights, alarm, doors, bonnet, boot, objective);
- SetVehicleParamsEx(idcarro, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, objective);
- GasolinaVeiculo[idcarro] = 80;
- TodosCarros ++;
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:setgasolina(playerid, params[])
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- new Quantidade;
- if(sscanf(params, "ui", ID, Quantidade)) return Msg(playerid, CINZA, "LV ADMIN: Use /setgasolina [ID] [Quantidade]"), Msg(playerid, CINZA, "Use o comando para por gasolina em algum carro");
- if(!IsPlayerInAnyVehicle(ID)) return Msg(playerid, VERMELHO, "ERRO: Esse player não está em nenhum veículo!");
- if(Quantidade < 0 || Quantidade > 100) return Msg(playerid, VERMELHO, "ERRO: Valor Inválido! Use de 0 a 100");
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} setou a gasolina do seu carro para %d litros", Nome(playerid), Quantidade);
- Msg(ID, AZUL_CLARO, String);
- new vehicleid = GetPlayerVehicleID(ID);
- GasolinaVeiculo[vehicleid] = Quantidade;
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:respawn(playerid)
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- format(String, sizeof(String), "LV ADMIN: O Admin {1BA5E0}%s{00C2EC} deu Respawn nos veículos!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Todos os carros criados foram destruidos!");
- for(new i = 0; i < sizeof(CarrosCriados); i++)
- {
- DestroyVehicle(CarrosCriados[i]);
- }
- for(new c = 0; c < MAX_VEHICLES; c++)
- {
- SetVehicleToRespawn(c);
- }
- return 1;
- }
- CMD:idcarro(playerid)
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- if(!IsPlayerInAnyVehicle(playerid)) return Msg(playerid, VERMELHO, "ERRO: Você não está em um veículo!");
- new idc;
- idc = GetPlayerVehicleID(playerid);
- format(String, sizeof(String), "LV ADMIN: O ID do veículo é %d", idc);
- Msg(playerid, LARANJA, String);
- return 1;
- }
- CMD:setarvida(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Vida;
- if(sscanf(params, "ui", ID, Vida)) return Msg(playerid, CINZA, "LV ADMIN: Use /setarvida [ID] [VIDA]");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(Vida < 0 || Vida > 100) return Msg(playerid, VERMELHO, "ERRO: Valor Inválido! Use de 0 a 100");
- SetPlayerHealth(ID, Vida);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te setou vida de {1B95E0}%d{00C2EC}", Nome(playerid), Vida);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:setarcolete(playerid, params[])
- {
- if(!NivelRequerido(playerid, 2)) return 1;
- new Colete;
- if(sscanf(params, "ui", ID, Colete)) return Msg(playerid, CINZA, "LV ADMIN: Use /setarcolete [ID] [COLETE]");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(Colete < 0 || Colete > 100) return Msg(playerid, CINZA, "ERRO: Valor Inválido! Use de 0 a 100");
- SetPlayerArmour(ID, Colete);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te setou colete de {1B95E0}%d{00C2EC} ", Nome(playerid), Colete);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- // ========================================================================================================
- // Comandos admin nivel 3
- CMD:kicksecreto(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /kicksecreto [ID]"), Msg(playerid, CINZA, "Use o comando para kickar um jogador sem ninguem ficar sabendo.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][pAdmin] > PlayerInfo[playerid][pAdmin]) return Msg(playerid, VERMELHO, "Você não pode fazer nada contra um admin superior a você!");
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- Kick(ID);
- return 1;
- }
- CMD:resetargrana(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /resetargrana [ID]", "Use o comando para resetar o dinheiro de algum jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} resetou o seu dinheiro", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- ResetPlayerCash(ID);
- return 1;
- }
- CMD:setargrana(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new q;
- if(sscanf(params, "ui", ID, q)) return MensagemDupla(playerid, "LV ADMIN: Use /setargrana [ID] [Quantidade]", "Use o comando para setar o dinheiro de algum jogador para a quantia desejada");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} setou o seu dinheiro para %d", Nome(playerid), q);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- ResetPlayerCash(ID);
- GivePlayerCash(ID, q);
- return 1;
- }
- CMD:setarskin(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new Skin;
- if(sscanf(params, "ui", ID, Skin)) return Msg(playerid, CINZA, "LV ADMIN: Use /setarskin [ID] [Skin]"), Msg(playerid, CINZA, "Use o comando para mudar a skin de um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(Skin < 0 || Skin > 299) return Msg(playerid, VERMELHO, "ERRO: ID Inválido, use IDs de 0 a 299!");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} setou sua Skin para a ID n°%d", Nome(playerid), Skin);
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- PlayerInfo[playerid][pSkin] = Skin;
- SetPlayerSkin(ID, Skin);
- return 1;
- }
- CMD:clima(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new Clima;
- if(sscanf(params, "i", Clima)) return Msg(playerid, CINZA, "LV ADMIN: Use /clima [ID do clima]"), Msg(playerid, CINZA, "Use o comando para alterar o clima do servidor");
- if(Clima < 1 || Clima > 50) return Msg(playerid, VERMELHO, "LV ADMIN: ID Invalido, use IDs de 0 a 50, 250 ou 2009");
- SetWeather(Clima);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} mudou o Clima para o ID %d!", Nome(playerid), Clima);
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:godmode(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /godmode [ID]"), Msg(playerid, CINZA, "Use o comando para deixar um jogador imortal");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- SetPlayerHealth(ID, 999999);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te deixou em GodMode!", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:ejetar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /ejetar [ID]"), Msg(playerid, CINZA, "Use o comando para tirar um jogador de seu carro");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(!IsPlayerInAnyVehicle(ID)) return Msg(playerid, VERMELHO, "ERRO: O jogador não está em um veículo!");
- RemovePlayerFromVehicle(ID);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} te ejetou de seu carro!", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:falar(playerid, params[])
- {
- new Fala[128];
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "s", Fala)) return Msg(playerid, CINZA, "Use /falar [texto]"), Msg(playerid, CINZA, "Use o comando para falar usando a voz do google tradutor");
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- format(String, sizeof(String), "http://translate.google.com/translate_tts?tl=pt&q=%s", Fala);
- PlayAudioStreamForPlayer(i, String, 0, 0, 0, 0, 0);
- }
- format(String, sizeof(String), "LV ADMIN: Admin {1B95E0}%s{00C2EC} Falando!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:crash(playerid, params[])
- {
- new Motivo[100];
- if(!NivelRequerido(playerid, 3)) return 1;
- if(sscanf(params, "us", ID, Motivo)) return Msg(playerid, CINZA, "LV ADMIN: Use /crash [ID] [Motivo]"), Msg(playerid, CINZA, "Use o comando para crashar um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Crashou {1B95E0}%s{00C2EC} pelo motivo: {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID), Motivo);
- MsgAll(AZUL_CLARO, String);
- GameTextForPlayer(ID, "~k~~INVALID_KEY~", 5000, 5);
- return 1;
- }
- CMD:setarpos(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new X, Y, Z;
- if(sscanf(params, "uiii", ID, X, Y, Z)) return Msg(playerid, CINZA, "LV ADMIN: Use /setarposicao [ID] [Pos X] [Pos Y] [Pos Z]"), Msg(playerid, CINZA, "Use o comando para alterar a posição de um jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- SetPlayerPos(ID, X, Y, Z);
- format(String, sizeof(String), "LV ADMIN: Você Teleportou o jogador {1B95E0}%s{00C2EC} para as cordenadas: %d %d %d!", Nome(ID), X, Y, Z);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- CMD:verpos(playerid)
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new Float: X, Float: Y, Float: Z;
- GetPlayerPos(playerid, X, Y, Z);
- format(String, sizeof(String), "LV ADMIN: Você está na posição %f %f %f", X, Y, Z);
- Msg(playerid, AMARELO, String);
- return 1;
- }
- CMD:barril(playerid)
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- new Float: X, Float: Y, Float: Z;
- GetPlayerPos(playerid, X, Y, Z);
- PosicaoFrentePlayer(playerid, X, Y, 5);
- new barril;
- barril = CreateObject(1225, X, Y, Z, 0, 0, 0, 50);
- Barris[tBarris] = barril;
- tBarris ++;
- Msg(playerid, VERDE_CLARO, "LV ADMIN: Você criou um barril explosivo, para destrui-lo use /dbarris");
- return 1;
- }
- CMD:dbarris(playerid)
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- for(new o = 0; o < sizeof(Barris); o++)
- {
- DestroyObject(Barris[o]);
- }
- Msg(playerid, VERDE_CLARO, "LV ADMIN: Todos os Barris foram destruídos");
- return 1;
- }
- CMD:disfarce(playerid, params[])
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(PlayerInfo[playerid][pDisfarcado] == 1) return Msg(playerid, CINZA, "Você ja esta disfarçado, use /sairdisfarce.");
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /disfarce [ID]", "Use o comando para se disfarçar de algum jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- new Cor = GetPlayerColor(ID);
- new Skin = GetPlayerSkin(ID);
- NomeOriginal[playerid] = Nome(playerid);
- SetPlayerName(playerid, Nome(ID));
- SetPlayerColor(playerid, Cor);
- SetPlayerSkin(playerid, Skin);
- PlayerInfo[playerid][pDisfarcado] = 1;
- Msg(playerid, AMARELO, "Para sair do disfarce use /sairdisfarce.");
- return 1;
- }
- CMD:sairdisfarce(playerid)
- {
- if(!NivelRequerido(playerid, 3)) return 1;
- if(PlayerInfo[playerid][pDisfarcado] == 0) return Msg(playerid, CINZA, "Você não está disfarçado.");
- SetPlayerName(playerid, NomeOriginal[playerid]);
- SetPlayerSkin(playerid, 9);
- SetPlayerColor(playerid, 0x24E9FFFF);
- Msg(playerid, AMARELO, "Você saiu do disfarce com sucesso");
- PlayerInfo[playerid][pDisfarcado] = 0;
- return 1;
- }
- // ========================================================================================================
- // Comandos admin nivel 4
- CMD:kickartodos(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Kickou Todos do servidor!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pAdmin] < 1)
- {
- SetTimerEx("Kickar", 100, false, "i", i);
- }
- }
- return 1;
- }
- CMD:desarmartodos(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Tirou as armas de Todos do servidor!", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pAdmin] < 1)
- {
- ResetPlayerWeapons(i);
- }
- }
- return 1;
- }
- CMD:gmx(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Deu GMX no servidor, em alguns segundos ele será reiniciado", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SalvarDados(i);
- }
- SendRconCommand("gmx");
- return 1;
- }
- CMD:invisivel(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- if(PlayerInfo[playerid][pInvisivel] == 1) return Msg(playerid, CINZA, "LV ADMIN: Você ja está invisivel!");
- SetPlayerVirtualWorld(playerid, 5);
- PlayerInfo[playerid][pInvisivel] = 1;
- Msg(playerid, AZUL_CLARO, "Use /visivel para ficar visivel novamente");
- return 1;
- }
- CMD:visivel(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- if(PlayerInfo[playerid][pInvisivel] == 0) return Msg(playerid, CINZA, "LV ADMIN: Você não está invisivel!");
- SetPlayerVirtualWorld(playerid, 0);
- PlayerInfo[playerid][pInvisivel] = 0;
- Msg(playerid, AZUL_CLARO, "Você está visivel novamente!");
- return 1;
- }
- CMD:congelartodos(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- TogglePlayerControllable(i, false);
- PlayerInfo[i][pCongelado] = 1;
- }
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Congelou todos os Jogadores", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:descongelartodos(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- TogglePlayerControllable(i, true);
- PlayerInfo[i][pCongelado] = 0;
- }
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Descongelou todos os Jogadores", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:matartodos(playerid)
- {
- if(!NivelRequerido(playerid, 4)) return 1;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- SetPlayerHealth(i, 0);
- }
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} Matou todos os Jogadores", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:setprof(playerid, params[])
- {
- new prof;
- if(sscanf(params, "ui", ID, prof)) return MensagemDupla(playerid, "Use /setprof [ID] [profissao]", "Use o comando para setar uma profissão para certo ID.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O admin %s te setou a profissão ID %d.", Nome(playerid), prof);
- Msg(ID, AZUL_CLARO, String);
- PlayerInfo[ID][pProfissao] = prof;
- CarregarProfs(ID);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:setlevel(playerid, params[])
- {
- new Level;
- if(sscanf(params, "ui", ID, Level)) return MensagemDupla(playerid, "Use /setlevel [ID] [Level]", "Use o comando para setar o level de um jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O admin %s te setou para o level %d.", Nome(playerid), Level);
- Msg(ID, AZUL_CLARO, String);
- PlayerInfo[ID][pLevel] = Level;
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:darlevel(playerid, params[])
- {
- new Level;
- if(sscanf(params, "ui", ID, Level)) return MensagemDupla(playerid, "Use /darlevel [ID] [Level]", "Use o comando para dar level a um jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O admin %s te deu %d level.", Nome(playerid), Level);
- Msg(ID, AZUL_CLARO, String);
- PlayerInfo[ID][pLevel] += Level;
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- // ========================================================================================================
- // Comandos admin nivel 5
- CMD:daradmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 5) return Msg(playerid, VERMELHO, "{FF0000}ERRO:»{FFD700} Você precisa ser admin nivel 5 para usar este comando!");
- if(sscanf(params, "ud", ID, nivel)) return Msg(playerid, CINZA, "LV ADMIN: Use /daradmin [ID] [nivel]"), Msg(playerid, CINZA, "Use o comando para oferecer admin para algum jogador");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(nivel < 1 || nivel > 5) return Msg(playerid, VERMELHO, "ERRO: Nivel invalido, use de 0 a 5");
- format(String, sizeof(String), "{FFFFFF}O Admin Dono {1B95E0}%s{FFFFFF} está lhe oferencendo admin nivel {1b95E0}%d", Nome(playerid), nivel);
- ShowPlayerDialog(ID, DIALOG_DADMIN, DIALOG_STYLE_MSGBOX, "Admin", String, "Aceitar", "Recusar");
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:tiraradmin(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 5) return Msg(playerid, VERMELHO, "{FF0000}ERRO:»{FFD700} Você precisa ser admin nivel 5 para usar este comando!");
- if(sscanf(params, "u", ID)) return Msg(playerid, CINZA, "LV ADMIN: Use /tirar [ID]"), Msg(playerid, CINZA, "Use o comando para oferecer admin para algum jogador");
- if(PlayerInfo[ID][pAdmin] == 0) return Msg(playerid, VERMELHO, "ERRO: Esse Player não e Admin!");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin Dono {1B95E0}%s{00C2EC} tirou o Admin de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
- MsgAll(AZUL_CLARO, String);
- WriteLog(LOG_ADM, String);
- PlayerInfo[ID][pAdmin] = 0;
- return 1;
- }
- CMD:darhelper(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /darhelper [ID]", "Use o comando para oferecer helper a algum jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} está te oferecendo Helper.", Nome(playerid));
- ShowPlayerDialog(ID, DIALOG_HELPER, DIALOG_STYLE_MSGBOX, "Helper", String, "Aceitar", "Recusar");
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:tirarhelper(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /tirarhelper [ID]", "Use o comando para tirar helper de algum player.");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} tirou o helper de {1B95E0}%s{00C2EC}", Nome(playerid), Nome(ID));
- MsgAll(AZUL_CLARO, String);
- WriteLog(LOG_ADM, String);
- PlayerInfo[ID][pHelper] = 0;
- return 1;
- }
- CMD:trancarserver(playerid, params[])
- {
- new senha[30];
- if(!NivelRequerido(playerid, 5)) return 1;
- if(sscanf(params, "s", senha)) return MensagemDupla(playerid, "LV ADMIN: Use /trancarserver [Senha]", "Use o comando para trancar seu servidor utilizando a senha desejada.");
- format(String, sizeof(String), "password %s", senha);
- SendRconCommand(String);
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} trancou o servidor", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- ServerTrancado = true;
- return 1;
- }
- CMD:destrancarserver(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if((!ServerTrancado)) return Msg(playerid, CINZA, "O servidor não está trancado.");
- SendRconCommand("password 0");
- format(String, sizeof(String), "LV ADMIN: O Admin {1B95E0}%s{00C2EC} destrancou o servidor", Nome(playerid));
- MsgAll(AZUL_CLARO, String);
- return 1;
- }
- CMD:dargalao(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /dargalao [ID]", "Use o comando para dar um galao de gasolina para certo player.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: ID invalido");
- if(PlayerInfo[ID][TemGalao] == 1) return Msg(playerid, VERMELHO, "ERRO: Este jogador ja possui um galao.");
- format(String, sizeof(String), "LV ADMIN: O admin %s te de um galao de gasolina.", Nome(playerid));
- Msg(ID, AZUL_CLARO, String);
- PlayerInfo[ID][TemGalao] = 1;
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- CMD:ircasa(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- new house;
- if(sscanf(params, "i", house)) return MensagemDupla(playerid, "LV ADMIN: Use /ircasa [ID]", "Use o comando para ir a alguma casa do servidor.");
- new filePath[150];
- format(filePath, sizeof filePath, "Casas/Casas/Casa %d.ini", house);
- if(!DOF2_FileExists(filePath)) return Msg(playerid, VERMELHO, "ERRO: Essa casa não existe!");
- new string[200];
- if(!IsPlayerInAnyVehicle(playerid))
- {
- SetPlayerPos(playerid, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- SetPlayerInterior(playerid, 0);
- SetPlayerVirtualWorld(playerid, -1);
- } else {
- new v = GetPlayerVehicleID(playerid);
- SetPlayerPos(playerid, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ]);
- SetVehiclePos(v, CasaInfo[house][houseX], CasaInfo[house][houseY], CasaInfo[house][houseZ] + 5);
- SetPlayerInterior(playerid, 0);
- LinkVehicleToInterior(v, 0);
- SetPlayerVirtualWorld(playerid, -1);
- SetVehicleVirtualWorld(v, -1);
- PutPlayerInVehicle(playerid, v, 0);
- }
- format(string, sizeof string, "LV ADMIN: Você foi até a casa número {00E5FF}%d", house);
- Msg(playerid, LARANJA, string);
- new logString[128];
- format(logString, sizeof logString, "O administrador %s[%d], foi até a casa %d.", Nome(playerid), playerid, house);
- WriteLog(LOG_ADMIN, logString);
- return 1;
- }
- CMD:criarcasa(playerid, params[])
- {
- ShowCreateHouseDialog(playerid);
- return 1;
- }
- CMD:criarradar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if(CriandoRadar == 1) return Msg(playerid, VERMELHO, "ERRO: Já tem alguém criando um radar, aguarde por favor!");
- new velocidade, Dialog[250];
- if(sscanf(params, "i", velocidade)) return MensagemDupla(playerid, "LV ADMIN: Use /criarradar [velocidade]", "Use o comando para criar um radar do servidor.");
- new Float:PosX, Float:PosY, Float:PosZ, Float:Angulo;
- GetPlayerPos(playerid, PosX, PosY, PosZ);
- GetPlayerFacingAngle(playerid, Angulo);
- VelocidadeRADAR = velocidade;
- format(Dialog, sizeof(Dialog),"{FFFFFF}Você deseja mesmo criar um radar neste local?\n\n");
- format(Dialog, sizeof(Dialog),"%s{00B4FF}Posição X: {FFFFFF}%0.4f\n{00B4FF}Posição Y: {FFFFFF} %0.4f\n{00B4FF}Posição Z: {FFFFFF} %0.4f\n{00B4FF}Angulo: {FFFFFF}%0.4f\n{00B4FF}Velocidade: {FFFFFF}%d", Dialog, PosX, PosY, PosZ, Angulo, velocidade);
- CriandoRadar = 1;
- ShowPlayerDialog(playerid, DIALOG_CRIAR_RADAR, DIALOG_STYLE_MSGBOX, "LIFE VIRTUAL RPG - RADAR", Dialog, "Criar", "Cancelar");
- return 1;
- }
- CMD:deletarradar(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- if(sscanf(params, "i", ID)) return MensagemDupla(playerid, "LV ADMIN: Use /deletarradar [ID]", "Use o comando para deletar um radar do servidor.");
- new string[40];
- format(string, sizeof(string), RADARES, ID);
- if(!DOF2_FileExists(string)) return Msg(playerid, VERMELHO, "ERRO: ID do radar inexistente.");
- DOF2_RemoveFile(string);
- format(String, sizeof(String), "INFO: Você deletou o radar de ID: %d.", ID);
- Msg(playerid, LARANJA, String);
- DestroyObject(ObjetoRadar[0][ID]);
- DestroyObject(ObjetoRadar[1][ID]);
- Delete3DTextLabel(TRadar[ID]);
- DestroyDynamicMapIcon(IconeRadar[ID]);
- RadarInfo[ID][rPosX] = 0;
- RadarInfo[ID][rPosY] = 0;
- RadarInfo[ID][rPosZ] = 0;
- RadarInfo[ID][rAngulo] = 0;
- RadarInfo[ID][rVelocidade] = 999999;
- return 1;
- }
- CMD:criarkey(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- ShowPlayerDialog(playerid, DIALOG_NOVA_KEY, DIALOG_STYLE_INPUT, "LV RPG - KEY VIP", "\nDigite uma nova key válida:\n\n", "Criar", "Cancelar");
- return 1;
- }
- CMD:removerkey(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- new Key[25];
- if(sscanf(params, "s", Key))return MensagemDupla(playerid, "LV ADMIN: Use /removerkey [Key]", "Use o comando para remover uma key VIP.");
- new string[40];
- format(string, sizeof string, VIP_KEYS, Key);
- if(!DOF2_FileExists(string)) return Msg(playerid, VERMELHO, "ERRO: Key inexistente.");
- DOF2_RemoveFile(string);
- format(String, sizeof String, "KEY: A key %s foi removida com sucesso.", Key);
- Msg(playerid, LARANJA, String);
- return 1;
- }
- CMD:darvip(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- new Leveis;
- if(sscanf(params, "ud", ID, Leveis)) return MensagemDupla(playerid, "LV ADMIN: Use /darvip [ID] [Leveis]", "Use o comando para dar VIP diretamente.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: Jogador não conectado.");
- SetarVip(ID, Leveis);
- return 1;
- }
- CMD:tirarvip(playerid, params[])
- {
- if(!NivelRequerido(playerid, 5)) return 1;
- new Motivo[128];
- if(sscanf(params, "us", ID, Motivo)) return MensagemDupla(playerid, "LV ADMIN: Use /tirarvip [ID] [MOTIVO]", "Use o comando para tirar VIP de um jogador.");
- if(!IsPlayerConnected(ID)) return Msg(playerid, VERMELHO, "ERRO: Jogador não conectado.");
- format(String, sizeof String, "LV VIP: O admin %s retirou seu VIP. Motivo: %s.", Nome(playerid), Motivo);
- Msg(ID, COR_VIP, String);
- Msg(playerid, LARANJA, "LV ADMIN: Comando efetuado com sucesso !");
- return 1;
- }
- // ========================================================================================================
- // Comandos Players
- CMD:admins(playerid)
- {
- new Online[10], IsAdmin, AdminNivel[15];
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i))
- {
- if(PlayerInfo[i][pAdmin] > 0)
- {
- Msg(playerid, ROSA, "Admin Online:");
- if(PlayerInfo[i][pAdmin] == 1) AdminNivel = "Moderador";
- if(PlayerInfo[i][pAdmin] == 2) AdminNivel = "Admin";
- if(PlayerInfo[i][pAdmin] == 3) AdminNivel = "Admin";
- if(PlayerInfo[i][pAdmin] == 4) AdminNivel = "Admin Sub Dono";
- if(PlayerInfo[i][pAdmin] == 5) AdminNivel = "Admin Dono";
- if(PlayerInfo[i][pAfk] == 1) Online = "AFK";
- if(PlayerInfo[i][pAfk] == 0) Online = "Online";
- format(String, sizeof(String), "%s | %s | %s ", Nome(i), AdminNivel, Online);
- Msg(playerid, LARANJA, String);
- IsAdmin ++;
- }
- }
- }
- if(IsAdmin == 0)
- {
- Msg(playerid, CINZA, "LV: Nenhum Admin Online!");
- }
- IsAdmin = 0;
- Msg(playerid, CINZA, "LV: Use /helpers");
- return 1;
- }
- CMD:helpers(playerid)
- {
- new Online[10], IsHelper;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pHelper])
- {
- Msg(playerid, VERDE, "Helpers Online:");
- if(PlayerInfo[i][pAfk] == 1) Online = "AFK";
- if(PlayerInfo[i][pAfk] == 0) Online = "Online";
- format(String, sizeof(String), "Helper | %s | %s", Nome(i), Online);
- Msg(playerid, VERDE_CLARO, String);
- IsHelper ++;
- }
- }
- if(IsHelper == 0)
- {
- Msg(playerid, CINZA, "LV: Nenhum Helper Online!");
- }
- IsHelper = 0;
- return 1;
- }
- CMD:vips(playerid)
- {
- new Online[10], IsVip;
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(PlayerInfo[i][pVip])
- {
- Msg(playerid, COR_VIP, "Vips Online:");
- if(PlayerInfo[i][pAfk] == 1) Online = "AFK";
- if(PlayerInfo[i][pAfk] == 0) Online = "Online";
- format(String, sizeof(String), "VIP | %s | %s", Nome(i), Online);
- Msg(playerid, COR_VIP, String);
- IsVip ++;
- }
- }
- if(IsVip == 0)
- {
- Msg(playerid, CINZA, "LV: Nenhum VIP Online!");
- }
- IsVip = 0;
- return 1;
- }
- CMD:duvida(playerid, params[])
- {
- new texto[128];
- if(sscanf(params, "s", texto)) return MensagemDupla(playerid, "Use /duvida [pergunta]", "Use o comando para enviar uma duvida aos Helpers online.");
- Pergunta[playerid] = texto;
- format(String, sizeof(String), "{FFA500}[ATENÇÃO] Duvida de %s: %s. Use /responder", Nome(playerid), texto);
- ChatHelper(-1, String, 1);
- return 1;
- }
- CMD:taxi(playerid, params[])
- {
- new Local[128];
- if(sscanf(params, "s", Local)) return MensagemDupla(playerid, "Use /taxi [LOCAL]", "Use o comando para pedir um taxi em determinado local.");
- Msg(playerid, AMARELO, "TAXI: Os taxistas foram informados, aguarde uma resposta.");
- format(String, sizeof(String), "[ATENÇÃO] %s pediu um taxi. Local: %s. Atenda-o e não esqueça de ligar o taximetro.", Nome(playerid), Local);
- AvisarTaxista(AMARELO, String, 1);
- return 1;
- }
- CMD:taximetro(playerid, params[])
- {
- if(PlayerInfo[playerid][pProfissao] != TAXISTA) return Msg(playerid, -1, "{FF0000}ERRO:»{FFD700} Você não trabalha como taxista!");
- new modelo = GetVehicleModel(GetPlayerVehicleID(playerid));
- if(modelo != 420 && modelo != 438) return Msg(playerid, VERMELHO, "ERRO: Você não esta em um taxi!");
- if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return Msg(playerid, VERMELHO, "ERRO: Você não esta dirigindo um taxi!");
- if(sscanf(params, "u", ID)) return MensagemDupla(playerid, "Use /taximetro [ID]", "Use o comando para ligar o taximetro para determinado id.");
- if(GetPlayerVehicleID(ID) != GetPlayerVehicleID(ID)) return Msg(playerid, VERMELHO, "ERRO: Esse player não está em seu taxi!");
- SetTimerEx("Taximetro", 5000, true, "i", ID);
- format(String, sizeof(String), "TAXI: %s ligou o taximetro, serão cobrados R$1 por metro.", Nome(playerid));
- Msg(ID, AMARELO, String);
- return 1;
- }
- CMD:abastecer(playerid)
- {
- if(AreaPosto[playerid] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não está em um posto de combustivel!");
- if(!IsPlayerInAnyVehicle(playerid)) return Msg(playerid, VERMELHO, "ERRO: Você não está em nenhum veículo!");
- new Dialog[230];
- format(Dialog, sizeof(Dialog),"{F8F8FF}Olá {058AFF}%s{F8F8FF}.\nObrigado pela preferência.\nO valor do litro de gasolina custa R$ 3.\n\nInforme a baixo a quantidade de litros:\nAbasteça sempre gasolina adtivada para melhor desempenho!\n", Nome(playerid));
- ShowPlayerDialog(playerid, DIALOG_ABASTECER, DIALOG_STYLE_PASSWORD, "~ ABASTECENDO ~", Dialog, "Abastecer", "Cancelar");
- return 1;
- }
- CMD:enchergalao(playerid)
- {
- if(AreaPosto[playerid] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não está em um posto de combustivel!");
- if(PlayerInfo[playerid][TemGalao] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não tem um galão de gasolina, digite /comprargalao para adquirir!");
- if(PlayerInfo[playerid][GalaoGasolina] >= 20) return Msg(playerid, VERMELHO, "ERRO: Seu galão de gasolina ja está cheio!");
- new Dialog[260];
- format(Dialog, sizeof(Dialog),"{F8F8FF}Olá {058AFF}%s{F8F8FF}.\nObrigado pela preferência.\nO valor do litro de gasolina custa R$ 3.\n\nInforme a baixo a quantidade de litros no galão:\n{058AFF}Obs:{F8F8FF} O galão suporta somente 20 litros de gasolina.\nAbasteça sempre gasolina adtivada para melhor desempenho!\n", Nome(playerid));
- ShowPlayerDialog(playerid, DIALOG_GALAOABAST, DIALOG_STYLE_PASSWORD, "~ ABASTECENDO GALÃO ~", Dialog, "Abastecer", "Cancelar");
- return 1;
- }
- CMD:comprargalao(playerid)
- {
- if(AreaPosto[playerid] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não está em um posto de combustivel!");
- if(PlayerInfo[playerid][TemGalao] == 1) return Msg(playerid, VERMELHO, "ERRO: Você ja possue um galão de gasolina!");
- if(GetPlayerCash(playerid) < 1000) return Msg(playerid, VERMELHO, "ERRO: Saldo insuficiente, o valor do galão é de R$ 1000.");
- GivePlayerCash(playerid, -1000);
- PlayerInfo[playerid][TemGalao] = 1;
- PlayerInfo[playerid][GalaoGasolina] = 20;
- Msg(playerid, AZUL_CLARO, "LV: Obrigado, você comprou um galão de 20 litros ja cheio por R$ 1000.");
- Msg(playerid, AZUL_CLARO, "LV: Para abastece-lo entre em seu veiculo e use /abastecergalao [litros].");
- return 1;
- }
- CMD:abastecergalao(playerid, params[])
- {
- if(PlayerInfo[playerid][TemGalao] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não tem um galão de gasolina, vá a um posto e digite /comprargalao para adquirir!");
- if(!IsPlayerInAnyVehicle(playerid)) return Msg(playerid, VERMELHO, "ERRO: Você não está em nenhum veículo!");
- if(PlayerInfo[playerid][GalaoGasolina] == 0) return Msg(playerid, VERMELHO, "ERRO: Seu galão de gasolina está vazio!");
- if(sscanf(params, "i", ID)) return MensagemDupla(playerid, "Use /abastecergalao [litros]", "Use o comando para abastecer seu carro com o galão.");
- if(ID > PlayerInfo[playerid][GalaoGasolina]) return Msg(playerid, VERMELHO, "ERRO: Seu galão não possue essa quantidade de litros.");
- new vehicleid = GetPlayerVehicleID(playerid);
- if(ID + GasolinaVeiculo[vehicleid] < 100)
- {
- GasolinaVeiculo[vehicleid] += ID;
- PlayerInfo[playerid][GalaoGasolina] -= ID;
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu veiculo.", ID);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- if(ID + GasolinaVeiculo[vehicleid])
- {
- new quantia = 100 - GasolinaVeiculo[vehicleid];
- GasolinaVeiculo[vehicleid] = 100;
- PlayerInfo[playerid][GalaoGasolina] -= ID;
- format(String, sizeof(String), "LV: Foram abastecidos %d litros em seu veiculo.", quantia);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- return 1;
- }
- CMD:quantidadegalao(playerid)
- {
- if(PlayerInfo[playerid][TemGalao] == 0) return Msg(playerid, VERMELHO, "ERRO: Você não tem um galão de gasolina, vá a um posto e digite /comprargalao para adquirir!");
- if(PlayerInfo[playerid][GalaoGasolina] == 0) return Msg(playerid, VERMELHO, "ERRO: Seu galão de gasolina está vazio!");
- format(String, sizeof(String), "LV: O seu galao possue %d litros de gasolina. Para usá-los, digite /abastecergalao em um carro.", PlayerInfo[playerid][GalaoGasolina]);
- Msg(playerid, AZUL_CLARO, String);
- return 1;
- }
- CMD:radiohunter(playerid)
- {
- PlayAudioStreamForPlayer(playerid, "http://live.hunterfm.com/live");
- Msg(playerid, -1, "{FF0000}Radio Hunter ligada!{FFFFFF}, Espere algums segundos para tocar.");
- return 1;
- }
- CMD:radiooff(playerid)
- {
- StopAudioStreamForPlayer(playerid);
- Msg(playerid, -1, "{FF0000}Radio desligada com sucesso!");
- return 1;
- }
- CMD:banco(playerid)
- {
- Msg(playerid, -1, "Banco San Andreas.");
- SelectTextDraw(playerid, 0xFF0000FF);
- for(new i = 0; i < sizeof(Banco); i++) TextDrawShowForPlayer(playerid, Banco[i]);
- return 1;
- }
Add Comment
Please, Sign In to add comment