Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Filterscript de comprar ve�culos by Fl�vio Toribio
- #include <a_samp>
- #define MAX_RENT_VEHICLES 50 //coloque aqui o m�ximo de ve�clos que pode colocar pra alugar
- forward VerificarVeiculos();
- new RentVehicle[MAX_RENT_VEHICLES];
- new VehiclePrice[MAX_VEHICLES];
- new VehicleOwner[MAX_VEHICLES][MAX_PLAYER_NAME];
- new VehicleName[MAX_VEHICLES][MAX_PLAYER_NAME];
- new rentid;
- stock AddRentableVehicle(modelid, Float:x, Float:y, Float:z, Float:angle, color1, color2, price, name[])
- {
- RentVehicle[rentid] = CreateVehicle(modelid, x, y, z, angle, color1, color2, 6000);
- if(!RentVehicle[rentid] || !price || !name[0]) return -1;
- VehiclePrice[RentVehicle[rentid]] = price;
- strmid(VehicleName[RentVehicle[rentid]], name, 0, strlen(name));
- return rentid++;
- }
- stock bool:IsVehicleRentable(vehicleid)
- {
- for(new i; i < MAX_RENT_VEHICLES; i++)
- if(RentVehicle[i] == vehicleid)
- return true;
- return false;
- }
- stock SetVehicleOwner(vehicleid, owner[])
- {
- if(!IsVehicleRentable(vehicleid)) return 0;
- strmid(VehicleOwner[vehicleid], owner, 0, strlen(owner));
- return 1;
- }
- stock GetVehicleOwner(vehicleid, destine[])
- {
- if(!IsVehicleRentable(vehicleid) || !VehicleOwner[vehicleid][0])
- {
- format(destine, 8, "ninguem");
- return 0;
- }
- format(destine, strlen(VehicleOwner[vehicleid]), "%s", VehicleOwner[vehicleid]);
- return 1;
- }
- stock bool:IsVehicleOwned(vehicleid)
- {
- return !VehicleOwner[vehicleid][0] || !IsVehicleRentable(vehicleid) ? false : true;
- }
- stock bool:IsPlayerVehicleOwner(playerid, vehicleid)
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- return !strcmp(VehicleOwner[vehicleid], pname, false);
- }
- public OnFilterScriptInit()
- {
- printf("Filterscript de comprar veiculos by Fl�vio Toribio");
- AddRentableVehicle(555, 2149.5, -1134.0, 25.4, 270.15, 1, 1, 20000, "este Fusca");
- AddRentableVehicle(411, 2149.0, -1136.1, 25.4, 270.15, 1, 1, 50000, "este Infernus");
- //e assim por diante...
- SetTimer("VerificarVeiculos", 5000, 1);
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- if(newstate == PLAYER_STATE_DRIVER)
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(IsVehicleRentable(vehicleid))
- {
- new string[128], owner[MAX_PLAYER_NAME];
- TogglePlayerControllable(playerid, false);
- GetVehicleOwner(vehicleid, owner);
- if(!IsVehicleOwned(vehicleid))
- {
- format(string, sizeof string, "Compre %s por apenas %d reais! Digite: /comprar",
- VehicleName[vehicleid], VehiclePrice[vehicleid]);
- } else if(IsPlayerVehicleOwner(playerid, vehicleid))
- {
- TogglePlayerControllable(playerid, true);
- format(string, sizeof string, "Bem vindo a seu ve�culo, %s.", owner);
- } else {
- format(string, sizeof string, "Ops, %s pertence � %s.",
- VehicleName[vehicleid], owner);
- }
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- }
- }
- return 1;
- }
- public VerificarVeiculos()
- {
- for(new i; i < MAX_VEHICLES; i++)
- {
- if(GetVehicleModel(i) < 400 && GetVehicleModel(i) > 612 && IsVehicleRentable(i))
- {
- for(new j = i; j < MAX_RENT_VEHICLES; j++)
- {
- VehiclePrice[j] = VehiclePrice[j+1];
- VehicleName[j] = VehicleName[j+1];
- VehicleOwner[j] = VehicleOwner[j+1];
- }
- rentid--;
- }
- }
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- if(!strcmp(cmdtext, "/comprar", true))
- {
- new vehicleid = GetPlayerVehicleID(playerid);
- if(!vehicleid)
- {
- SendClientMessage(playerid, 0xFF0000AA, "V� a uma concession�ra e entre em um ve�culo!");
- return 1;
- }
- new string[128];
- if(!IsVehicleOwned(vehicleid))
- {
- if(GetPlayerMoney(playerid) >= VehiclePrice[vehicleid])
- {
- new pname[MAX_PLAYER_NAME];
- GetPlayerName(playerid, pname, sizeof pname);
- SetVehicleOwner(vehicleid, pname);
- GivePlayerMoney(playerid, -VehiclePrice[vehicleid]);
- TogglePlayerControllable(playerid, true);
- format(string, sizeof string, "Agora %s � de sua autoria!", VehicleName[vehicleid]);
- SendClientMessage(playerid, 0xFFFFFFAA, string);
- } else {
- format(string, sizeof string, "Voc� n�o tem %d reais!", VehiclePrice[vehicleid]);
- SendClientMessage(playerid, 0xFF0000AA, string);
- return 1;
- }
- } else if(IsPlayerVehicleOwner(playerid, vehicleid))
- {
- format(string, sizeof string, "Voc� j� � dono d%s!", VehicleName[vehicleid]);
- SendClientMessage(playerid, 0xFF0000AA, string);
- } else {
- new owner[MAX_PLAYER_NAME];
- GetVehicleOwner(vehicleid, owner);
- format(string, sizeof string, "Ops, %s pertence � %s.", VehicleName[vehicleid], owner);
- SendClientMessage(playerid, 0xFF0000AA, string);
- }
- return 1;
- }
- return 0;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- if(newkeys == 16 && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
- {
- if(IsVehicleRentable(GetPlayerVehicleID(playerid)))
- {
- TogglePlayerControllable(playerid, true);
- RemovePlayerFromVehicle(playerid);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment