Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ocmd>
- #include <dini>
- #include <sscanf>
- #include <streamer>
- #define WEISS 0xFFFFFFFF
- #define ROT 0xFF0000FF
- #define MAX_VERMIETUNG 15
- enum VermietungInformation{
- VMietungOrt[28],
- Float:VX,
- Float:VY,
- Float:VZ,
- Preis,
- Text3D:Label,
- Pickup,
- VMietungObject,
- Erstellt
- }
- new VermietungInfo[MAX_VERMIETUNG][VermietungInformation];
- forward RollerTime(playerid);
- #if defined FILTERSCRIPT
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------");
- print(" Blank Filterscript by your name here");
- print("--------------------------------------\n");
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- LadeVermietung(i);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- #else
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- #endif
- public RollerTime(playerid)
- {
- SendClientMessage(playerid,ROT,"[VERMIETUNG:]Deine Zeit ist vorbei, dein Mitfahrzeug wird nun gelöscht!");
- new KillRoller;
- KillRoller = GetPlayerVehicleID(playerid);
- DestroyVehicle(KillRoller);
- SetPVarInt(playerid,"RollerGemietet",0);
- return 1;
- }
- ocmd:createvmietung(playerid,params[])
- {
- new Float:vx,Float:vy,Float:vz,preis,vmietungort[28];
- GetPlayerPos(playerid,vx,vy,vz);
- if(sscanf(params,"ds",preis,vmietungort))return SendClientMessage(playerid,ROT,"FEHLER:/createvmietung [PREIS] [ORT]");
- ErstelleVermietung(vx,vy,vz,preis,vmietungort);
- return 1;
- }
- ocmd:rentveh(playerid,params[])
- {
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- if(IsPlayerInRangeOfPoint(playerid,5.0,VermietungInfo[i][VX],VermietungInfo[i][VY],VermietungInfo[i][VZ])){
- if(GetPVarInt(playerid,"RollerGemietet")==0){
- if(GetPlayerMoney(playerid) >= VermietungInfo[i][Preis]){
- new Roller = CreateVehicle(462,VermietungInfo[i][VX],VermietungInfo[i][VY]+2,VermietungInfo[i][VZ],0.000,-1,-1,-1);
- GivePlayerMoney(playerid,-VermietungInfo[i][Preis]);
- PutPlayerInVehicle(playerid,Roller,0);
- SetPVarInt(playerid,"RollerGemietet",1);
- SetPVarInt(playerid,"RollerBesitzer",1);
- SetTimer("RollerTime",1800000,false);
- GameTextForPlayer(playerid,"~y~Roller gemietet!",3000,1);
- SendClientMessage(playerid,WEISS,"[VERMIETUNG:]Dein Mietfahrzeug wird automatisch in 30 Minuten gelöscht.");
- }
- else return SendClientMessage(playerid,ROT,"ERROR: Du hast nicht genügend Geld dabei.");
- }
- else return SendClientMessage(playerid,ROT,"ERROR: Du hast bereits ein Fahrzeug gemietet.");
- }
- }
- return 1;
- }
- ocmd:delvmietung(playerid,params[])
- {
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- if(IsPlayerInRangeOfPoint(playerid,5,VermietungInfo[i][VX],VermietungInfo[i][VY],VermietungInfo[i][VZ])){
- new VermietungDatei[64];
- format(VermietungDatei,64,"/Autovermietung/%d.txt",i);
- if(dini_Exists(VermietungDatei)){
- dini_Remove(VermietungDatei);
- LoescheVermietung(i);
- LadeVermietung(i);
- }
- }
- }
- return 1;
- }
- stock ErstelleVermietung(Float:vx,Float:vy,Float:vz,preis,vmietungort[28])
- {
- new VermietungDatei[64];
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- format(VermietungDatei,64,"/Autovermietung/%d.txt",i);
- if(!fexist(VermietungDatei)){
- dini_Create(VermietungDatei);
- dini_Set(VermietungDatei,"Vermietungsort",vmietungort);
- dini_FloatSet(VermietungDatei,"Position:X",vx);
- dini_FloatSet(VermietungDatei,"Position:Y",vy);
- dini_FloatSet(VermietungDatei,"Position:Z",vz);
- dini_IntSet(VermietungDatei,"Preis",preis);
- dini_IntSet(VermietungDatei,"Erstellt",1);
- return LadeVermietung(i);
- }
- }
- return 1;
- }
- stock LadeVermietung(VermietungID)
- {
- new VermietungDatei[64];
- format(VermietungDatei,64,"/Autovermietung/%d.txt",VermietungID);
- if(!fexist(VermietungDatei))return 0;
- VermietungInfo[VermietungID][VX] = dini_Float(VermietungDatei,"Position:X");
- VermietungInfo[VermietungID][VY] = dini_Float(VermietungDatei,"Position:Y");
- VermietungInfo[VermietungID][VZ] = dini_Float(VermietungDatei,"Position:Z");
- VermietungInfo[VermietungID][Preis] = dini_Int(VermietungDatei,"Preis");
- VermietungInfo[VermietungID][Erstellt] = dini_Int(VermietungDatei,"Erstellt");
- format(VermietungInfo[VermietungID][VMietungOrt],28,"%s",dini_Get(VermietungDatei,"Vermietungsort"));
- if(VermietungInfo[VermietungID][Erstellt] == 1){
- new string[256];
- format(string,sizeof(string),"|| Rollervermietung ||\n|| Ort: %s ||\n|| Preis: $%d ||",VermietungInfo[VermietungID][VMietungOrt],VermietungInfo[VermietungID][Preis]);
- VermietungInfo[VermietungID][Label] = Create3DTextLabel(string,WEISS,VermietungInfo[VermietungID][VX],VermietungInfo[VermietungID][VY],VermietungInfo[VermietungID][VZ],25.0,0);
- VermietungInfo[VermietungID][Pickup] = CreatePickup(1239,23,VermietungInfo[VermietungID][VX],VermietungInfo[VermietungID][VY],VermietungInfo[VermietungID][VZ],0);
- VermietungInfo[VermietungID][VMietungObject] = CreateObject(4641,VermietungInfo[VermietungID][VX],VermietungInfo[VermietungID][VY]+2,VermietungInfo[VermietungID][VZ]+0.35,0.00, 0.00, 0.00);
- }
- else{
- }
- return 1;
- }
- stock LoescheVermietung(VermietungID)
- {
- Delete3DTextLabel(VermietungInfo[VermietungID][Label]);
- return DestroyDynamicObject(VermietungInfo[VermietungID][VMietungObject]);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement