//RoNaLD wAz ere anD grafeeteed on tomozj's pasteBin 20/3/07 // lol ron :D //Grove: #include #include #include #include #define COLOR_GREY 0xAFAFAFAA #define COLOR_GREEN 0x33AA33AA #define COLOR_RED 0xAA3333AA #define COLOR_YELLOW 0xFFFF00AA #define COLOR_WHITE 0xFFFFFFAA //Colour Defines 2 #define GREY 0x808080AA #define GREEN 0x20B2AAAA #define YELLOW 0xFFFF00AA //0xFFFFE0AA #define ORANGE 0xDA70D6AA #define WHITE 0xFFFFFFAA #define RED 0xFF0000AA //0xAA3333AA #define DARKRED 0x660000AA #define PINK 0xFF66FFAA #define BLUE 0x0000BBAA #define LIGHTBLUE 0x33CCFFAA #define PocketMoney 1000000 // Amount player recieves on spawn. #define INACTIVE_PLAYER_ID 255 #define GIVECASH_DELAY 5000 // Time in ms between /givecash commands. #define NUMVALUES 4 forward MoneyGrubScoreUpdate(); forward Givecashdelaytimer(playerid); //forward GrubModeReset(); forward SetPlayerRandomSpawn(playerid); forward SetupPlayerForClassSelection(playerid); forward GameModeExitFunc(); forward OnPlayerPrivmsg(playerid, senderid, text[]); //------------------------ //--Weapon Defines by----- //-------tomozj----------- //------------------------ //#define Unarmed 0 //#define BrassKnuckle 1 #define GolfClub 2 #define NightStick 3 #define Knife 4 #define BaseballBat 5 #define Shovel 6 #define PoolCue 7 #define Katana 8 #define Chainsaw 9 #define DoubleEndedDildo 10 #define BigWhiteVibrator 11 #define MediumWhiteVibrator 12 #define SmallSilverVibrator 13 #define Flowers 14 #define Cane 15 //#define Grenade 16 //#define Teargas 17 #define Molotov 18 //#define RPG 19 //#define HeatRPG 20 //#define HydraRocket 21 #define Pistol 22 #define SPistol 23 #define DesertEagle 24 #define Shotgun 25 #define SawnoffShotgun 26 #define CombatShotgun 27 #define MicroUzi 28 #define MP5 29 #define AK47 30 #define M4 31 #define Tec9 32 //#define CountryRifle 33 //#define SniperRifle 34 //#define RocketLauncher 35 //#define HSRocketLauncher 36 #define Flamethrower 37 #define Minigun 38 //#define SatchelCharge 39 //#define Detonator 40 #define Spraycan 41 #define FireExtinguisher 42 #define Camera 43 #define Nightvision 44 #define InfraredVision 45 #define Parachute 46 #define FakePistol 47 //#define VehicleDeath 49 //#define DrownedDeath 53 //#define Collision/SplashDeath 54 //------------------------------------------------------------------------------------------------------ new CashScoreOld; //new iSpawnSet[MAX_PLAYERS]; new gActivePlayers[MAX_PLAYERS]; new gLastGaveCash[MAX_PLAYERS]; //------------------------------------------------------------------------------------------------------ main() { print("n----------------------------------"); print(" Running ColdThugZ Trainingn"); print(" Hosted and Coded By"); print(" tomozj"); print("----------------------------------n"); } //------------------------------------------------------------------------------------------------------ public MoneyGrubScoreUpdate() { new CashScore; new name[MAX_PLAYER_NAME]; //new string[256]; for(new i=0; i CashScoreOld) { CashScoreOld = CashScore; //format(string, sizeof(string), "$$$ %s is now in the lead $$$", name); //SendClientMessageToAll(COLOR_YELLOW, string); } } } } //------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------ public OnPlayerConnect(playerid) { GameTextForPlayer(playerid,"~w~ColdThugZ ~r~4 ~g~Life",5000,5); SendPlayerFormattedText(playerid, "Welcome to the ColdThugZ Training Server, Created by Grove", 0); SendPlayerFormattedText(playerid, "Feeling down? Kill a clown! Login before you spawn otherwise you WILL be kicked!.", 0); gActivePlayers[playerid]++; gLastGaveCash[playerid] = GetTickCount(); return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerDisconnect(playerid) { gActivePlayers[playerid]--; } //------------------------------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[]) { new string[256]; new playermoney; new sendername[MAX_PLAYER_NAME]; new giveplayer[MAX_PLAYER_NAME]; new cmd[256]; new giveplayerid, moneys, idx; // new idx; // new string[256]; new command[256]; command = strtok(cmdtext, idx); cmd = strtok(cmdtext, idx); if(strcmp(cmd, "/help", true) == 0) { SendPlayerFormattedText(playerid,"The ColdThugZ 4 life training server",0); SendPlayerFormattedText(playerid,"Type: /objective : to find out what to do in this gamemode.",0); SendPlayerFormattedText(playerid,"Type: /givecash [playerid] [money-amount] to send money to other players.",0); SendPlayerFormattedText(playerid,"Type: /regiser [password] to register your id on this server.", 0); SendPlayerFormattedText(playerid,"Type: /tips : to see some tips from the creator of the gamemode.", 0); return 1; } if(strcmp(cmd, "/objective", true) == 0) { SendPlayerFormattedText(playerid,"Practice hard-to-do stuff, like parachuting and long range crap. You can practice a whole range of stuff.",0); SendPlayerFormattedText(playerid,"If you'd like a weapon, just ask an admin. I will implement that you can do it yourself, soon :)",0); return 1; } if(strcmp(cmd, "/givecash", true) == 0) { new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } giveplayerid = strval(tmp); tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]"); return 1; } moneys = strval(tmp); //printf("givecash_command: %d %d",giveplayerid,moneys); if (IsPlayerConnected(giveplayerid)) { GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer)); GetPlayerName(playerid, sendername, sizeof(sendername)); playermoney = GetPlayerMoney(playerid); if (moneys > 0 && playermoney >= moneys) { GivePlayerMoney(playerid, (0 - moneys)); GivePlayerMoney(giveplayerid, moneys); format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys); SendClientMessage(playerid, COLOR_YELLOW, string); format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid); SendClientMessage(giveplayerid, COLOR_YELLOW, string); printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid); } else { SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount."); } } else { format(string, sizeof(string), "%d is not an active player.", giveplayerid); SendClientMessage(playerid, COLOR_YELLOW, string); } return 1; } // PROCESS OTHER COMMANDS - new if (strcmp(command, "/tp", true)==0) { new endid; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { //if there is no params SendClientMessage(playerid,WHITE,"USAGE: /tp "); } else { //if there are any params! :) if(!IsPlayerConnected(endid)) { //Checks if they are connected SendClientMessage(playerid,GREY,"Enter a valid player id!."); return 1; } else { endid = strval(tmp); new end_player[MAX_PLAYER_NAME]; new start_player[MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; GetPlayerName(endid,end_player,sizeof(end_player)); GetPlayerName(playerid,start_player,sizeof(start_player)); GetPlayerPos(endid,Float:X,Float:Y,Float:Z); SetPlayerPos(playerid,Float:X+1,Float:Y+1,Float:Z); format(string,sizeof(string),"You've been teleported to %s!",end_player); SendClientMessage(playerid, YELLOW, string); format(string,sizeof(string),"%s has been teleported to you!",start_player); SendClientMessage(endid,YELLOW,string); } } return 1; } if (strcmp(command, "/ctp", true)==0) { new tmp[256]; new endid; tmp = strtok(cmdtext, idx); endid = strval(tmp); if(!strlen(tmp)) { //if there is no params SendClientMessage(playerid,WHITE,"USAGE: /ctp "); } else { //if there are any params! :) if(!IsPlayerConnected(endid)) { //Checks if they are connected SendClientMessage(playerid,GREY,"Enter a valid player id!."); return 1; } else { new end_player[MAX_PLAYER_NAME]; new start_player[MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; GetPlayerName(endid,end_player,sizeof(end_player)); GetPlayerName(playerid,start_player,sizeof(start_player)); GetPlayerPos(endid,Float:X,Float:Y,Float:Z); SetVehiclePos(playerid,Float:X,Float:Y,Float:Z+3); format(string,sizeof(string),"You have car teleported to %s!",end_player); SendClientMessage(playerid, YELLOW, string); format(string,sizeof(string),"%s has car teleported to you!",start_player); SendClientMessage(endid,YELLOW,string); } } return 1; } if(strcmp(command,"/dive",true)==0) { new Float:X,Float:Y,Float:Z; GetPlayerPos(playerid,Float:X,Float:Y,Float:Z); SetPlayerPos(playerid,Float:X,Float:Y,Float:Z+500); GameTextForPlayer(playerid,"WOOHOO!!!",5000,3); GivePlayerWeapon(playerid, 46, 1 ); return 1; } if(strcmp(command,"/time",true)==0) { new hour,minute,second; gettime(hour, minute, second); format(string,sizeof(string),"Time: %d:%d:%d",hour,minute,second); SendClientMessage(playerid, YELLOW,string); return 1; } if(strcmp(command,"/date",true)==0) { new year,month,day; getdate(year,month,day); format(string,sizeof(string),"Date: %d/%d/%d",day,month,year); SendClientMessage(playerid, YELLOW,string); return 1; } //admincommands via RCON if(IsPlayerAdmin(playerid) == 1) { if (strcmp(command, "/fetch", true)==0) { new endid; new tmp[256]; tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { //if there is no params SendClientMessage(playerid,WHITE,"USAGE: /fetch "); } else { //if there are any params! :) if(!IsPlayerConnected(endid)) { //Checks if they are connected SendClientMessage(playerid,GREY,"Enter a valid player id!"); return 1; } else { endid = strval(tmp); new end_player[MAX_PLAYER_NAME]; new start_player[MAX_PLAYER_NAME]; new Float:X, Float:Y, Float:Z; GetPlayerName(endid,end_player,sizeof(end_player)); GetPlayerName(playerid,start_player,sizeof(start_player)); GetPlayerPos(playerid,Float:X,Float:Y,Float:Z); SetPlayerPos(endid,Float:X,Float:Y,Float:Z); format(string,sizeof(string),"You have fetched %s.",end_player); SendClientMessage(playerid, YELLOW, string); format(string,sizeof(string),"You've been fetched by an administrator!",start_player); SendClientMessage(endid,YELLOW,string); } } return 1; } }//endofadmin ++++++ return 0; } //------------------------------------------------------------------------------------------------------ public OnPlayerSpawn(playerid) { GivePlayerMoney(playerid, PocketMoney); SetPlayerInterior(playerid,0); //SetPlayerRandomSpawn(playerid); return 1; } /*public SetPlayerRandomSpawn(playerid) { new rand = random(sizeof(gRandomPlayerSpawns)); SetPlayerPos(playerid, gRandomPlayerSpawns[rand][0], gRandomPlayerSpawns[rand][1], gRandomPlayerSpawns[rand][2]); // Warp the player //} //return 1; }*/ //------------------------------------------------------------------------------------------------------ public OnPlayerDeath(playerid, killerid, reason) { new playercash; if(killerid == INVALID_PLAYER_ID) { SendDeathMessage(INVALID_PLAYER_ID,playerid,reason); ResetPlayerMoney(playerid); } else { SendDeathMessage(killerid,playerid,reason); SetPlayerScore(killerid,GetPlayerScore(killerid)+1); playercash = GetPlayerMoney(playerid); if (playercash > 0) { GivePlayerMoney(killerid, playercash); ResetPlayerMoney(playerid); } else { } } return 1; } //------------------------------------------------------------------------------------------------------ public OnPlayerRequestClass(playerid, classid) { SetupPlayerForClassSelection(playerid); return 1; } public SetupPlayerForClassSelection(playerid) { SetPlayerInterior(playerid,14); SetPlayerPos(playerid,258.4893,-41.4008,1002.0234); SetPlayerFacingAngle(playerid, 270.0); SetPlayerCameraPos(playerid,256.0815,-43.0475,1004.0234); SetPlayerCameraLookAt(playerid,258.4893,-41.4008,1002.0234); } public GameModeExitFunc() { GameModeExit(); } public OnGameModeInit() { SetGameModeText("ColdThugZ Practice Server from tomozj"); ShowPlayerMarkers(1); ShowNameTags(1); AddPlayerClass(107,1460.5353,2789.9490,10.8203,269.1425,MicroUzi,16000,SawnoffShotgun,15000,M4,15000); //Groves AddPlayerClass(264,1785.9087,2848.6279,10.6738,42.3208,MicroUzi,16000,SawnoffShotgun,15000,M4,15000); //Clowns AddPlayerClass(50,2149.753906,-1810.177490,16.140625,269.1425,MicroUzi,16000,SawnoffShotgun,15000,M4,15000); // Spectators //PROPERTIES //required includes #include //everything needs it :D #include //dini #include //dudb //requiered defines #define dcmd(%1,%2,%3) if ((strcmp(%3, "/%1", true, %2+1) == 0)&&(((%3[%2+1]==0)&&(dcmd_%1(playerid,"")))||((%3[%2+1]==32)&&(dcmd_%1(playerid,%3[%2+2]))))) return 1 //required functions //properties files are called by their propid, so less memory used as we dont need to udb_encode() it stock propfile(prop) { new string[256]; format(string, sizeof(string), "%d.prop", prop); return string; } //what your players login files are. //change it, if yours are different stock playerfile(playerid) { new string[256]; format(string, sizeof(string), "%s.sav", udb_encode(Playername(playerid))); return string; } stock GetDistanceBetweenTwoPoints(Float:x,Float:y, Float:x1,Float:y1) { new Float:tmpdis; tmpdis = floatsqroot(floatpower(floatabs(floatsub(x,x1)),2)+floatpower(floatabs(floatsub(y,y1)),2)); return floatround(tmpdis); } //less params then SendClientMessage() stock SendPlayerText(playerid, const text[]) { return SendClientMessage(playerid, 0x35FFC2AA, text); } //required to get the owner of the property that has been bought. stock GetPlayerid(name[]) { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { if(strcmp(Playername(i), name, true) == 0) { return i; } } } return INVALID_PLAYER_ID; } /* NOTE: Not all these functions are by me. If you want to find the original authors, look in the useful functions thread or around sa-mp forum. */ //required forwards forward ConstFunctions(); //required stats enum PLAYER_PARAMS { proparea, bool:Logged } new PlayerParameters[MAX_PLAYERS][PLAYER_PARAMS]; //------------------------------------------------------------------------------ //checkpoint stuff #define MAX_PROPS 1000 //if you have 1000+ properties, just change it new PropInfo[MAX_PROPS]; new InfoPoint[MAX_PROPS][256]; //------------------------------------------------------------------------------ //add property //adds a property (each property creates its own file, so dont change the propid after youve started the mode once. stock AddProperty(playerid, Float:x, Float:y, Float:z, name[], price, bool:forsale, propid, size) { if(!fexist(propfile(propid))) { dini_Create(propfile(propid)); dini_Set(propfile(propid), "name", name); dini_IntSet(propfile(propid), "price", price); dini_FloatSet(propfile(propid), "x", x); dini_FloatSet(propfile(propid), "y", y); dini_FloatSet(propfile(propid), "z", z); if(forsale) { dini_IntSet(propfile(propid), "forsale", 1); } else { dini_IntSet(propfile(propid), "forsale", 0); } } new Float:xp, Float:yp, Float:zp; GetPlayerPos(playerid, xp, yp, zp); if(GetDistanceBetweenTwoPoints(x,y, xp,yp) < 40) { if(PlayerParameters[playerid][proparea]!=propid) { SetPlayerCheckpoint(playerid, x, y, z, size); PlayerParameters[playerid][proparea]=propid; } } else if(PlayerParameters[playerid][proparea]==propid) { PlayerParameters[playerid][proparea]=0; DisablePlayerCheckpoint(playerid); } PropInfo[propid]=1; return 1; } //------------------------------------------------------------------------------ //add info point //adds a checkpoint which, when walked into, tells the player information stock AddInfoPoint(playerid, Float:x, Float:y, Float:z, line[], infoid, size) { new Float:xp, Float:yp, Float:zp; GetPlayerPos(playerid, xp, yp, zp); if(GetDistanceBetweenTwoPoints(x,y, xp,yp) < 40) { if(PlayerParameters[playerid][proparea]!=infoid) { SetPlayerCheckpoint(playerid, x, y, z, size); PlayerParameters[playerid][proparea]=infoid; } } else if(PlayerParameters[playerid][proparea]==infoid) { PlayerParameters[playerid][proparea]=0; DisablePlayerCheckpoint(playerid); } PropInfo[infoid]=2; set(InfoPoint[infoid], line); return 1; } //------------------------------------------------------------------------------ //this is where to add properties or info points stock PropertyCheckpointUpdate(playerid) { AddProperty(playerid,2024.6274,1007.8792,10.8203, "Four Dragons Casino", 20000000, true, 1, 5/2); AddProperty(playerid,1680.5830,1447.9042,10.7735, "The Airport", 50000000, false, 2, 5/2); AddProperty(playerid,1607.0425,1819.7314,10.8280, "Hospital", 150000, false, 3, 5/2); //Bank AddInfoPoint(playerid,2418.9380,1123.6112,10.8203, "BANK: You can safely store your money in the bank", 4, 5/2); return 1; } //------------------------------------------------------------------------------ //what happens when someone enters the checkpoint. public OnPlayerEnterCheckpoint(playerid) { new string[256], propid; propid=PlayerParameters[playerid][proparea]; if(PropInfo[propid]==1) { format(string, sizeof(string), "-- %s --", dini_Get(propfile(propid), "name")); SendPlayerText(playerid, string); format(string, sizeof(string), "Price: %d", dini_Int(propfile(propid), "price")); SendPlayerText(playerid, string); if(dini_Int(propfile(propid), "forsale") == 1) SendPlayerText(playerid, "Forsale: Yes"); if(dini_Int(propfile(propid), "forsale") == 0) SendPlayerText(playerid, "Forsale: No"); if(dini_Isset(propfile(propid), "owner")) { format(string, sizeof(string), "Owner: %s", dini_Get(propfile(propid), "owner")); SendPlayerText(playerid, string); } } else if(PropInfo[propid]==2) { SendPlayerText(playerid, InfoPoint[propid]); } return 1; } //------------------------------------------------------------------------------ //Playername (not created by me, but required) stock Playername(playerid) { new name[MAX_PLAYER_NAME]; GetPlayerName(playerid, name, MAX_PLAYER_NAME); return name; } //------------------------------------------------------------------------------ //converts integer into string (easier to type then valstr()) stock str(value) { new string[256]; format(string, sizeof(string), "%d", value); return string; } //------------------------------------------------------------------------------ //one function, created so you can run constant functions off one timer public ConstFunctions() { for (new i = 0; i < MAX_PLAYERS; i++) { if (IsPlayerConnected(i)) { PropertyCheckpointUpdate(i); } } return 1; } //------------------------------------------------------------------------------ public OnGameModeInit() { SetTimer("ConstFunctions", 400, 1); //loops the function (you may want to make it higher if you have alot of properties in your server) //other stuff return 1; } //------------------------------------------------------------------------------ //put the property up for sale dcmd_sell(playerid, params[]) { #pragma unused params if(!PlayerParameters[playerid][Logged]) return SendPlayerText(playerid, "ERROR: You must be logged in"); new propid = PlayerParameters[playerid][proparea]; if(!IsPlayerInCheckpoint(playerid) || PropInfo[propid]!=1) return SendPlayerText(playerid, "ERROR: You must be in a property checkpoint"); if(!dini_Isset(propfile(propid), "owner")) return SendPlayerText(playerid, "ERROR: You don't own this property"); if(strcmp(dini_Get(propfile(propid), "owner"), Playername(playerid), true) == 0) { // if(!strlen(params)) return SendPlayerText(playerid, "USAGE: /sell [price]"); if(dini_Int(propfile(propid), "forsale") == 1) return SendPlayerText(playerid, "ERROR: Property is already for sale"); dini_IntSet(propfile(propid), "forsale", 1); SendPlayerText(playerid, "PROPERTY: Set for sale"); } else { SendPlayerText(playerid, "ERROR: You don't own this property"); } return 1; } //change the price of the property (if you own it) dcmd_value(playerid, params[]) { if(!PlayerParameters[playerid][Logged]) return SendPlayerText(playerid, "ERROR: You must be logged in"); new propid = PlayerParameters[playerid][proparea]; if(!IsPlayerInCheckpoint(playerid) || PropInfo[propid]!=1) return SendPlayerText(playerid, "ERROR: You must be in a property checkpoint"); if(!dini_Isset(propfile(propid), "owner")) return SendPlayerText(playerid, "ERROR: You don't own this property"); if(strcmp(dini_Get(propfile(propid), "owner"), Playername(playerid), true) == 0) { if(!strlen(params)) return SendPlayerText(playerid, "USAGE: /value [price]"); new string[256]; format(string, sizeof(string), "PROPERTY: Set value to $%d", strval(params)); SendPlayerText(playerid, string); dini_IntSet(propfile(propid), "price", strval(params)); } else { SendPlayerText(playerid, "ERROR: You don't own this property"); } return 1; } //buy a property dcmd_buy(playerid, params[]) { #pragma unused params if(!PlayerParameters[playerid][Logged]) return SendPlayerText(playerid, "ERROR: You must be logged in"); new propid = PlayerParameters[playerid][proparea]; if(!IsPlayerInCheckpoint(playerid) || PropInfo[propid]!=1) return SendPlayerText(playerid, "ERROR: You must be in a property checkpoint"); if(strcmp(dini_Get(propfile(propid), "name"), Playername(playerid), true) == 0) return SendPlayerText(playerid, "ERROR: You already own this property"); if(dini_Int(propfile(propid), "forsale") == 0) return SendPlayerText(playerid, "ERROR: Property is not for sale"); new price; price=dini_Int(propfile(propid), "price"); if(price > GetPlayerMoney(playerid)) return SendPlayerText(playerid, "ERROR: Not enough money"); new string[256]; if(dini_Isset(propfile(propid), "owner")) { format(string, sizeof(string), "PROPERTY: You have bought %s off %s", dini_Get(propfile(propid), "name"), dini_Get(propfile(propid), "owner")); SendPlayerText(playerid, string); new sellerid = GetPlayerid(dini_Get(propfile(propid), "owner")); if(IsPlayerConnected(sellerid)) { GivePlayerMoney(sellerid, price); format(string, sizeof(string), "PROPERTY: Your property \"%s\" has been bought buy %s", dini_Get(propfile(propid), "name"), Playername(playerid)); SendPlayerText(sellerid, string); } else { dini_IntSet(udb_encode(dini_Get(propfile(propid), "owner")), "money", price + dini_Int(udb_encode(dini_Get(propfile(propid), "owner")), "money")); } } else { format(string, sizeof(string), "PROPERTY: You have bought %s", dini_Get(propfile(propid), "name")); SendPlayerText(playerid, string); } dini_IntSet(propfile(propid), "forsale", 0); GivePlayerMoney(playerid, price * -1); dini_Set(propfile(propid), "owner", Playername(playerid)); return 1; } //pulls the property off the market dcmd_unsell(playerid, params[]) { #pragma unused params if(!PlayerParameters[playerid][Logged]) return SendPlayerText(playerid, "ERROR: You must be logged in"); new propid = PlayerParameters[playerid][proparea]; if(!IsPlayerInCheckpoint(playerid) || PropInfo[propid]!=1) return SendPlayerText(playerid, "ERROR: You must be in a property checkpoint"); if(!dini_Isset(propfile(propid), "owner")) return SendPlayerText(playerid, "ERROR: You don't own this property"); if(strcmp(dini_Get(propfile(propid), "owner"), Playername(playerid), true) == 0) { if(dini_Int(propfile(propid), "forsale") == 0) return SendPlayerText(playerid, "ERROR: Property is already not for sale"); dini_IntSet(propfile(propid), "forsale", 0); SendPlayerText(playerid, "PROPERTY: Set to not for sale"); } else { SendPlayerText(playerid, "ERROR: You don't own this property"); } return 1; } //------------------------------------------------------------------------------ public OnPlayerCommandText(playerid, cmdtext[], text[]) { dcmd(sell,4,cmdtext); dcmd(buy,3,cmdtext); dcmd(unsell,6,cmdtext); dcmd(value,5,cmdtext); return 0; } //Airport AddStaticVehicle(497,1604.5009,1632.5208,10.6584,165.4447,-1,-1); // heli N AddStaticVehicle(488,1653.2899,1551.5253,10.6297,28.1039,-1,-1); // Heli S1 AddStaticVehicle(487,1630.6370,1538.0615,10.6363,20.9186,-1,-1); // Heli S2 AddStaticVehicle(513,1275.2164,1322.2445,10.6578,269.8379,-1,-1); // Stuntplane //Stuff //AddStaticVehicle(502,1771.6277,1713.6118,8.4002,176.5937,18,1); // Under bridge near airport //AddStaticVehicle(508,1892.3022,1740.1941,10.6505,355.2742,18,1); // Staticcar //AddStaticVehicle(539,2075.0254,1687.5909,10.5100,182.6338,18,1); // Caluigas Static //AddStaticVehicle(528,2040.4146,1550.0151,10.5099,181.2650,18,1); // Pirate ship static //AddStaticVehicle(523,2196.8042,1855.9552,10.6588,183.9444,18,1); // Static carpark //AddStaticVehicle(434,2175.3594,1985.5201,10.6578,354.0914,18,1); // Static car 24-7 //AddStaticVehicle(429,2098.4536,2065.6353,10.6583,19.8687,18,1); // Static Banshee //AddStaticVehicle(438,2106.6731,2216.9944,10.6587,103.8177,18,1); // Staticcar 24-7 north //AddStaticVehicle(438,2137.6179,2232.7024,10.6811,328.1266,18,1); // Staticcar middle //AddStaticVehicle(438,2198.3364,2346.4541,10.5099,331.3130,18,1); // Staticcar //AddStaticVehicle(596,2257.1960,2460.6353,10.6585,328.5564,18,1); // PS1 //AddStaticVehicle(597,2271.6089,2459.2036,10.6585,213.9797,18,1); // PS2 //AddStaticVehicle(598,2232.0371,2513.9004,10.5058,4.0112,18,1); // Ramp Staticcar //AddStaticVehicle(603,2047.7943,2652.9763,10.6604,68.8819,18,1); // North 1 //AddStaticVehicle(603,1885.5183,2712.6055,10.5101,74.7906,18,1); // fence //AddStaticVehicle(599,2161.8704,2786.7180,10.6584,238.9728,18,1); // Burger shot nort car //AddStaticVehicle(599,2061.6829,2735.9634,10.6612,94.7349,18,1); // car //AddStaticVehicle(603,2002.6414,2419.8474,10.6574,132.1344,18,1); // car //Defenders AddStaticPickup(1240,15,1460.5353,2789.9490,10.8203); // hp gang base AddStaticPickup(350,15,1460.2203,2796.4148,10.8203); // Shotgun gang base AddPlayerClass(0,1458.4514,2774.1108,10.8203,244.2857,0,0,0,0,0,0); // Property, gang base AddStaticPickup(1242,2,1491.2185,2773.6294,15.9894); // Armour gang base AddPlayerClass(0,1450.2231,2772.6238,18.8203,297.1567,0,0,0,0,0,0); // Balcony gang base AddPlayerClass(0,1430.8402,2789.6694,20.5233,97.4699,0,0,0,0,0,0); // Back of gang base //AddPlayerClass(604,1436.8529,2773.5029,28.2280,277.3029,0,0,0,0,0,0); // Base Parachute target AddStaticVehicle(522,1464.9810,2733.4819,10.3853,267.8583,-1,-1); // nrg 1 AddStaticVehicle(522,1462.8542,2795.9509,10.3901,258.7028,-1,-1); // nrg 2 AddStaticVehicle(522,1532.1580,2847.4944,10.3902,91.4492,-1,-1); // nrg 4 AddStaticVehicle(522,1532.3024,2848.9724,10.3907,91.3429,-1,-1); // nrg 5 AddStaticVehicle(415,1283.0444,1371.4061,10.6377,266.8527,-1,-1); // chetta AddStaticVehicle(562,1270.4288,1372.3790,10.6370,273.4499,-1,-1); // elgy AddStaticVehicle(541,2914.2566,2351.6838,10.6323,357.0764,-1,-1); // bullet 4 AddStaticVehicle(477,2875.1868,2432.0144,10.6396,46.7006,-1,-1); // zr350 1 AddStaticVehicle(522,2254.5771,1425.3311,10.6390,355.3797,-1,-1); // nrg 7 AddStaticVehicle(503,2100.4119,1308.9951,10.6453,178.6603,-1,-1); // hotringracer AddStaticVehicle(533,2039.2728,1010.8618,10.4818,179.1586,-1,-1); // feltzer AddStaticVehicle(411,2115.8042,919.1169,10.6339,89.2362,-1,-1); // infernus AddStaticVehicle(603,2396.0210,987.1786,10.6407,0.2171,-1,-1); // phonix AddStaticVehicle(495,2206.8557,1286.9694,10.6368,91.4188,-1,-1); // sandking AddStaticVehicle(481,2017.7323,1439.8879,10.6470,91.5200,-1,-1); // bmx AddStaticVehicle(560,1909.2883,1508.7249,13.8009,1.7875,-1,-1); // sultan AddStaticVehicle(461,1678.0342,1447.0616,10.5977,0.3426,-1,-1); // pcg 600 AddStaticVehicle(444,1677.3979,1641.2938,10.6472,181.1313,-1,-1); // monster AddStaticVehicle(593,1569.9906,1455.9814,10.6423,105.2400,-1,-1); // dodo 1 AddStaticVehicle(593,1574.6472,1419.2720,10.6537,86.8129,-1,-1); // dodo 2 AddStaticVehicle(519,1473.7332,1223.5358,10.6498,358.7122,-1,-1); // shamal AddStaticVehicle(411,1319.0302,1279.5372,10.6338,358.9358,-1,-1); // infernus AddStaticVehicle(411,1286.5758,1351.6403,10.6458,270.1198,-1,-1); // infernus AddStaticVehicle(429,1271.8992,1351.6096,10.6267,270.1201,-1,-1); // banshee AddStaticVehicle(451,1557.0938,2769.9756,10.3868,89.7441,-1,-1); // turismo AddStaticVehicle(487,1513.9069,2741.0537,10.3912,3.9957,-1,-1); // maverick AddStaticVehicle(415,1648.7969,2746.1509,10.3977,183.7414,-1,-1); // cheetah //More cars AddStaticVehicle(451,2057.0154,2479.5674,10.6386,182.7193,-1,-1); // turismo1 AddStaticVehicle(541,2095.4143,2406.6946,10.6324,267.0882,-1,-1); // bullet 1 AddStaticVehicle(522,1899.1897,2436.6160,10.6329,89.7169,-1,-1); // nrg 1 AddStaticVehicle(481,2015.1847,2244.7551,17.1910,91.7736,-1,-1); // bmx 1 AddStaticVehicle(451,1961.9185,2263.6355,21.9445,1.0018,-1,-1); // turismo 3 AddStaticVehicle(481,2058.9536,2120.2051,10.6319,274.5362,-1,-1); // bmx 2 AddStaticVehicle(543,2186.1321,2000.6383,10.6382,269.2430,-1,-1); // sadler 1 AddStaticVehicle(560,2030.9957,1920.1638,12.1462,359.0746,-1,-1); // sultan 1 AddStaticVehicle(522,2097.0789,1817.3425,10.4916,154.3612,-1,-1); // nrg 3 AddStaticVehicle(415,2186.2268,1679.8568,10.9244,89.7265,-1,-1); // cheeta 1 AddStaticVehicle(561,2038.4380,1581.8392,10.4848,180.0221,-1,-1); // stratnum 1 AddStaticVehicle(526,2074.3374,1485.5081,10.4920,178.8493,-1,-1); // elgy AddStaticVehicle(541,2104.7822,2042.6835,10.6367,88.6707,-1,-1); // bullet 2 AddStaticVehicle(526,2103.9919,2039.7473,10.6349,94.5920,-1,-1); // elgy 1 AddStaticVehicle(411,2102.6750,2036.5862,10.6422,89.1654,-1,-1); // infernus 1 AddStaticVehicle(451,2118.4802,2182.9604,10.4811,0.1673,-1,-1); // turismo 4 AddStaticVehicle(425,2081.5449,2173.1152,10.6459,266.0287,-1,-1); // hunter 1 AddStaticVehicle(415,2156.0930,2179.6372,10.4835,183.1849,-1,-1); // cheeta 2 AddStaticVehicle(573,2270.6741,2153.7966,10.4896,269.8834,-1,-1); // Dune AddStaticVehicle(522,2360.2717,2192.8499,10.5035,4.3367,-1,-1); // nrg 5 AddStaticVehicle(562,2499.7349,2239.5540,10.6325,268.7984,-1,-1); // elegy 2 AddStaticVehicle(560,2611.8284,2280.3379,10.6449,268.0368,-1,-1); // sultan 2 AddStaticVehicle(411,2564.7625,2254.6672,10.6343,91.7917,-1,-1); // infernus 2 AddStaticVehicle(519,1281.8251,1413.9574,11.7382,267.0010,-1,-1); // shamal 1 AddStaticVehicle(519,1280.9353,1386.8433,11.7420,266.6763,-1,-1); // shamal 3 AddStaticVehicle(417,1290.7386,1481.8655,10.5926,257.1584,-1,-1); // leithan AddStaticVehicle(476,1551.0508,1674.7930,10.5885,82.2679,-1,1); // rustler AddStaticVehicle(487,1536.4259,1690.1382,10.5920,89.4718,-1,-1); // maverick AddStaticVehicle(487,1769.0634,2772.6401,11.0131,176.9863,-1,-1); // maverick AddStaticVehicle(471,2182.7898,986.2454,10.3967,357.2017,-1,-1); // quad //Even more cars :P AddStaticVehicle(421,2040.2322,1114.1805,10.2108,1.3861,-1,-1); // blista AddStaticVehicle(517,2073.7354,1241.1677,10.2373,3.5522,-1,-1); // majestic AddStaticVehicle(508,1892.3004,1740.2008,11.2037,355.3529,1,1); // makeme white AddStaticVehicle(502,1771.7930,1713.5942,8.4038,179.1076,0,0); // change colour AddStaticVehicle(432,1622.1565,1634.4916,10.3949,184.3586,-1,-1); // rhino AddStaticVehicle(522,1765.5023,2855.6228,10.3983,256.6644,-1,-1); // nrg AddStaticVehicle(461,2533.5432,1205.2379,10.3842,348.4666,-1,-1); // pcj 600 AddStaticVehicle(522,2546.9314,1307.2151,10.3848,268.5469,-1,-1); // nrg AddStaticVehicle(541,2575.9492,1494.8772,10.3578,3.4901,-1,-1); // bullet AddStaticVehicle(522,2631.0564,1746.9773,10.3930,85.3631,-1,-1); // nrg AddStaticVehicle(561,2814.8008,2368.7236,10.3661,270.5381,3,8); // stratum AddStaticVehicle(522,1532.2705,2850.1287,10.3903,91.7645,3,3); // nrg AddStaticVehicle(521,-717.3291,2340.3069,127.1968,37.3134,-1,-1); // fcr AddStaticVehicle(447,-740.4054,2368.5869,126.3433,38.8258,-1,-1); // seasparrow AddStaticVehicle(562,1461.0449,2878.7629,10.4784,359.2087,1,1); // elegy AddStaticVehicle(493,-901.1133,2311.0952,40.4684,306.3554,1,1); // seasparrow AddStaticVehicle(447,-1059.1678,2299.8862,88.1641,209.7766,1,1); // seasparrow AddStaticVehicle(447,-933.0016,2264.5122,41.4685,328.7767,1,1); // sea sparrow 2 AddStaticVehicle(460,-886.9491,2238.8982,42.5646,326.4070,1,1); // seaplane AddStaticVehicle(447,-698.2007,2338.4663,127.4615,121.6867,1,1); // seasparrow 4 AddStaticVehicle(522,-2318.0090,-1644.9191,483.2745,221.9152,3,8); // nrg 1 AddStaticVehicle(522,-2316.3083,-1643.5609,483.2737,220.6978,3,8); // nrg 2 AddStaticVehicle(571,1461.9705,2806.9727,10.3900,178.2703,-1,-1); // kart 1 AddStaticVehicle(571,1466.2021,2806.9998,10.3934,179.4911,-1,-1); // kart AddStaticVehicle(571,1470.8328,2806.9707,10.3933,177.7581,-1,-1); // kart AddStaticVehicle(471,1532.3285,2748.0210,10.3892,84.5290,-1,-1); // quad AddStaticVehicle(471,1532.2800,2740.6250,10.3894,74.9172,-1,-1); // quad AddStaticVehicle(471,1532.3054,2734.8901,10.3905,93.0723,-1,-1); // quad AddStaticVehicle(468,1458.8420,2764.9695,10.3890,266.5134,-1,-1); // sanchez AddStaticVehicle(468,1458.9244,2779.6365,10.3904,272.2317,-1,-1); // sanchez AddStaticVehicle(425,1438.6089,2849.7024,10.3018,263.1435,74,83); // hunter AddStaticVehicle(457,1230.2601,2788.1450,10.3827,46.3546,7,79); // caddy AddStaticVehicle(411,1464.8896,2877.9666,10.3944,179.2235,-1,-1); // infernus AddStaticVehicle(415,1455.6304,2877.5237,10.3936,182.3453,36,105); // cheetah //Grove not knowing what topics to put his cars in! AddStaticVehicle(477,1451.9153,2877.0503,10.3992,180.4145,36,105); // zr350 AddStaticVehicle(553,1379.1086,1822.5465,11.0033,183.6785,-1,-1); // neveda AddStaticVehicle(451,2296.3013,2770.8347,10.3966,274.4213,3,8); // turismo AddStaticVehicle(471,2414.0842,2816.9314,10.3899,178.9183,-1,-1); // quad AddStaticVehicle(461,2358.6731,2350.6233,10.3943,93.6122,-1,-1); // pcj600 AddStaticVehicle(475,1622.3398,2596.4460,10.3779,272.3468,-1,-1); // sabre AddStaticVehicle(506,2174.3054,2787.7549,10.3851,179.0551,3,8); // supergt AddStaticVehicle(457,1395.3652,2798.0498,10.4471,89.5335,-1,-1); // caddy AddStaticVehicle(457,1490.1388,2725.5674,10.4471,359.8205,-1,-1); // caddy 2 AddStaticVehicle(457,1492.5103,2725.5535,10.4471,1.2605,-1,-1); // caddy 3 AddStaticVehicle(457,1494.8014,2725.5676,10.4471,0.0310,-1,-1); // caddy 4 AddStaticVehicle(420,2129.5667,2356.9368,10.1532,89.2911,-1,-1); // taxi AddStaticVehicle(521,2075.5205,1630.7382,10.1538,179.0849,-1,-1); // fcr900 AddStaticVehicle(451,2013.8352,1534.4230,10.2142,269.0800,-1,-1); // turismo //AddStaticVechicle(107,1530.2817,2772.7063,10.6719,257.6448,0,0,0,0,0,0); // Bike //Attackers AddStaticVehicle(603,1766.1143,2765.5012,10.6742,223.8507,18,1); // GB2spawnfront AddStaticVehicle(451,1386.3617,2245.7559,10.5276,270.4848,125,125); // turismo AddStaticVehicle(520,1441.3807,2872.9150,10.5622,180.8967,0,0); // hydra 2 AddStaticVehicle(520,1481.9612,2873.9111,10.5665,179.8358,0,0); // hydra 1 AddStaticVehicle(522,1594.6188,2814.1919,10.5622,269.6190,-1,-1); // nrg AddStaticVehicle(520,1517.3684,2873.1519,10.5673,180.1987,18,1); // hydra 3 AddStaticVehicle(415,1283.0444,1371.4061,10.6377,266.8527,9,14); // chetta AddStaticVehicle(432,1520.7349,2822.7148,10.3880,90.9706,51,118); // rhino AddStaticVehicle(432,1428.6714,2826.7346,10.3902,263.5591,51,118); // rhino AddStaticVehicle(447,-946.3799,2316.8535,41.3884,163.5627,1,1); // seasparrow AddStaticVehicle(493,-927.8610,2274.6426,41.4520,264.5587,1,1); // speeder AddStaticVehicle(493,-897.4188,2408.8547,42.0895,79.2376,1,1); // speeder AddStaticVehicle(493,-966.3184,2425.2080,41.4240,179.5466,1,1); // speeder AddStaticVehicle(522,-668.6516,2303.5947,135.1377,92.1648,1,1); // nrg AddStaticVehicle(522,-668.3508,2305.1782,135.3140,88.1297,1,1); // nrg AddStaticVehicle(522,-668.5353,2307.0933,135.2974,92.3528,1,1); // nrg AddStaticVehicle(571,1778.2523,2753.6826,10.6274,75.9987,2,35); // kart 1 AddStaticVehicle(571,1778.6165,2755.0515,10.6277,77.2688,2,35); // kart 2 AddStaticVehicle(571,1779.0068,2756.4204,10.6275,74.6831,2,35); // kart 3 /*//Shooting Practice AddPlayerClass(0,2494.6423,2781.3252,10.8203,254.5655,0,0,0,0,0,0); // Checkpoint to get in AddPlayerClass(0,2530.5044,2785.8953,10.8203,288.0301,0,0,0,0,0,0); // Shooting practice spawn 1 AddPlayerClass(0,2545.5120,2754.5957,10.8203,205.8532,0,0,0,0,0,0); // Shooting practice spawn 2 AddPlayerClass(0,2501.0344,2751.0037,10.9844,92.7377,0,0,0,0,0,0); // Hp SP AddPlayerClass(0,2500.6753,2745.5601,10.9844,159.0127,0,0,0,0,0,0); // armour SP AddPlayerClass(0,2499.7344,2785.4690,10.8203,274.4723,0,0,0,0,0,0); // checkpoint to get out AddPlayerClass(0,2499.8782,2789.0295,10.8203,320.0604,0,0,0,0,0,0); // checkpoint in spawn //AddPlayerClass(0,2494.8655,2788.1851,10.8203,271.1069,0,0,0,0,0,0); // Checkpoint spawn out*/ //Armour //new Float:gArmourPickups[][ PickupSpawnInfo ] = //{ // { 1491.2185,2773.6294,15.9894 }, // { 2089.0508, 1449.1014, 10.8203 }, //{ 1982.9528, 1623.2513, 12.1968 }, // { 2110.3594, 2057.5906, 10.8203 }, // { -377.4450, 2241.7900, 46.1869 }, // { -2669.0249, 1428.7522, 906.4609 }, // { 1491.0803, 2773.4373, 15.9706 } //}; SetTimer("MoneyGrubScoreUpdate", 1000, 1); //SetTimer("GameModeExitFunc", gRoundTime, 0); return 1; } public SendPlayerFormattedText(playerid, const str[], define) { new tmpbuf[256]; format(tmpbuf, sizeof(tmpbuf), str, define); SendClientMessage(playerid, 0xFFFF00AA, tmpbuf); } public SendAllFormattedText(playerid, const str[], define) { new tmpbuf[256]; format(tmpbuf, sizeof(tmpbuf), str, define); SendClientMessageToAll(0xFFFF00AA, tmpbuf); } /*strtok(const string[], &index) { new length = strlen(string); while ((index < length) && (string[index] <= ' ')) { index++; } new offset = index; new result[20]; while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1))) { result[index - offset] = string[index]; index++; } result[index - offset] = EOS; return result; }*/