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{
- Besitzer[64],
- VMietungOrt[28],
- Float:VX,
- Float:VY,
- Float:VZ,
- Level,
- BusinessPreis,
- Preis,
- Text3D:Label,
- Pickup,
- VMietungObject,
- Besetzt
- }
- new VermietungInfo[MAX_VERMIETUNG][VermietungInformation];
- forward RollerTime(playerid);
- main()
- {
- print("\n----------------------------------");
- print(" Blank Gamemode by your name here");
- print("----------------------------------\n");
- }
- public OnGameModeInit()
- {
- SetGameModeText("Blank Script");
- AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- LadeVermietung(i);
- }
- return 1;
- }
- public OnGameModeExit()
- {
- return 1;
- }
- 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],level,businesspreis;
- GetPlayerPos(playerid,vx,vy,vz);
- if(sscanf(params,"dsdd",preis,vmietungort,level,businesspreis))return SendClientMessage(playerid,ROT,"FEHLER:/createvmietung [PREIS] [ORT] [LEVEL] [KAUFPREIS]");
- ErstelleVermietung(vx,vy,vz,preis,vmietungort,"Keiner",level,businesspreis);
- 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);
- SetTimerEx("RollerTime",1800000,false,"d",playerid);
- 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;
- }
- ocmd:vkaufen(playerid,params[])
- {
- for(new i = 1; i <MAX_VERMIETUNG; i++){
- if(IsPlayerInRangeOfPoint(playerid,5,VermietungInfo[i][VX],VermietungInfo[i][VY],VermietungInfo[i][VZ])){
- if(VermietungInfo[i][Besetzt] == 0){
- if(strcmp(VermietungInfo[i][Besitzer],SName(playerid),false) == 0){
- if(GetPlayerMoney(playerid) >= VermietungInfo[i][BusinessPreis]){
- if(GetPlayerScore(playerid) >= VermietungInfo[i][Level]){
- GivePlayerMoney(playerid,-VermietungInfo[i][BusinessPreis]);
- new VermietungDatei[64];
- format(VermietungDatei,64,"/Autovermietung/%d.txt",i);
- dini_IntSet(VermietungDatei,"Besetzt",1);
- dini_Set(VermietungDatei,"Besitzer",SName(playerid));
- SendClientMessage(playerid,ROT,"[VMIETUNG:]Du bist nun der neue Besitzer von der Autovermietung.");
- LoescheVermietung(i);
- LadeVermietung(i);
- }
- else return SendClientMessage(playerid,ROT,"ERROR:Dein Level ist nicht hoch genug.");
- }
- else return SendClientMessage(playerid,ROT,"ERROR:Du hast nicht genügend Geld dabei.");
- }
- }
- else return SendClientMessage(playerid,ROT,"ERROR:Diese Vermietung besitzt schon bereits einen Besitzer.");
- }
- }
- return 1;
- }
- stock ErstelleVermietung(Float:vx,Float:vy,Float:vz,preis,vmietungort[28],besitzer[64],level,businesspreis)
- {
- 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,"Besitzer",besitzer);
- 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,"BusinessPreis",businesspreis);
- dini_IntSet(VermietungDatei,"Level",level);
- dini_IntSet(VermietungDatei,"Besetzt",0);
- 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][BusinessPreis] = dini_Int(VermietungDatei,"BusinessPreis");
- VermietungInfo[VermietungID][Level] = dini_Int(VermietungDatei,"Level");
- VermietungInfo[VermietungID][Besetzt] = dini_Int(VermietungDatei,"Besetzt");
- format(VermietungInfo[VermietungID][VMietungOrt],28,"%s",dini_Get(VermietungDatei,"Vermietungsort"));
- format(VermietungInfo[VermietungID][Besitzer],64,"%s",dini_Get(VermietungDatei,"Besitzer"));
- if(VermietungInfo[VermietungID][Besetzt] == 0){
- new string[512];
- format(string,sizeof(string),"|| Rollervermietung ||\n|| Ort: %s ||\n|| Preis: $%d ||\n|| Besitzer: Keiner ||\n|| Kaufpreis: %d ||",VermietungInfo[VermietungID][VMietungOrt],VermietungInfo[VermietungID][Preis],VermietungInfo[VermietungID][BusinessPreis]);
- 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{
- new string[512];
- format(string,sizeof(string),"|| Besitzer: %s ||\n|| Ort: %s ||\n|| Rollervermietung ||\n|| Preis: $%d ||",VermietungInfo[VermietungID][Besitzer],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);
- }
- return 1;
- }
- stock LoescheVermietung(VermietungID)
- {
- Delete3DTextLabel(VermietungInfo[VermietungID][Label]);
- return DestroyDynamicObject(VermietungInfo[VermietungID][VMietungObject]);
- }
- stock SName(playerid)
- {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid,name,sizeof(name));
- return name;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement