Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Ho_Business v1.0
- // Credits to |GSR|Honig
- // Credits to Haxler für das entbuggen des Gametextes
- //
- #include <a_samp>
- #include <sscanf>
- //
- #define FILTERSCRIPT
- #define MAX_BUSINESSES 100
- #define PayoutTimer 600*1000
- #define COLOR_RED 0xFF0000FF
- #define COLOR_BLUE 0x0000FFFF
- #define COLOR_YELLOW 0xFFFF00FF
- #define COLOR_GREEN 0x00FF00FF
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- //
- new BusinessPickup[MAX_BUSINESSES];
- new BusinessCount = -1;
- //
- //
- enum BusInfo
- {
- Float:BusX,
- Float:BusY,
- Float:BusZ,
- Preis,
- Verkaufspreis,
- Gehalt,
- Besitzer,
- Name[60],
- Aktiv
- };
- new BusinessInfo[MAX_BUSINESSES][BusInfo];
- //
- public OnFilterScriptInit()
- {
- print("\n--------------------------------------------------");
- print(" Biz System © by |GSR|Honig erfolgreich geladen!");
- print("-------------------------------------------------\n");
- SetTimer("Payouttimer", PayoutTimer, true);
- CreateBusiness("Ammunation", 2351.23, -646.66, 128.06, 11500, 5700, 544);
- new File:fhnd;
- if(!fexist("SavedBusiness.txt"))
- {
- fhnd=fopen("SavedBusiness.txt",io_write);
- fclose(fhnd);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- return 1;
- }
- public OnPlayerRequestClass(playerid, classid)
- {
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- SendClientMessage(playerid,COLOR_BLUE,".: Dieser Server benutzt das Bizsystem Ho_Business v.1.0! :. ");
- return 1;
- }
- public OnPlayerDisconnect(playerid)
- {
- for(new C; C<BusinessCount+1; C++)
- {
- if(BusinessInfo[C][Besitzer] == playerid) BusinessInfo[C][Besitzer] = -1;
- }
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- return 1;
- }
- public OnVehicleSpawn(vehicleid)
- {
- return 1;
- }
- public OnVehicleDeath(vehicleid, killerid)
- {
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- return 1;
- }
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- dcmd(cbiz,4,cmdtext);
- if(!strcmp(cmdtext, "/buybiz", true))
- {
- if(IsPlayerCloseEnoughToBis(playerid) == -1) return SendClientMessage(playerid,COLOR_RED, "Du bist nicht an einer Firma!");
- new buss = IsPlayerCloseEnoughToBis(playerid);
- if(BusinessInfo[buss][Aktiv] == 1) return SendClientMessage(playerid, COLOR_RED, "Diese Firma steht momentan nicht zum Verkauf!");
- if(GetPlayerMoney(playerid) < BusinessInfo[buss][Preis]) return SendClientMessage(playerid, COLOR_RED, "Du hast nicht genug Geld um diese Firma zu kaufen!");
- if(BusinessInfo[buss][Besitzer] != -1) return SendClientMessage(playerid, COLOR_RED, "Diese Firma gehört schon jemandem!");
- BusinessInfo[buss][Besitzer] = playerid;
- SetPVarInt(playerid, "Einnahmen" , GetPVarInt(playerid, "Einnahmen") + BusinessInfo[buss][Gehalt]);
- SendClientMessage(playerid,COLOR_GREEN,"Herzlichen Glückwunsch zu deiner neuen Firma!");
- SendClientMessage(playerid,COLOR_GREEN,"Du wirst nun pünktlich alle 10 Minuten die Biz-Einnahmen ausgezahlt bekommen!");
- GivePlayerMoney(playerid, -BusinessInfo[buss][Preis]);
- return 1;
- }
- if(!strcmp(cmdtext, "/sellbiz", true))
- {
- if(IsPlayerCloseEnoughToBis(playerid) == -1) return SendClientMessage(playerid, COLOR_RED, "Du bist nicht an einer Firma!");
- new buss = IsPlayerCloseEnoughToBis(playerid);
- if(BusinessInfo[buss][Besitzer] != playerid) return SendClientMessage(playerid, COLOR_RED, "Diese Firma gehört dir nicht!");
- BusinessInfo[buss][Besitzer] = -1;
- SetPVarInt(playerid, "Einnahmen", GetPVarInt(playerid, "Einnahmen") - BusinessInfo[buss][Gehalt]);
- SendClientMessage(playerid,COLOR_GREEN,"Du hast deine Firma erfolgreich verkauft!");
- GivePlayerMoney(playerid, BusinessInfo[buss][Verkaufspreis]);
- }
- return 0;
- }
- /*CreateBusiness(BusinessName[], Float:XPos, Float:YPos, Float:ZPos, Kaufpreis, Sellpreis, Verdienst)
- {*/
- dcmd_cbiz(playerid,params[])
- {
- new bizname[56],kaufen,verkaufen,gehalt;
- if(sscanf(params,"siii",bizname,kaufen,verkaufen,gehalt)) return SendClientMessage(playerid,COLOR_BLUE,"Benutze: /cbiz (Name) (Kaufpreis) (Verkaufspreis) (Einnahmen)");
- if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,COLOR_RED,"Du bist kein RCON-Admin!");
- new entry[128];
- new Float:BX,Float:BY,Float:BZ;
- GetPlayerPos(playerid, BX, BY, BZ);
- new File:hFile;
- format(entry, 128, "CreateBusiness(\"%s\", %.2f, %.2f, %.2f, %d, %d, %d);",bizname,BX,BY,BZ,kaufen,verkaufen,gehalt);
- hFile = fopen("SavedBusiness.txt", io_append);
- fwrite(hFile, entry);
- fclose(hFile);
- AddStaticPickup(1272,1, BX, BY, BZ, 0);
- SendClientMessage(playerid,COLOR_BLUE,"Firma wurde in die Datei 'SavedBusiness.txt' eingetragen!");
- return 1;
- }
- public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
- {
- return 1;
- }
- public OnPlayerExitVehicle(playerid, vehicleid)
- {
- return 1;
- }
- public OnPlayerStateChange(playerid, newstate, oldstate)
- {
- 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 OnObjectMoved(objectid)
- {
- return 1;
- }
- public OnPlayerObjectMoved(playerid, objectid)
- {
- return 1;
- }
- public OnPlayerPickUpPickup(playerid,pickupid)
- {
- new C = IsABusinessPickup(pickupid);
- if(C != -1)
- {
- new ownername[MAX_PLAYER_NAME];
- GetPlayerName(BusinessInfo[C][Besitzer], ownername, 24);
- new str[150];
- if(BusinessInfo[C][Besitzer] == -1) format(str, 150, "~w~''%s''~n~~r~Preis: ~w~$%d~n~~r~Verkaufspreis: ~w~$%d~n~~r~Einnahmen: ~w~$%d", BusinessInfo[C][Name], BusinessInfo[C][Preis], BusinessInfo[C][Verkaufspreis], BusinessInfo[C][Gehalt]);
- else format(str, 150, "~w~''%s''~n~~r~Preis: ~w~$%d~n~~r~Verkaufspreis: ~w~$%d~n~~r~Einnahmen: ~w~$%d~n~~r~Besitzer: ~w~%s", BusinessInfo[C][Name], BusinessInfo[C][Preis], BusinessInfo[C][Verkaufspreis], BusinessInfo[C][Gehalt], ownername);
- return GameTextForPlayer(playerid, str, 3000, 3);
- }
- return 1;
- }
- public OnVehicleMod(playerid, vehicleid, componentid)
- {
- return 1;
- }
- public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
- {
- return 1;
- }
- public OnVehicleRespray(playerid, vehicleid, color1, color2)
- {
- return 1;
- }
- public OnPlayerSelectedMenuRow(playerid, row)
- {
- return 1;
- }
- public OnPlayerExitedMenu(playerid)
- {
- return 1;
- }
- public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
- {
- return 1;
- }
- public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
- {
- return 1;
- }
- public OnRconLoginAttempt(ip[], password[], success)
- {
- return 1;
- }
- public OnPlayerUpdate(playerid)
- {
- return 1;
- }
- public OnPlayerStreamIn(playerid, forplayerid)
- {
- return 1;
- }
- public OnPlayerStreamOut(playerid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamIn(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnVehicleStreamOut(vehicleid, forplayerid)
- {
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- return 1;
- }
- CreateBusiness(BusinessName[], Float:XPos, Float:YPos, Float:ZPos, Kaufpreis, Sellpreis, Verdienst)
- {
- if(!strlen(BusinessName)) return 0;
- BusinessCount ++;
- BusinessInfo[BusinessCount][BusX] = XPos;
- BusinessInfo[BusinessCount][BusY] = YPos;
- BusinessInfo[BusinessCount][BusZ] = ZPos;
- BusinessInfo[BusinessCount][Preis] = Kaufpreis;
- BusinessInfo[BusinessCount][Verkaufspreis] = Sellpreis;
- BusinessInfo[BusinessCount][Gehalt] = Verdienst;
- BusinessInfo[BusinessCount][Besitzer] = -1;
- BusinessPickup[BusinessCount] = CreatePickup(1274,1,XPos, YPos, ZPos);
- format(BusinessInfo[BusinessCount][Name], 60, "%s", BusinessName);
- return BusinessCount;
- }
- forward Payouttimer();
- public Payouttimer()
- {
- for(new i; i<GetMaxPlayers(); i++)
- {
- if(GetPVarInt(i, "Einnahmen") != 0)
- {
- new Str[100];
- format(Str, sizeof(Str), "** INFO: Bizeinnahmen: +$%d **", GetPVarInt(i, "Einnahmen"));
- SendClientMessage(i, COLOR_GREEN, Str);
- GivePlayerMoney(i, GetPVarInt(i, "Einnahmen"));
- }
- }
- return 1;
- }
- stock IsPlayerCloseEnoughToBis(playerid)
- {
- for(new C; C<BusinessCount+1; C++)
- {
- if(IsPlayerInRangeOfPoint(playerid, 3, BusinessInfo[C][BusX], BusinessInfo[C][BusY], BusinessInfo[C][BusZ])) return C;
- }
- return -1;
- }
- stock IsABusinessPickup(pickupid)
- {
- for(new i;i<=BusinessCount;i++)
- {
- if(pickupid == BusinessPickup[i])return i;
- }
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment