Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #include <dof2>
- #pragma unused DOF2_Exit
- #define CUSTO_CARRO (2500)//dinheiro ao escolher o carro
- #define Dialog_03x_1 (9990)
- #define Dialog_03x_2 (9991)
- #define Dialog_03x_3 (9992)
- #define Dialog_03x_4 (9993)
- new NomesCarroS[][] ={
- "Landstalker","Bravura","Buffalo","Linerunner","Pereniel","Sentinel","Dumper","Firetruck",
- "Trashmaster","Stretch","Manana","Infernus","Voodoo","Pony","Mule","Cheetah","Ambulance",
- "Leviathan","Moonbeam","Esperanto","Taxi","Washington","Bobcat","Whoopee","BF Injection","Hunter","Premier",
- "Enforcer","Securicar","Banshee","Predator","Bus","Rhino","Barracks","Hotknife","Trailer","Previon",
- "Coach","Cabbie","Stallion","Rumpo","RC Bandit","Romero","Packer","Monster","Admiral","Squalo",
- "Seasparrow","Pizzaboy","Tram","Trailer","Turismo","Speeder","Reefer","Tropic","Flatbed","Yankee","Caddy",
- "Solair","Van","Skimmer","PCJ-600","Faggio","Freeway","RC Baron","RC Raider","Glendale",
- "Oceanic","Sanchez","Sparrow","Patriot","Quad","Coastguard","Dinghy","Hermes","Sabre","Rustler","ZR3-50","Walton","Regina",
- "Comet","BMX","Burrito","Camper","Marquis","Baggage","Dozer","Maverick","Chopper","Rancher","FBI Rancher",
- "Virgo","Greenwood","Jetmax","Hotring","Sandking","Blista","Maverick","Boxville","Benson","Mesa",
- "RC Goblin","Hotring","Hotring","Bloodring","Rancher","Super GT","Elegant","Journey",
- "Bike","Mountain Bike","Beagle","Cropdust","Stunt","Tanker","RoadTrain","Nebula","Majestic","Buccaneer",
- "Shamal","Hydra","FCR-900","NRG-500","HPV1000","Cement Truck","Tow Truck","Fortune","Cadrona","FBI Truck",
- "Willard","Forklift","Tractor","Combine","Feltzer","Remington","Slamvan","Blade","Freight","Streak","Vortex","Vincent",
- "Bullet","Clover","Sadler","Firetruck","Hustler","Intruder","Primo","Cargobob","Tampa","Sunrise","Merit","Utility",
- "Nevada","Yosemite","Windsor","Monster A","Monster B","Uranus","Jester","Sultan","Stratum","Elegy",
- "Raindance","RC Tiger","Flash","Tahoma","Savanna","Bandito","Freight","Trailer","Kart","Mower","Duneride","Sweeper",
- "Broadway","Tornado","AT-400","DFT-30","Huntley","Stafford","BF-400","Newsvan","Tug","Trailer","Emperor",
- "Wayfarer","Euros","Hotdog","Club","Trailer B","Trailer C","Andromada","Dodo","RC Cam","Launch","Police Car","Police Car",
- "Police Car","Police Ranger","Picador","S.W.A.T.","Alpha","Phoenix","Glendale","Sadler","Luggage Trailer","Luggage Trailer",
- "Stair Trailer","Boxville","Farm Plow","Utility Trailer"};
- new Float:RandomPosXYZ[][]=
- {
- {2147.7568,-1166.3738,23.5254,269.3909},
- {2148.0610,-1161.7148,23.5274,270.0405},
- {2147.8440,-1157.3314,23.5506,269.9344},
- {2161.2195,-1167.6934,23.5241,89.5632},
- {2161.2771,-1172.7664,23.5250,88.4558},
- {2161.2710,-1177.8595,23.5239,89.7862}
- };
- new pickup;
- new Text3D:d3d;
- stock VeiculosValidos(m)
- {
- if(
- m==400||m==401||m==402||m==404||m==560||m==405||
- m==410||m==411||m==412||m==413||m==415||m==418||
- m==419||m==422||m==424||m==426||m==429||m==434||
- m==436||m==439||m==442||m==444||m==445||m==451||
- m==458||m==461||m==462||m==463||m==466||m==467||
- m==468||m==474||m==475||m==522||m==521||m==478||
- m==479||m==480||m==481||m==483||m==491||m==492||
- m==496||m==500||m==506||m==507||m==508||m==517||
- m==518||m==527||m==533||m==534||m==535||m==536||
- m==541||m==542||m==545||m==549||m==550||m==551||
- m==554||m==555)
- {
- return true;
- }
- return false;
- }
- enum text
- {
- Float:RotCarroX,
- Float:RotCarroY,
- Float:RotCarroZ,
- Float:CarroX,
- Float:CarroY,
- Float:CarroZ,
- Float:CarroAng,
- bool:InText,
- Text3D:CarroText3D,
- PlayerText:Textdraw0,
- PlayerText:Textdraw1,
- PlayerText:Textdraw2,
- PlayerText:Textdraw3,
- PlayerText:Textdraw4,
- PlayerText:Textdraw5,
- PlayerText:Textdraw6,
- PlayerText:Textdraw7,
- PlayerText:Textdraw8,
- timerplayer,
- CarroID,
- carrocor1,
- carrocor2,
- CarroDono
- };
- new Te_xT[MAX_PLAYERS][text];
- new DonoCarro[MAX_VEHICLES];
- public OnFilterScriptInit()
- {
- print(" FS New concessionaria [0.3x]: LOADED");
- pickup = CreatePickup(1318, 24, 2140.0034,-1176.8870,23.9922, 0);
- d3d = Create3DTextLabel("{FFFFFF}Escolha seu veículo proprio aqui\n{00D4F6}Use: /comprarveiculo\nR$2500",-1,2140.0034,-1176.8870,23.9922, 20.0, 0);
- for(new i; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- OnPlayerConnect(i);
- }
- }
- for(new x; x < MAX_VEHICLES; x++)
- {
- DonoCarro[x] = INVALID_PLAYER_ID;
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- print(" FS New concessionaria [0.3x]: UNLOADED");
- DestroyPickup(pickup);
- Delete3DTextLabel(d3d);
- for(new i; i < MAX_PLAYERS; i ++)
- {
- if(IsPlayerConnected(i))
- {
- if(Te_xT[i][InText])Terminar(i);
- if(Te_xT[i][CarroDono] != INVALID_VEHICLE_ID)
- {
- Disconnect(i);
- }
- }
- }
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- Te_xT[playerid][InText] = false;
- Te_xT[playerid][CarroDono] = INVALID_VEHICLE_ID;
- new file[74], nome[24];
- GetPlayerName(playerid, nome, 24);
- format(file, 74, "0.3xCarroSystem/%s.txt", nome);
- SetPlayerMapIcon(playerid, 98,2140.0034,-1176.8870,23.9922, 12, 0xCFCFCF);
- if(DOF2_FileExists(file))
- {
- CarregarCarro(playerid);
- }
- return 0;
- }
- Disconnect(playerid)
- {
- if(Te_xT[playerid][CarroDono] != INVALID_VEHICLE_ID)
- {
- Delete3DTextLabel(Te_xT[playerid][CarroText3D]);
- DestroyVehicle(Te_xT[playerid][CarroDono]);
- }
- RemovePlayerMapIcon(playerid, 98);
- return 0;
- }
- public OnPlayerDisconnect(playerid)
- {
- Disconnect(playerid);
- return 0;
- }
- CreateTexts(playerid)
- {
- Te_xT[playerid][Textdraw0] = CreatePlayerTextDraw(playerid,540.000000, 122.000000, "_");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw0], 255);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw0], 1);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw0], 0.500000, 29.000000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw0], -1);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw0], 0);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw0], 1);
- PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw0], 1);
- PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw0], 1);
- PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw0], 200);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw0], 90.000000, 0.000000);
- Te_xT[playerid][Textdraw2] = CreatePlayerTextDraw(playerid,481.000000, 223.000000, ">");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw2], 50);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw2], 3);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw2], 1.510000, 5.399999);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw2], 65535);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw2], 1);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw2], 1);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw2], 530.000000, 50.000000);
- Te_xT[playerid][Textdraw3] = CreatePlayerTextDraw(playerid,111.000000, 223.000000, "<");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw3], 50);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw3], 3);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw3], 1.510000, 5.399999);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw3], 65535);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw3], 1);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw3], 1);
- PlayerTextDrawTextSize(playerid, Te_xT[playerid][Textdraw3], 150.000000, 50.000000);
- Te_xT[playerid][Textdraw4] = CreatePlayerTextDraw(playerid,170.000000, 130.000000, "_");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw4], 0);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw4], TEXT_DRAW_FONT_MODEL_PREVIEW);
- PlayerTextDrawSetPreviewRot(playerid,Te_xT[playerid][Textdraw4], -16.0, 0.0, -55.0);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw4], 0.500000, 19.000000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw4], 0xFFFFFFFF);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw4], 0);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw4], 1);
- PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw4], 1);
- PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw4], 0);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw4], 290.000000, 230.000000);
- Te_xT[playerid][Textdraw5] = CreatePlayerTextDraw(playerid,112.000000, 146.000000, "Carro: ~y~NRG-500");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw5], -241);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw5], 2);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw5], 0.370000, 2.200000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw5], -1);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw5], 1);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw5], 1);
- Te_xT[playerid][Textdraw6] = CreatePlayerTextDraw(playerid,96.000000, 371.000000, "ld_dual:health");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw6], 255);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw6], 4);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw6], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw6], -1);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw6], 0);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw6], 1);
- PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw6], 1);
- PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw6], 1);
- PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw6], 255);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw6], 440.000000, 13.000000);
- Te_xT[playerid][Textdraw7] = CreatePlayerTextDraw(playerid,95.000000, 120.000000, "ld_dual:health");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw7], 255);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw7], 4);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw7], 0.500000, 1.000000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw7], -1);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw7], 0);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw7], 1);
- PlayerTextDrawSetShadow(playerid,Te_xT[playerid][Textdraw7], 1);
- PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw7], 1);
- PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw7], 255);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw7], 440.000000, 13.000000);
- Te_xT[playerid][Textdraw8] = CreatePlayerTextDraw(playerid,480.000000, 352.000000, "SAIR");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw8], -65516);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw8], 2);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw8], 0.559998, 2.000000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw8], -65281);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw8], 1);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw8], 1);
- //-- new --//
- Te_xT[playerid][Textdraw1] = CreatePlayerTextDraw(playerid,100.000000, 356.000000, "> Escolha o ID do carro <");
- PlayerTextDrawBackgroundColor(playerid,Te_xT[playerid][Textdraw1], 30);
- PlayerTextDrawFont(playerid,Te_xT[playerid][Textdraw1], 1);
- PlayerTextDrawLetterSize(playerid,Te_xT[playerid][Textdraw1], 0.240000, 1.200000);
- PlayerTextDrawColor(playerid,Te_xT[playerid][Textdraw1], 16711935);
- PlayerTextDrawSetOutline(playerid,Te_xT[playerid][Textdraw1], 1);
- PlayerTextDrawSetProportional(playerid,Te_xT[playerid][Textdraw1], 1);
- PlayerTextDrawUseBox(playerid,Te_xT[playerid][Textdraw1], 1);
- PlayerTextDrawBoxColor(playerid,Te_xT[playerid][Textdraw1], 16711740);
- PlayerTextDrawTextSize(playerid,Te_xT[playerid][Textdraw1], 210.000000, 20.000000);
- PlayerTextDrawSetSelectable(playerid,Te_xT[playerid][Textdraw1], 1);
- PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw2], 1);
- PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw3], 1);
- PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw4], 1);
- PlayerTextDrawSetSelectable(playerid, Te_xT[playerid][Textdraw8], 1);
- return true;
- }
- #if defined _zcmd_included
- CMD:comprarveiculo(playerid, cores[])
- {
- if(Te_xT[playerid][InText])
- return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
- if(!IsPlayerInRangeOfPoint(playerid, 2.0,2140.0034,-1176.8870,23.9922))
- return SendClientMessage(playerid, 0xFF0000FF, "Você não está no local de comprar carros.");
- if(GetPlayerMoney(playerid) < CUSTO_CARRO)
- return SendClientMessage(playerid, 0xFF0000FF, "Você não tem o dinheiro suficiente.");
- new cor[2];
- if(sscanf(cores, "dd",cor[0], cor[1]))return SendClientMessage(playerid, 0x00CC00FF, "(SERVER): /comprarveiculo [cor1] [cor2]");
- Te_xT[playerid][carrocor1] = cor[0];
- Te_xT[playerid][carrocor2] = cor[1];
- PlayerTextDrawSetPreviewVehCol(playerid,Te_xT[playerid][Textdraw4], cor[0], cor[1]);
- Te_xT[playerid][InText] = true;
- CreateTexts(playerid);
- Escolher (playerid);
- UpdateText(playerid);
- return true;
- }
- CMD:sairtext(playerid, cores[])
- {
- if(!Te_xT[playerid][InText])
- return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você escolheu sair.");
- Terminar(playerid);
- return true;
- }
- CMD:salvarpos(playerid)
- {
- if(Te_xT[playerid][CarroDono] == INVALID_VEHICLE_ID)
- return SendClientMessage(playerid, 0xFF0000FF, "Você não tem um carro próprio.");
- if(!IsPlayerInAnyVehicle(playerid) || GetPlayerVehicleID(playerid) != Te_xT[playerid][CarroDono])
- return SendClientMessage(playerid, 0xFF0000FF, "Você não está no seu veículo.");
- new Float:x, Float:y, Float:z, Float:A;
- GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
- Te_xT[playerid][CarroX] = x;
- Te_xT[playerid][CarroY] = y;
- Te_xT[playerid][CarroZ] = z;
- Te_xT[playerid][CarroAng] = A;
- SalvarPlayerCarro(playerid);
- SendClientMessage(playerid, 0x00CC00FF, "(SERVER): Seu carro ficará salvo neste local a partir de agora.");
- return true;
- }
- #endif
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- if(DonoCarro[GetPlayerVehicleID(playerid)] != INVALID_PLAYER_ID && DonoCarro[GetPlayerVehicleID(playerid)] != playerid)
- {
- SendClientMessage(playerid, 0xFF0000FF, "{SERVER): Este veiculo não pertence a você.");
- RemovePlayerFromVehicle(playerid);
- }
- }
- return true;
- }
- UpdateText(playerid)
- {
- new nomecarro[63] = "Carro: ~y~";
- PlayerTextDrawSetPreviewVehCol(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][carrocor1], Te_xT[playerid][carrocor2]);
- strcat(nomecarro, NomesCarroS[Te_xT[playerid][CarroID]-400]);
- PlayerTextDrawSetString(playerid,Te_xT[playerid][Textdraw5], nomecarro);
- /*Te_xT[playerid][RotCarroX] = -16.0 ;
- Te_xT[playerid][RotCarroY] = 0.0 ;
- Te_xT[playerid][RotCarroZ] = -55.0 ;*/
- PlayerTextDrawSetPreviewModel(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][CarroID]);
- PlayerTextDrawShow(playerid,Te_xT[playerid][Textdraw4]);
- return 0;
- }
- Escolher(playerid)
- {
- Te_xT[playerid][RotCarroX] = -16.0 ;
- Te_xT[playerid][RotCarroY] = 0.0 ;
- Te_xT[playerid][RotCarroZ] = -55.0 ;
- Te_xT[playerid][CarroID] = 400;
- PlayerTextDrawSetPreviewModel(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][CarroID]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw0]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw2]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw3]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw4]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw5]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw6]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw7]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw8]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw1]);
- SelectTextDraw(playerid, 0xFF0000FF);
- KillTimer(Te_xT[playerid][timerplayer]);
- Te_xT[playerid][timerplayer] = SetTimerEx("AtualizarPos", 4000, true, "i", playerid);
- SetPlayerCameraPos(playerid, 729.42, -1569.42, 49.15);
- SetPlayerCameraLookAt(playerid, 729.65, -1564.39, 45.89);
- SetPlayerPos(playerid, 729.42, -1569.42, 49.15+25.0);
- TogglePlayerControllable(playerid, false);
- SendClientMessage(playerid, 0x00CC00ff, "(SERVER): Escolha o carro desejado. Caso de algum bug, digite: /sairtext");
- GivePlayerMoney(playerid, -CUSTO_CARRO);
- }
- Terminar(playerid)
- {
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw0]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw2]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw3]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw4]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw5]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw6]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw7]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw8]);
- PlayerTextDrawDestroy(playerid,Te_xT[playerid][Textdraw1]);
- KillTimer(Te_xT[playerid][timerplayer]);
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid, true);
- SetPlayerPos(playerid, 2140.0034,-1176.8870,23.9922);
- Te_xT[playerid][InText] = false;
- CancelSelectTextDraw(playerid);
- return true;
- }
- forward AtualizarPos(playerid);
- public AtualizarPos(playerid)
- {
- Te_xT[playerid][RotCarroZ] += 50.0;
- PlayerTextDrawSetPreviewRot(playerid,Te_xT[playerid][Textdraw4], Te_xT[playerid][RotCarroX], Te_xT[playerid][RotCarroY], Te_xT[playerid][RotCarroZ]);
- PlayerTextDrawShow(playerid, Te_xT[playerid][Textdraw4]);
- return 0;
- }
- public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
- {
- if(playertextid == PlayerText:0xFFFF && Te_xT[playerid][InText])
- {
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você deve escolher um carro, ou aperte em 'SAIR'");
- SelectTextDraw(playerid, 0xFF0000FF);// (( << Se o player apertar ESC ))
- }
- if(Te_xT[playerid][InText])
- {
- if(playertextid == Te_xT[playerid][Textdraw2])
- {
- if(Te_xT[playerid][CarroID] >= 605)return false;
- Te_xT[playerid][CarroID]++;
- UpdateText(playerid);
- }
- if(playertextid == Te_xT[playerid][Textdraw3])
- {
- if(Te_xT[playerid][CarroID] <= 400)return false;
- Te_xT[playerid][CarroID]--;
- UpdateText(playerid);
- }
- if(playertextid == Te_xT[playerid][Textdraw4])
- {
- if(!VeiculosValidos(Te_xT[playerid][CarroID]))
- {
- return SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Veiculo proibido.");
- }
- EscolherCarro(playerid);
- return true;
- }
- if(playertextid == Te_xT[playerid][Textdraw8])
- {
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você escolheu sair.");
- Terminar(playerid);
- }
- if(playertextid == Te_xT[playerid][Textdraw1])
- {
- CancelSelectTextDraw(playerid);
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Escolha o ID do veículo...");
- ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
- }
- }
- return 0;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == Dialog_03x_1)
- {
- if(!response)return SelectTextDraw(playerid, 0xFF0000FF);
- if(listitem == 0)
- {
- ShowPlayerDialog(playerid, Dialog_03x_2, DIALOG_STYLE_INPUT, "ID do veiculo","Digite o ID do veiculo que você deseja comprar\nOBS: Não pode ser abaixo de 400 ou acima de 600","Escolher","Cancelar");
- }
- else if(listitem == 1)
- {
- ShowPlayerDialog(playerid, Dialog_03x_3, DIALOG_STYLE_INPUT, "Color 1","Digite a primeira cor do veiculo", "Escolher","Voltar");
- }
- else if(listitem == 2)
- {
- ShowPlayerDialog(playerid, Dialog_03x_4, DIALOG_STYLE_INPUT, "Color 2","Digite a segunda cor do veiculo", "Escolher","Voltar");
- }
- return 0;
- }
- if(dialogid == Dialog_03x_2)
- {
- new id = strval(inputtext);
- if(!id || id < 400 || id > 600 || !VeiculosValidos(id))
- {
- return ShowPlayerDialog(playerid, Dialog_03x_2, DIALOG_STYLE_INPUT, \
- "ID do veiculo","Digite o ID do veiculo que você deseja comprar\n\
- OBS: Não pode ser abaixo de 400 ou acima de 600\n\
- {FF0000}ID Invalido","Escolher","Cancelar");
- }
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Veiculo escolhido com sucesso.");
- Te_xT[playerid][CarroID] = id;
- UpdateText(playerid);
- ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
- }
- if(dialogid == Dialog_03x_3)
- {
- new id = strval(inputtext);
- if(!id)
- {
- return ShowPlayerDialog(playerid, Dialog_03x_3, DIALOG_STYLE_INPUT, "Color 1","Digite a primeira cor do veiculo", "Escolher","Voltar");
- }
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Cor 1 trocada com sucesso.");
- Te_xT[playerid][carrocor1] = id;
- UpdateText(playerid);
- ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
- }
- if(dialogid == Dialog_03x_4)
- {
- new id = strval(inputtext);
- if(!id)
- {
- return ShowPlayerDialog(playerid, Dialog_03x_4, DIALOG_STYLE_INPUT, "Color 2","Digite a segunda cor do veiculo", "Escolher","Voltar");
- }
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Cor 2 trocada com sucesso.");
- Te_xT[playerid][carrocor2] = id;
- UpdateText(playerid);
- ShowPlayerDialog(playerid, Dialog_03x_1, DIALOG_STYLE_LIST, "Car Infos","» Veiculo Modelo\n» Color 1\n» Color 2","Escolher","Cancelar");
- }
- return false;
- }
- stock EscolherCarro(playerid)
- {
- new randompos = random(sizeof(RandomPosXYZ)), text3d[128], nome[24];
- GetPlayerName(playerid, nome, 24);
- if(Te_xT[playerid][CarroDono] == INVALID_VEHICLE_ID)
- {
- Te_xT[playerid][CarroDono] = AddStaticVehicleEx(Te_xT[playerid][CarroID],
- RandomPosXYZ[randompos][0], RandomPosXYZ[randompos][1], RandomPosXYZ[randompos][2],RandomPosXYZ[randompos][3],
- Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
- format(text3d, 100, "{FFFFFF}Este veiculo pertence a:{00D4F6}\n%s", nome);
- Te_xT[playerid][CarroText3D] = Create3DTextLabel(text3d, -1, 0.0, 0.0, 0.0, 12.0, 0);
- Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
- }
- else
- {
- DestroyVehicle(Te_xT[playerid][CarroDono]);
- Te_xT[playerid][CarroDono] = AddStaticVehicleEx(Te_xT[playerid][CarroID],
- RandomPosXYZ[randompos][0], RandomPosXYZ[randompos][1], RandomPosXYZ[randompos][2],RandomPosXYZ[randompos][3],
- Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
- Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
- }
- Terminar(playerid);
- PutPlayerInVehicle(playerid, Te_xT[playerid][CarroDono], 0);
- format(text3d, 127, "(SERVER): Você comprou o carro %s por $%d, USE: /salvarpos para salva-lo.",NomesCarroS[Te_xT[playerid][CarroID]-400], CUSTO_CARRO);
- GivePlayerMoney(playerid, -CUSTO_CARRO),SendClientMessage(playerid, -1, text3d);
- return true;
- }
- stock SalvarPlayerCarro(playerid)
- {
- new file[100], nome[24];
- GetPlayerName(playerid, nome, 24);
- format(file, 74, "0.3xCarroSystem/%s.txt", nome);
- if(!DOF2_FileExists(file))DOF2_CreateFile(file);
- DOF2_SetInt(file, "ModeloCarro", Te_xT[playerid][CarroID]);
- DOF2_SetInt(file, "Color1", Te_xT[playerid][carrocor1]);
- DOF2_SetInt(file, "Color2", Te_xT[playerid][carrocor2]);
- DOF2_SetFloat(file, "PosCarroX", Te_xT[playerid][CarroX]);
- DOF2_SetFloat(file, "PosCarroY", Te_xT[playerid][CarroY]);
- DOF2_SetFloat(file, "PosCarroZ", Te_xT[playerid][CarroZ]);
- DOF2_SetFloat(file, "PosCarroAng", Te_xT[playerid][CarroAng]);
- DOF2_SaveFile();
- return 0;
- }
- CarregarCarro(playerid)
- {
- new file[100], nome[24], text3d[100];
- GetPlayerName(playerid, nome, 24);
- format(file, 74, "0.3xCarroSystem/%s.txt", nome);
- if(DOF2_FileExists(file))
- {
- Te_xT[playerid][CarroID] = DOF2_GetInt(file, "ModeloCarro");
- Te_xT[playerid][carrocor1] = DOF2_GetInt(file, "Color1");
- Te_xT[playerid][carrocor2] = DOF2_GetInt(file, "Color2");
- Te_xT[playerid][CarroX] = DOF2_GetFloat(file, "PosCarroX");
- Te_xT[playerid][CarroY] = DOF2_GetFloat(file, "PosCarroY");
- Te_xT[playerid][CarroZ] = DOF2_GetFloat(file, "PosCarroZ");
- Te_xT[playerid][CarroAng] = DOF2_GetFloat(file, "PosCarroAng");
- Te_xT[playerid][CarroDono] = CreateVehicle(Te_xT[playerid][CarroID],
- Te_xT[playerid][CarroX], Te_xT[playerid][CarroY], Te_xT[playerid][CarroZ],Te_xT[playerid][CarroAng],
- Te_xT[playerid][carrocor1],Te_xT[playerid][carrocor2], -1);
- format(text3d, 100, "{FFFFFF}Este veiculo pertence a:{00D4F6}\n%s", nome);
- Te_xT[playerid][CarroText3D] = Create3DTextLabel(text3d, -1, 0.0, 0.0, 0.0, 12.0, 0);
- Attach3DTextLabelToVehicle(Te_xT[playerid][CarroText3D], Te_xT[playerid][CarroDono], 0.0,0.0,0.0);
- }
- return 0;
- }
- #if !defined _zcmd_included
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- new cmd[256];
- new idx,
- tmp[256];
- cmd = strtok2(cmdtext, idx);
- if(strcmp(cmd, "/comprarveiculo", true) == 0)
- {
- if(Te_xT[playerid][InText])
- return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
- if(!IsPlayerInRangeOfPoint(playerid, 2.0,2140.0034,-1176.8870,23.9922))
- return SendClientMessage(playerid, 0xFF0000FF, "Você não está no local de comprar carros.");
- if(GetPlayerMoney(playerid) < CUSTO_CARRO)
- return SendClientMessage(playerid, 0xFF0000FF, "Você não tem o dinheiro suficiente.");
- new cor[2];
- tmp = strtok2(cmdtext, idx);
- cor[0] = strval(tmp);
- if(!strval(tmp))
- return SendClientMessage(playerid, 0x00CC00FF, "(SERVER): /comprarveiculo [cor1] [cor2]");
- tmp = strtok2(cmdtext, idx);
- cor[1] = strval(tmp);
- if(!strval(tmp))
- return SendClientMessage(playerid, 0x00CC00FF, "(SERVER): /comprarveiculo [cor1] [cor2]");
- Te_xT[playerid][carrocor1] = cor[0];
- Te_xT[playerid][carrocor2] = cor[1];
- PlayerTextDrawSetPreviewVehCol(playerid,Te_xT[playerid][Textdraw4], cor[0], cor[1]);
- Te_xT[playerid][InText] = true;
- CreateTexts(playerid);
- Escolher (playerid);
- UpdateText(playerid);
- return 1;
- }
- if(strcmp(cmd, "/sairtext", true) == 0)
- {
- if(!Te_xT[playerid][InText])
- return SendClientMessage(playerid, 0xFF0000FF, "Você já está escolhendo um carro.");
- SendClientMessage(playerid, 0xFF0000FF, "(SERVER): Você escolheu sair.");
- Terminar(playerid);
- return 1;
- }
- if(strcmp(cmd, "/salvarpos", true) == 0)
- {
- if(Te_xT[playerid][CarroDono] == INVALID_VEHICLE_ID)
- return SendClientMessage(playerid, 0xFF0000FF, "Você não tem um carro próprio.");
- if(!IsPlayerInAnyVehicle(playerid) || GetPlayerVehicleID(playerid) != Te_xT[playerid][CarroDono])
- return SendClientMessage(playerid, 0xFF0000FF, "Você não está no seu veículo.");
- new Float:x, Float:y, Float:z, Float:A;
- GetVehiclePos(GetPlayerVehicleID(playerid), x, y, z);
- GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
- Te_xT[playerid][CarroX] = x;
- Te_xT[playerid][CarroY] = y;
- Te_xT[playerid][CarroZ] = z;
- Te_xT[playerid][CarroAng] = A;
- SalvarPlayerCarro(playerid);
- SendClientMessage(playerid, 0x00CC00FF, "(SERVER): Seu carro ficará salvo neste local a partir de agora.");
- return true;
- }
- return false;
- }
- #endif
- stock strtok2(const string[], &index)
- {
- new length = strlen(string);
- while ((index < length) && (string[index] <= ' '))
- {
- index++;
- }
- new offset = index;
- new result[20];
- while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
- {
- result[index - offset] = string[index];
- index++;
- }
- result[index - offset] = EOS;
- return result;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement