11.03.2014, 16:39
Quote:
guyz tell mwe where should i add my biz
Code:
#include <a_samp> #define MAX_BUSINESSES 100 //Increase if you need more but it will make your script larger. #define PayoutTimer 12000 //Number of seconds before the player gets his next pay. enum BusInfo { Float:BusX, //Business X Pos Float:BusY, //Business Y Pos Float:BusZ, //Business Z Pos BusCost, //Business buy cost BusSell, // Business sell cost BusEarn, //Business earn BusOwner, // ID of the player that owns the business BusName[60], // The name of the business Disabled //If the business is disabled or not }; //Add these at the top of your script. new BusinessPickup[MAX_BUSINESSES]; // This is for all the pickups for the businesses. new BusinessCount = -1; // This is so we can store all the business info like this BusinessInfo[BusinessCount][BusOwner] new BusinessInfo[MAX_BUSINESSES][BusInfo]; // All the enum info is saved into one variable. CreateBusiness(BusinessName[], Float:XPos, Float:YPos, Float:ZPos, Price, Sell, Earn) { if(!strlen(BusinessName)) return 0; //If there is no name then it will not create the business BusinessCount ++; //Adding 1 onto the businesscount so the first one will be BusinessInfo[0][....] BusinessInfo[BusinessCount][BusX] = XPos; //Sets the Xpos into the variable for long term saving. BusinessInfo[BusinessCount][BusY] = YPos; //Sets the Ypos into the variable for long term saving. BusinessInfo[BusinessCount][BusZ] = ZPos; //Sets the Zpos into the variable for long term saving. BusinessInfo[BusinessCount][BusCost] = Price; //Sets the price into the variable for long term saving. BusinessInfo[BusinessCount][BusSell] = Sell; //Sets the Sell cost into the variable for long term saving. BusinessInfo[BusinessCount][BusEarn] = Earn; // //Sets the earning into the variable for long term saving. BusinessInfo[BusinessCount][BusOwner] = -1; //Sets the business owner into the variable for long term saving. BusinessPickup[BusinessCount] = AddStaticPickup(1272, 19, XPos, YPos, ZPos, -1); //Adds the pickup format(BusinessInfo[BusinessCount][BusName], 60, "%s", BusinessName); //Sets the business name into the variable for long term saving. return BusinessCount; //Will return the business ID } public OnFilterScriptInit() //Change to OnFilterScriptInit if it's a filterscript =]. { SetTimer("Payouttimer", PayoutTimer, true); //Sets the timer =]. CreateBusiness("TestBiz", 100.0, 100.0, 10.0, 13337, 10000, 100); return 1; } stock IsPlayerCloseEnoughToBis(playerid) { for(new C; C<BusinessCount+1; C++)//Loops through all businesses { if(IsPlayerInRangeOfPoint(playerid, 3, BusinessInfo[C][BusX], BusinessInfo[C][BusY], BusinessInfo[C][BusZ])) return C; // Checks if a business is close enough } return -1; } forward Payouttimer(); //You must forward a timer public Payouttimer() { for(new i; i<GetMaxPlayers(); i++) // Loops through every player { if(GetPVarInt(i, "Businessearnings") != 0) //Does the player earn any $$ { new Str[100]; // Creating a string format(Str, sizeof(Str), "You have earned %d from all your properties!", GetPVarInt(i, "Businessearnings")); //Formats the string SendClientMessage(i, 0x00FF00AA, Str); //Sends the string to the player GivePlayerMoney(i, GetPVarInt(i, "Businessearnings")); //Gives the player the $$ } } return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(!strcmp(cmdtext, "/buy", true)) { if(IsPlayerCloseEnoughToBis(playerid) == -1) return SendClientMessage(playerid, 0xAA3333AA, "You are not close enough to a business!!!"); //Returns this if the player isn't within 3 X, Y or Z of the business new buss = IsPlayerCloseEnoughToBis(playerid); //Makes a shorter define if(BusinessInfo[buss][Disabled] == 1) return SendClientMessage(playerid, 0xAA3333AA, "Business is disabled!!"); //This is for a function down at the bottom of this tutorial if(GetPlayerMoney(playerid) < BusinessInfo[buss][BusCost]) return SendClientMessage(playerid, 0xAA3333AA, "You don't have enough money for this business =D"); //Will return this if the player is a poor nub =D. if(BusinessInfo[buss][BusOwner] != -1) return SendClientMessage(playerid, 0xAA3333AA, "Someone already owns this business!"); //Will return it if somebody online owns the business. BusinessInfo[buss][BusOwner] = playerid; //Sets the business owner SetPVarInt(playerid, "Businessearnings" , GetPVarInt(playerid, "Businessearnings") + BusinessInfo[buss][BusEarn]); // Makes the players earn more new str[100]; //Creates a string format(str, sizeof(str), "You have brought the business %s for $%d. You will now earn $%d", BusinessInfo[buss][BusName], BusinessInfo[buss][BusCost], BusinessInfo[buss][BusEarn]); //Formats a string SendClientMessage(playerid, 0x00FF00AA, str); //Sends the string GivePlayerMoney(playerid, -BusinessInfo[buss][BusCost]); //Takes the $$ of for the business return 1; } if(!strcmp(cmdtext, "/sell", true)) { if(IsPlayerCloseEnoughToBis(playerid) == -1) return SendClientMessage(playerid, 0xAA3333AA, "You are not close enough to a business!!!"); //Checks if the player is close enough to any business new buss = IsPlayerCloseEnoughToBis(playerid); //Shortens the function if(BusinessInfo[buss][BusOwner] != playerid) return SendClientMessage(playerid, 0xAA3333AA, "You don't own this business!"); //Checks if the player actually owns this business BusinessInfo[buss][BusOwner] = -1; //Deletes the owner. SetPVarInt(playerid, "Businessearnings", GetPVarInt(playerid, "Businessearnings") - BusinessInfo[buss][BusEarn]); //Sets the players business earning down. new str[100];//Creates string format(str, sizeof(str), "You have sold the business %s for $%d", BusinessInfo[buss][BusName], BusinessInfo[buss][BusCost]); //Formats a string SendClientMessage(playerid, 0x00FF00AA, str); //Sends the string. GivePlayerMoney(playerid, BusinessInfo[buss][BusSell]); //Gives the player the $$ for selling the business =]. return 1; } return 0; } public OnPlayerPickUpPickup(playerid,pickupid) //If you have one of these add the stuff in this to your one =] { for(new C; C<BusinessCount+1; C++)//Loops through all businesses { if(pickupid == BusinessPickup[C]) //Checks if the pickup is for a business { new str[150];//Creates a string. if(BusinessInfo[C][BusOwner] == -1) format(str, sizeof(str), "%s ~n~~r~Cost price: $%d ~b~Sale price: $%d ~n~ ~g~Earn ammount: $%d", BusinessInfo[C][BusName], BusinessInfo[C][BusCost], BusinessInfo[C][BusSell], BusinessInfo[C][BusEarn]); //Makes the string for a business with no owner. if(BusinessInfo[C][BusOwner] != -1) { new Pname[24]; //Creates player name variable GetPlayerName(BusinessInfo[C][BusOwner], Pname, 24); //Gets player name format(str, sizeof(str), "%s ~n~~r~Cost price: $%d ~b~Sale price: $%d ~n~ ~g~Earn ammount: $%d~n~~w~Owner: %s(%d)", BusinessInfo[C][BusName], BusinessInfo[C][BusCost], BusinessInfo[C][BusSell], BusinessInfo[C][BusEarn], Pname, BusinessInfo[C][BusOwner]); GameTextForPlayer(playerid, str, 3000, 3); } } } return 1; } public OnPlayerDisconnect(playerid) //Copy the stuff below into your one if you have one =D. { for(new C; C<BusinessCount+1; C++)//Loops through all businesses { if(BusinessInfo[C][BusOwner] == playerid) BusinessInfo[C][BusOwner] = -1; //Deletes the owner. } return 1; } stock ChangeBusinessName(BusinessID, BusNamme) { format(BusinessInfo[BusinessID][BusName], 60, "%s", BusNamme); return 1; } stock DisableBusiness(BusinessID) { BusinessInfo[BusinessID][Disabled] = 1; return 1; } stock EnableBusiness(BusinessID) { BusinessInfo[BusinessID][Disabled] = 0; return 1; } stock DeleteBusinessOwner(BusinessID) { BusinessInfo[BusinessID][BusOwner] = -1; return 1; } stock ChangeBusinessCost(BusinessID, BussCost) { BusinessInfo[BusinessID][BusCost] = BussCost; return 1; } stock ChangeBusinessSell(BusinessID, BussSell) { BusinessInfo[BusinessID][BusSell] = BussSell; return 1; } stock ChangeBusinessEarn(BusinessID, Earrn) { BusinessInfo[BusinessID][BusEarn] = Earrn; } |