Ez a szekció lehetővé teszi a felhasználó által írt összes hozzászólás megtekintését. Vedd figyelembe, hogy csak azokba a fórumokba írt hozzászólásokat látod, amelyekhez hozzáférésed van.
Üzenetek - FastFurious
Oldalak: 1 ... 3 4 [5] 6 7 ... 108
61
« Dátum: 2012. május 23. - 14:59:51 »
4/10
62
« Dátum: 2012. május 23. - 13:12:06 »
Sziasztok! Van ez a PPC_Housing és ugy kellene megcsinalni hogy /exithouse ne ugy legyen hogy /housemenu ---> kilépés a házból, csak 2 házat lehessen venni! És alapból valami jobb ház belsõ legyen elõre is köszönöm! #pragma tabsize 0 #include <a_samp> #include <zcmd> #include <dutils> #include <sscanf2> #include <streamer> #pragma unused ret_memcpy // ****************************************************************************************************************************** // A beállítások módosíthatóak // ****************************************************************************************************************************** // Set timer-delay for exiting houses (this timer freezes a player when he exits a house, this allows the game to load the environment // before the player starts to fall, also the player\'s vehicles assigned to the house he exits from, are respawned by this timer) new ExitHouseTimer = 1000; // This allows you to toggle the red houses on the map (bought houses appear on the map as red house icons when this is set to \"true\") // Setting this to \"false\" doesn\'t show a bought house on the map new bool:ShowBoughtHouses = false; // Setting this to \"true\" will load all vehicles assigned to houses when the filterscript loads // Setting this to \"false\" will load the vehicles assigned to a house when the house-owner logs in (they\'ll also disappear when he logs out) // Recommended setting for popular servers (with alot of players): \"false\" // In popular servers, the amount of cars could go over the samp-limit (2000), bugging everything when all cars stay loaded // even when the owner of the vehicle is offline new bool:LoadCarsDuringFSInit = false; // Setting this to \"true\" will set all houses to have insurance by default // Seting this to \"false\" required players to buy insurance for their vehicles from within the house // If players don\'t have insurance, their vehicle will be gone forever if it\'s destroyed // If players have insurance, they will get their vehicle back when it\'s destroyed new bool:AutomaticInsurance = true; // Default max number of players is set to 500, re-define it to 50 #undef MAX_PLAYERS #define MAX_PLAYERS 50 // Define housing parameters #define MAX_HOUSES 2000 // Defines the maximum number of houses that can be created #define MAX_HOUSESPERPLAYER 20 // Defines the maximum number of houses that any player can own (useable values: 1 to 20) #define HouseUpgradePercent 100 // Defines the percentage for upgrading a house (house of 10m can be upgraded for 5m when set to 50) #define ParkRange 150.0 // Defines the range for parking the vehicle around the house to which it belongs (default = 150m) // Define path to house-files and player-files #define HouseFile \"PPC_Housing/House%i.ini\" // Define Dialogs #define DialogHouseMenu 5001 #define DialogUpgradeHouse 5002 #define DialogGoHome 5003 #define DialogHouseNameChange 5004 #define DialogSellHouse 5005 #define DialogBuyCarClass 5006 #define DialogBuyCar 5007 #define DialogSellCar 5008 #define DialogBuyInsurance 5009 #define DialogGetCarSelectHouse 5010 #define DialogGetCarSelectCar 5011 // Define vehicle-classes #define VClassBike 1 #define VClassBoat 2 #define VClassConvertible 3 #define VClassHelicopter 4 #define VClassIndustrial 5 #define VClassLowRider 6 #define VClassOffRoad 7 #define VClassPlane 8 #define VClassPublic 9 #define VClassRCVehicle 10 #define VClassSaloons 11 #define VClassSportCar 12 #define VClassStationCar 13 #define VClassTrailer 14 #define VClassUnique 15 // ****************************************************************************************************************************** // Enums and the array-setups that use them // ****************************************************************************************************************************** // Setup a custom type that holds all data for houses enum THouseData { PickupID, // Holds the pickup-id that is linked to this house Text3D:DoorText, // Holds the reference to the 3DText above the house\'s pickup MapIconID, // Holds the ID of the mapicon for the house bool:Owned, // Holds true if the house is owned by somebody Owner[24], // Holds the name of the owner of the house HouseName[100], // Holds the name of the house (this will be displayed above the pickup near the house when it\'s owned) Float:HouseX, // Holds the X-coordinate of the pickup for the house Float:HouseY, // Holds the Y-coordinate of the pickup for the house Float:HouseZ, // Holds the Z-coordinate of the pickup for the house HouseLevel, // Holds the level of upgrades the house has, and defines which interior to use when you enter the house HouseMaxLevel, // Holds the maximum level this house can be upgraded to HousePrice, // Holds the price for buying the house, the same price applies when upgrading a house per level (multiplied by HouseUpgradePercent/100) bool:HouseOpened, // Holds true if the house is open to the public (anyone can enter), false means: only the owner can enter it bool:Insurance, // Holds \"true\" if the house has an insurance for the vehicles belonging to this house VehicleIDs[10], // Holds the vehicle-id\'s of the vehicles linked to this house (max 10 vehicles per house) bool:StaticHouse, // Holds \"true\" if the house is static (cannot be upgraded and has a fixed interior) CarSlots // Holds the amount of carslots available } // Holds the data for all houses new AHouseData[MAX_HOUSES][THouseData]; // Setup a custom type to hold all data about a vehicle enum TVehicleData { BelongsToHouse, // Holds the HouseID to which this vehicle belongs bool:Owned, // Holds true if the vehicle is owned by somebody Owner[24], // Holds the name of the owner of the vehicle Model, // Holds the vehicle-model of this vehicle PaintJob, // Holds the ID of the paintjob applied to the vehicle Components[14], // Holds all Component-ID\'s for all components on the vehicle Color1, // Holds the primary color for this vehicle Color2, // Holds the secundairy color for this vehicle Float:SpawnX, // Holds the X-coordinate of the parking spot for this vehicle Float:SpawnY, // Holds the Y-coordinate of the parking spot for this vehicle Float:SpawnZ, // Holds the Z-coordinate of the parking spot for this vehicle Float:SpawnRot // Holds the rotation of the parking spot for this vehicle } // Setup an array which holds all data for every vehicle, max 2000 vehicles (server limit) new AVehicleData[2000][TVehicleData]; // Setup all the fields required for the player data (Speedometer TextDraw, current job, ...) enum TPlayerData { Houses[20], // Holds the HouseID\'s of the houses that the player owns (index of the AHouseData array), maximum 20 houses per player CurrentHouse, // Holds the HouseID to track in which house the player currently is (used when accessing the housemenu) DialogBuyVClass, DialogGetCarHouseID } // Create an array to hold the playerdata for every player new APlayerData[MAX_PLAYERS][TPlayerData]; // Setup a custom type that holds all data about a house-interior (selected when entering a house, based on the house-level) enum THouseInterior { InteriorName[50], // Holds the name of the interior InteriorID, // Holds the interior-id Float:IntX, // Holds the X-coordinate of the spawn-location where you enter the house Float:IntY, // Holds the Y-coordinate of the spawn-location where you enter the house Float:IntZ // Holds the Z-coordinate of the spawn-location where you enter the house } // Holds the data for all interiors for houses (each house-level has it\'s own interior) new AHouseInteriors[][THouseInterior] = { {\"Dummy\", 0, 0.0, 0.0, 0.0}, // Dummy interior (Level 0), as the house-level starts at 1 {\"Small motel room\", 10, 2262.83, -1137.71, 1050.63}, // Level 1 {\"Small house\", 2, 2467.36, -1698.38, 1013.51}, // Level 2 {\"Small house 2\", 1, 223.00, 1289.26, 1082.20}, // Level 3 {\"Medium house\", 10, 2260.76, -1210.45, 1049.02}, // Level 4 {\"Medium house 2\", 8, 2365.42, -1131.85, 1050.88}, // Level 5 {\"Duplex house\", 12, 2324.33, -1144.79, 1050.71}, // Level 6 {\"Big house\", 15, 295.14, 1474.47, 1080.52}, // Level 7 {\"Big duplex house\", 3, 235.50, 1189.17, 1080.34}, // Level 8 {\"Huge house\", 7, 225.63, 1022.48, 1084.07}, // Level 9 {\"Mansion\", 5, 1299.14, -794.77, 1084.00} // Level 10 }; // Setup a custom type that holds all data about a buyable vehicle enum TBuyableVehicle { CarName[50], // Holds the name of the vehicle VehicleClass, // Holds the ID of the vehicleclass CarModel, // Holds the model-ID of the vehicle Price // Holds the price for the vehicle (renting it will be 10% of this price) } new ABuyableVehicles[][TBuyableVehicle] = { {\"Admiral\", VClassSaloons, 445, 50000}, {\"Alpha\", VClassSportCar, 602, 50000}, {\"Ambulance\", VClassPublic, 416, 50000}, {\"Andromada\", VClassPlane, 592, 50000}, {\"Article Trailer\", VClassTrailer, 591, 50000}, // {\"AT400\", VClassPlane, 577, 50000}, {\"Baggage\", VClassUnique, 485, 50000}, {\"Baggage Trailer A\", VClassTrailer, 606, 50000}, {\"Baggage Trailer B\", VClassTrailer, 607, 50000}, {\"Bandito\", VClassOffRoad, 568, 50000}, {\"Banshee\", VClassSportCar, 429, 50000}, {\"Barracks\", VClassPublic, 433, 50000}, {\"Beagle\", VClassPlane, 511, 50000}, {\"Benson\", VClassIndustrial, 499, 50000}, {\"Berkley\'s RC Van\", VClassIndustrial, 459, 50000}, {\"BF Injection\", VClassOffRoad, 424, 50000}, {\"BF-400\", VClassBike, 581, 50000}, {\"Bike\", VClassBike, 509, 50000}, {\"Blade\", VClassLowRider, 536, 50000}, {\"Blista Compact\", VClassSportCar, 496, 50000}, {\"Bloodring Banger\", VClassSaloons, 504, 50000}, {\"BMX\", VClassBike, 481, 50000}, {\"Bobcat\", VClassIndustrial, 422, 50000}, {\"Boxville 1\", VClassIndustrial, 498, 50000}, {\"Boxville 2\", VClassIndustrial, 609, 50000}, {\"Bravura\", VClassSaloons, 401, 50000}, {\"Broadway\", VClassLowRider, 575, 50000}, // {\"Brownstreak (train)\", VClassUnique, 538, 50000}, {\"Buccaneer\", VClassSaloons, 518, 50000}, {\"Buffalo\", VClassSportCar, 402, 50000}, {\"Bullet\", VClassSportCar, 541, 50000}, {\"Burrito\", VClassIndustrial, 482, 50000}, {\"Bus\", VClassPublic, 431, 50000}, {\"Cabbie\", VClassPublic, 438, 50000}, {\"Caddy\", VClassUnique, 457, 50000}, {\"Cadrona\", VClassSaloons, 527, 50000}, {\"Camper\", VClassUnique, 483, 50000}, {\"Cargo Trailer\", VClassTrailer, 435, 50000}, {\"Cargobob\", VClassHelicopter, 548, 50000}, {\"Cement Truck\", VClassIndustrial, 524, 50000}, {\"Cheetah\", VClassSportCar, 415, 50000}, {\"Clover\", VClassSaloons, 542, 50000}, {\"Club\", VClassSportCar, 589, 50000}, {\"Coach\", VClassPublic, 437, 50000}, {\"Coastguard\", VClassBoat, 472, 50000}, {\"Combine Harvester\", VClassUnique, 532, 50000}, {\"Comet\", VClassConvertible, 480, 50000}, {\"Cropduster\", VClassPlane, 512, 50000}, {\"DFT-30\", VClassIndustrial, 578, 50000}, {\"Dinghy\", VClassBoat, 473, 50000}, {\"Dodo\", VClassPlane, 593, 50000}, {\"Dozer\", VClassUnique, 486, 50000}, {\"Dumper\", VClassUnique, 406, 50000}, {\"Dune\", VClassOffRoad, 573, 50000}, {\"Elegant\", VClassSaloons, 507, 50000}, {\"Elegy\", VClassSaloons, 562, 50000}, {\"Emperor\", VClassSaloons, 585, 50000}, {\"Enforcer\", VClassPublic, 427, 50000}, {\"Esperanto\", VClassSaloons, 419, 50000}, {\"Euros\", VClassSportCar, 587, 50000}, {\"Faggio\", VClassBike, 462, 50000}, {\"Farm Trailer\", VClassTrailer, 610, 50000}, {\"FBI Rancher\", VClassPublic, 490, 50000}, {\"FBI Truck\", VClassPublic, 528, 50000}, {\"FCR-900\", VClassBike, 521, 50000}, {\"Feltzer\", VClassConvertible, 533, 50000}, {\"Firetruck\", VClassPublic, 407, 50000}, {\"Firetruck LA\", VClassPublic, 544, 50000}, {\"Flash\", VClassSportCar, 565, 50000}, {\"Flatbed\", VClassIndustrial, 455, 50000}, {\"Fluids Trailer\", VClassTrailer, 584, 50000}, {\"Forklift\", VClassUnique, 530, 50000}, {\"Fortune\", VClassSaloons, 526, 50000}, {\"Freeway\", VClassBike, 463, 50000}, // {\"Freight (train)\", VClassUnique, 537, 50000}, // {\"Freight Box Trailer (train)\", VClassTrailer, 590, 50000}, // {\"Freight Flat Trailer (train)\", VClassTrailer, 569, 50000}, {\"Glendale\", VClassSaloons, 466, 50000}, {\"Glendale Shit\", VClassSaloons, 604, 50000}, {\"Greenwood\", VClassSaloons, 492, 50000}, {\"Hermes\", VClassSaloons, 474, 50000}, {\"Hotdog\", VClassUnique, 588, 50000}, {\"Hotknife\", VClassUnique, 434, 50000}, {\"Hotring Racer 1\", VClassSportCar, 494, 50000}, {\"Hotring Racer 2\", VClassSportCar, 502, 50000}, {\"Hotring Racer 3\", VClassSportCar, 503, 50000}, {\"HPV1000\", VClassPublic, 523, 50000}, {\"Hunter\", VClassHelicopter, 425, 50000}, {\"Huntley\", VClassOffRoad, 579, 50000}, {\"Hustler\", VClassUnique, 545, 50000}, {\"Hydra\", VClassPlane, 520, 50000}, {\"Infernus\", VClassSportCar, 411, 50000}, {\"Intruder\", VClassSaloons, 546, 50000}, {\"Jester\", VClassSportCar, 559, 50000}, {\"Jetmax\", VClassBoat, 493, 50000}, {\"Journey\", VClassUnique, 508, 50000}, {\"Kart\", VClassUnique, 571, 50000}, {\"Landstalker\", VClassOffRoad, 400, 50000}, {\"Launch\", VClassBoat, 595, 50000}, {\"Leviathan\", VClassHelicopter, 417, 50000}, {\"Linerunner\", VClassIndustrial, 403, 50000}, {\"Majestic\", VClassSaloons, 517, 50000}, {\"Manana\", VClassSaloons, 410, 50000}, {\"Marquis\", VClassBoat, 484, 50000}, {\"Maverick\", VClassHelicopter, 487, 50000}, {\"Merit\", VClassSaloons, 551, 50000}, {\"Mesa\", VClassOffRoad, 500, 50000}, {\"Monster\", VClassOffRoad, 444, 50000}, {\"Monster A\", VClassOffRoad, 556, 50000}, {\"Monster B\", VClassOffRoad, 557, 50000}, {\"Moonbeam\", VClassStationCar, 418, 50000}, {\"Mountain Bike\", VClassBike, 510, 50000}, {\"Mower\", VClassUnique, 572, 50000}, {\"Mr Whoopee\", VClassUnique, 423, 50000}, {\"Mule\", VClassIndustrial, 414, 50000}, {\"Nebula\", VClassSaloons, 516, 50000}, {\"Nevada\", VClassPlane, 553, 50000}, {\"Newsvan\", VClassIndustrial, 582, 50000}, {\"NRG-500\", VClassBike, 522, 50000}, {\"Oceanic\", VClassSaloons, 467, 50000}, {\"Ore Trailer\", VClassTrailer, 450, 50000}, {\"Packer\", VClassIndustrial, 443, 50000}, {\"Patriot\", VClassOffRoad, 470, 50000}, {\"PCJ-600\", VClassBike, 461, 50000}, {\"Perenniel\", VClassStationCar, 404, 50000}, {\"Phoenix\", VClassSportCar, 603, 50000}, {\"Picador\", VClassIndustrial, 600, 50000}, {\"Pizzaboy\", VClassBike, 448, 50000}, {\"Police Car (LSPD)\", VClassPublic, 596, 50000}, {\"Police Car (LVPD)\", VClassPublic, 598, 50000}, {\"Police Car (SFPD)\", VClassPublic, 597, 50000}, {\"Police Maverick\", VClassHelicopter, 497, 50000}, {\"Police Ranger\", VClassPublic, 599, 50000}, {\"Pony\", VClassIndustrial, 413, 50000}, {\"Predator\", VClassBoat, 430, 50000}, {\"Premier\", VClassSaloons, 426, 50000}, {\"Previon\", VClassSaloons, 436, 50000}, {\"Primo\", VClassSaloons, 547, 50000}, {\"Quad\", VClassBike, 471, 50000}, {\"Raindance\", VClassHelicopter, 563, 50000}, {\"Rancher 1\", VClassOffRoad, 489, 50000}, {\"Rancher 2\", VClassOffRoad, 505, 50000}, // {\"RC Bandit\", VClassRCVehicle, 441, 50000}, // {\"RC Baron\", VClassRCVehicle, 464, 50000}, // {\"RC Cam\", VClassRCVehicle, 594, 50000}, // {\"RC Goblin\", VClassRCVehicle, 501, 50000}, // {\"RC Raider\", VClassRCVehicle, 465, 50000}, // {\"RC Tiger\", VClassRCVehicle, 564, 50000}, {\"Reefer\", VClassBoat, 453, 50000}, {\"Regina\", VClassStationCar, 479, 50000}, {\"Remington\", VClassLowRider, 534, 50000}, {\"Rhino\", VClassPublic, 432, 50000}, {\"Roadtrain\", VClassIndustrial, 515, 50000}, {\"Romero\", VClassUnique, 442, 50000}, {\"Rumpo\", VClassIndustrial, 440, 50000}, {\"Rustler\", VClassPlane, 476, 50000}, {\"Sabre\", VClassSportCar, 475, 50000}, {\"Sadler\", VClassIndustrial, 543, 50000}, {\"Sadler Shit\", VClassIndustrial, 605, 50000}, {\"SAN News Maverick\", VClassHelicopter, 488, 50000}, {\"Sanchez\", VClassBike, 468, 50000}, {\"Sandking\", VClassOffRoad, 495, 50000}, {\"Savanna\", VClassLowRider, 567, 50000}, {\"Seasparrow\", VClassHelicopter, 447, 50000}, {\"Securicar\", VClassUnique, 428, 50000}, {\"Sentinel\", VClassSaloons, 405, 50000}, {\"Shamal\", VClassPlane, 519, 50000}, {\"Skimmer\", VClassPlane, 460, 50000}, {\"Slamvan\", VClassLowRider, 535, 50000}, {\"Solair\", VClassStationCar, 458, 50000}, {\"Sparrow\", VClassHelicopter, 469, 50000}, {\"Speeder\", VClassBoat, 452, 50000}, {\"Squallo\", VClassBoat, 446, 50000}, {\"Stafford\", VClassSaloons, 580, 50000}, {\"Stallion\", VClassConvertible, 439, 50000}, {\"Stratum\", VClassStationCar, 561, 50000}, // {\"Streak Trailer (train)\", VClassTrailer, 570, 50000}, {\"Stretch\", VClassUnique, 409, 50000}, {\"Stuntplane\", VClassPlane, 513, 50000}, {\"Sultan\", VClassSaloons, 560, 50000}, {\"Sunrise\", VClassSaloons, 550, 50000}, {\"Super GT\", VClassSportCar, 506, 50000}, {\"S.W.A.T.\", VClassPublic, 601, 50000}, {\"Sweeper\", VClassUnique, 574, 50000}, {\"Tahoma\", VClassLowRider, 566, 50000}, {\"Tampa\", VClassSaloons, 549, 50000}, {\"Tanker\", VClassIndustrial, 514, 50000}, {\"Taxi\", VClassPublic, 420, 50000}, {\"Tornado\", VClassLowRider, 576, 50000}, {\"Towtruck\", VClassUnique, 525, 50000}, {\"Tractor\", VClassIndustrial, 531, 50000}, // {\"Tram\", VClassUnique, 449, 50000}, {\"Trashmaster\", VClassIndustrial, 408, 50000}, {\"Tropic\", VClassBoat, 454, 50000}, {\"Tug\", VClassUnique, 583, 50000}, {\"Tug Stairs Trailer\", VClassTrailer, 608, 50000}, {\"Turismo\", VClassSportCar, 451, 50000}, {\"Uranus\", VClassSportCar, 558, 50000}, {\"Utility Trailer\", VClassTrailer, 611, 50000}, {\"Utility Van\", VClassIndustrial, 552, 50000}, {\"Vincent\", VClassSaloons, 540, 50000}, {\"Virgo\", VClassSaloons, 491, 50000}, {\"Voodoo\", VClassLowRider, 412, 50000}, {\"Vortex\", VClassUnique, 539, 50000}, {\"Walton\", VClassIndustrial, 478, 50000}, {\"Washington\", VClassSaloons, 421, 50000}, {\"Wayfarer\", VClassBike, 586, 50000}, {\"Willard\", VClassSaloons, 529, 50000}, {\"Windsor\", VClassConvertible, 555, 50000}, {\"Yankee\", VClassIndustrial, 456, 50000}, {\"Yosemite\", VClassIndustrial, 554, 50000}, {\"ZR-350\", VClassSportCar, 477, 50000} }; // Setup an array that holds all prices for vehicle-components new AVehicleModPrices[] = { 400, // ID 1000, Spoiler Pro Certain Transfender cars 550, // ID 1001, Spoiler Win Certain Transfender cars 200, // ID 1002, Spoiler Drag Certain Transfender cars 250, // ID 1003, Spoiler Alpha Certain Transfender cars 100, // ID 1004, Hood Champ Scoop Certain Transfender cars 150, // ID 1005, Hood Fury Scoop Certain Transfender cars 80, // ID 1006, Roof Roof Scoop Certain Transfender cars 500, // ID 1007, Sideskirt Right Sideskirt Certain Transfender cars 500, // ID 1008, Nitro 5 times Most cars, Most planes and Most Helicopters 200, // ID 1009, Nitro 2 times Most cars, Most planes and Most Helicopters 1000, // ID 1010, Nitro 10 times Most cars, Most planes and Most Helicopters 220, // ID 1011, Hood Race Scoop Certain Transfender cars 250, // ID 1012, Hood Worx Scoop Certain Transfender cars 100, // ID 1013, Lamps Round Fog Certain Transfender cars 400, // ID 1014, Spoiler Champ Certain Transfender cars 500, // ID 1015, Spoiler Race Certain Transfender cars 200, // ID 1016, Spoiler Worx Certain Transfender cars 500, // ID 1017, Sideskirt Left Sideskirt Certain Transfender cars 350, // ID 1018, Exhaust Upswept Most cars 300, // ID 1019, Exhaust Twin Most cars 250, // ID 1020, Exhaust Large Most cars 200, // ID 1021, Exhaust Medium Most cars 150, // ID 1022, Exhaust Small Most cars 350, // ID 1023, Spoiler Fury Certain Transfender cars 50, // ID 1024, Lamps Square Fog Certain Transfender cars 1000, // ID 1025, Wheels Offroad Certain Transfender cars 480, // ID 1026, Sideskirt Right Alien Sideskirt Sultan 480, // ID 1027, Sideskirt Left Alien Sideskirt Sultan 770, // ID 1028, Exhaust Alien Sultan 680, // ID 1029, Exhaust X-Flow Sultan 370, // ID 1030, Sideskirt Left X-Flow Sideskirt Sultan 370, // ID 1031, Sideskirt Right X-Flow Sideskirt Sultan 170, // ID 1032, Roof Alien Roof Vent Sultan 120, // ID 1033, Roof X-Flow Roof Vent Sultan 790, // ID 1034, Exhaust Alien Elegy 150, // ID 1035, Roof X-Flow Roof Vent Elegy 500, // ID 1036, SideSkirt Right Alien Sideskirt Elegy 690, // ID 1037, Exhaust X-Flow Elegy 190, // ID 1038, Roof Alien Roof Vent Elegy 390, // ID 1039, SideSkirt Right X-Flow Sideskirt Elegy 500, // ID 1040, SideSkirt Left Alien Sideskirt Elegy 390, // ID 1041, SideSkirt Right X-Flow Sideskirt Elegy 1000, // ID 1042, SideSkirt Right Chrome Sideskirt Broadway 500, // ID 1043, Exhaust Slamin Broadway 500, // ID 1044, Exhaust Chrome Broadway 510, // ID 1045, Exhaust X-Flow Flash 710, // ID 1046, Exhaust Alien Flash 670, // ID 1047, SideSkirt Right Alien Sideskirt Flash 530, // ID 1048, SideSkirt Right X-Flow Sideskirt Flash 810, // ID 1049, Spoiler Alien Flash 620, // ID 1050, Spoiler X-Flow Flash 670, // ID 1051, SideSkirt Left Alien Sideskirt Flash 530, // ID 1052, SideSkirt Left X-Flow Sideskirt Flash 130, // ID 1053, Roof X-Flow Flash 210, // ID 1054, Roof Alien Flash 230, // ID 1055, Roof Alien Stratum 520, // ID 1056, Sideskirt Right Alien Sideskirt Stratum 430, // ID 1057, Sideskirt Right X-Flow Sideskirt Stratum 620, // ID 1058, Spoiler Alien Stratum 720, // ID 1059, Exhaust X-Flow Stratum 530, // ID 1060, Spoiler X-Flow Stratum 180, // ID 1061, Roof X-Flow Stratum 520, // ID 1062, Sideskirt Left Alien Sideskirt Stratum 430, // ID 1063, Sideskirt Left X-Flow Sideskirt Stratum 830, // ID 1064, Exhaust Alien Stratum 850, // ID 1065, Exhaust Alien Jester 750, // ID 1066, Exhaust X-Flow Jester 250, // ID 1067, Roof Alien Jester 200, // ID 1068, Roof X-Flow Jester 550, // ID 1069, Sideskirt Right Alien Sideskirt Jester 450, // ID 1070, Sideskirt Right X-Flow Sideskirt Jester 550, // ID 1071, Sideskirt Left Alien Sideskirt Jester 450, // ID 1072, Sideskirt Left X-Flow Sideskirt Jester 1100, // ID 1073, Wheels Shadow Most cars 1030, // ID 1074, Wheels Mega Most cars 980, // ID 1075, Wheels Rimshine Most cars 1560, // ID 1076, Wheels Wires Most cars 1620, // ID 1077, Wheels Classic Most cars 1200, // ID 1078, Wheels Twist Most cars 1030, // ID 1079, Wheels Cutter Most cars 900, // ID 1080, Wheels Switch Most cars 1230, // ID 1081, Wheels Grove Most cars 820, // ID 1082, Wheels Import Most cars 1560, // ID 1083, Wheels Dollar Most cars 1350, // ID 1084, Wheels Trance Most cars 770, // ID 1085, Wheels Atomic Most cars 100, // ID 1086, Stereo Stereo Most cars 1500, // ID 1087, Hydraulics Hydraulics Most cars 150, // ID 1088, Roof Alien Uranus 650, // ID 1089, Exhaust X-Flow Uranus 450, // ID 1090, Sideskirt Right Alien Sideskirt Uranus 100, // ID 1091, Roof X-Flow Uranus 750, // ID 1092, Exhaust Alien Uranus 350, // ID 1093, Sideskirt Right X-Flow Sideskirt Uranus 450, // ID 1094, Sideskirt Left Alien Sideskirt Uranus 350, // ID 1095, Sideskirt Right X-Flow Sideskirt Uranus 1000, // ID 1096, Wheels Ahab Most cars 620, // ID 1097, Wheels Virtual Most cars 1140, // ID 1098, Wheels Access Most cars 1000, // ID 1099, Sideskirt Left Chrome Sideskirt Broadway 940, // ID 1100, Bullbar Chrome Grill Remington 780, // ID 1101, Sideskirt Left `Chrome Flames` Sideskirt Remington 830, // ID 1102, Sideskirt Left `Chrome Strip` Sideskirt Savanna 3250, // ID 1103, Roof Convertible Blade 1610, // ID 1104, Exhaust Chrome Blade 1540, // ID 1105, Exhaust Slamin Blade 780, // ID 1106, Sideskirt Right `Chrome Arches` Remington 780, // ID 1107, Sideskirt Left `Chrome Strip` Sideskirt Blade 780, // ID 1108, Sideskirt Right `Chrome Strip` Sideskirt Blade 1610, // ID 1109, Rear Bullbars Chrome Slamvan 1540, // ID 1110, Rear Bullbars Slamin Slamvan 55, // ID 1111, Front Sign? Little Sign? Slamvan 55, // ID 1112, Front Sign? Little Sign? Slamvan 3340, // ID 1113, Exhaust Chrome Slamvan 3250, // ID 1114, Exhaust Slamin Slamvan 2130, // ID 1115, Front Bullbars Chrome Slamvan 2050, // ID 1116, Front Bullbars Slamin Slamvan 2040, // ID 1117, Front Bumper Chrome Slamvan 780, // ID 1118, Sideskirt Right `Chrome Trim` Sideskirt Slamvan 940, // ID 1119, Sideskirt Right `Wheelcovers` Sideskirt Slamvan 780, // ID 1120, Sideskirt Left `Chrome Trim` Sideskirt Slamvan 940, // ID 1121, Sideskirt Left `Wheelcovers` Sideskirt Slamvan 780, // ID 1122, Sideskirt Right `Chrome Flames` Sideskirt Remington 860, // ID 1123, Bullbars Bullbar Chrome Bars Remington 780, // ID 1124, Sideskirt Left `Chrome Arches` Sideskirt Remington 1120, // ID 1125, Bullbars Bullbar Chrome Lights Remington 3340, // ID 1126, Exhaust Chrome Exhaust Remington 3250, // ID 1127, Exhaust Slamin Exhaust Remington 3340, // ID 1128, Roof Vinyl Hardtop Blade 1650, // ID 1129, Exhaust Chrome Savanna 3380, // ID 1130, Roof Hardtop Savanna 3290, // ID 1131, Roof Softtop Savanna 1590, // ID 1132, Exhaust Slamin Savanna 830, // ID 1133, Sideskirt Right `Chrome Strip` Sideskirt Savanna 800, // ID 1134, SideSkirt Right `Chrome Strip` Sideskirt Tornado 1500, // ID 1135, Exhaust Slamin Tornado 1000, // ID 1136, Exhaust Chrome Tornado 800, // ID 1137, Sideskirt Left `Chrome Strip` Sideskirt Tornado 580, // ID 1138, Spoiler Alien Sultan 470, // ID 1139, Spoiler X-Flow Sultan 870, // ID 1140, Rear Bumper X-Flow Sultan 980, // ID 1141, Rear Bumper Alien Sultan 150, // ID 1142, Vents Left Oval Vents Certain Transfender Cars 150, // ID 1143, Vents Right Oval Vents Certain Transfender Cars 100, // ID 1144, Vents Left Square Vents Certain Transfender Cars 100, // ID 1145, Vents Right Square Vents Certain Transfender Cars 490, // ID 1146, Spoiler X-Flow Elegy 600, // ID 1147, Spoiler Alien Elegy 890, // ID 1148, Rear Bumper X-Flow Elegy 1000, // ID 1149, Rear Bumper Alien Elegy 1090, // ID 1150, Rear Bumper Alien Flash 840, // ID 1151, Rear Bumper X-Flow Flash 910, // ID 1152, Front Bumper X-Flow Flash 1200, // ID 1153, Front Bumper Alien Flash 1030, // ID 1154, Rear Bumper Alien Stratum 1030, // ID 1155, Front Bumper Alien Stratum 920, // ID 1156, Rear Bumper X-Flow Stratum 930, // ID 1157, Front Bumper X-Flow Stratum 550, // ID 1158, Spoiler X-Flow Jester 1050, // ID 1159, Rear Bumper Alien Jester 1050, // ID 1160, Front Bumper Alien Jester 950, // ID 1161, Rear Bumper X-Flow Jester 650, // ID 1162, Spoiler Alien Jester 450, // ID 1163, Spoiler X-Flow Uranus 550, // ID 1164, Spoiler Alien Uranus 850, // ID 1165, Front Bumper X-Flow Uranus 950, // ID 1166, Front Bumper Alien Uranus 850, // ID 1167, Rear Bumper X-Flow Uranus 950, // ID 1168, Rear Bumper Alien Uranus 970, // ID 1169, Front Bumper Alien Sultan 880, // ID 1170, Front Bumper X-Flow Sultan 990, // ID 1171, Front Bumper Alien Elegy 900, // ID 1172, Front Bumper X-Flow Elegy 950, // ID 1173, Front Bumper X-Flow Jester 1000, // ID 1174, Front Bumper Chrome Broadway 900, // ID 1175, Front Bumper Slamin Broadway 1000, // ID 1176, Rear Bumper Chrome Broadway 900, // ID 1177, Rear Bumper Slamin Broadway 2050, // ID 1178, Rear Bumper Slamin Remington 2150, // ID 1179, Front Bumper Chrome Remington 2130, // ID 1180, Rear Bumper Chrome Remington 2050, // ID 1181, Front Bumper Slamin Blade 2130, // ID 1182, Front Bumper Chrome Blade 2040, // ID 1183, Rear Bumper Slamin Blade 2150, // ID 1184, Rear Bumper Chrome Blade 2040, // ID 1185, Front Bumper Slamin Remington 2095, // ID 1186, Rear Bumper Slamin Savanna 2175, // ID 1187, Rear Bumper Chrome Savanna 2080, // ID 1188, Front Bumper Slamin Savanna 2200, // ID 1189, Front Bumper Chrome Savanna 1200, // ID 1190, Front Bumper Slamin Tornado 1040, // ID 1191, Front Bumper Chrome Tornado 940, // ID 1192, Rear Bumper Chrome Tornado 1100, // ID 1193 Rear Bumper Slamin Tornado }; // These variables are used when starting the script and debugging purposes new TotalHouses; // ****************************************************************************************************************************** // Callbacks // ****************************************************************************************************************************** // The main function (used only once when the server loads) main() { } // This callback gets called when the server initializes the filterscript public OnFilterScriptInit() { // Loop through all houses and try to load them (HouseID 0 isn\'t used) for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { // Try to load the house-file HouseFile_Load(HouseID); // Load housecars too if chosen to do so if (LoadCarsDuringFSInit == true) HouseFile_LoadCars(HouseID); } return 1; } // This callback gets called when a player connects to the server public OnPlayerConnect(playerid) { // Setup local variables new HouseID, HouseSlot, Name[24]; // Get the player\'s name GetPlayerName(playerid, Name, sizeof(Name)); // Loop through all houses to find the ones which belong to this player for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { // Check if the house exists if (IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Check if the house is owned if (AHouseData[HouseID][Owned] == true) { // Check if the player is the owner of the house if (strcmp(AHouseData[HouseID][Owner], Name, false) == 0) { // Add the HouseID to the player\'s account for faster reference later on APlayerData[playerid][Houses][HouseSlot] = HouseID; // Load housecars if they weren\'t loaded at FilterscriptInit if (LoadCarsDuringFSInit == false) HouseFile_LoadCars(HouseID); // Select the next HouseSlot HouseSlot++; } } } } return 1; } // This callback gets called when a player disconnects from the server public OnPlayerDisconnect(playerid, reason) { // Setup local variables new HouseSlot; // Loop through all Houses the player owns for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++) { // Check if the house exists if (APlayerData[playerid][Houses][HouseSlot] != 0) { // Save the housefile HouseFile_Save(APlayerData[playerid][Houses][HouseSlot]); } } // Unload housecars if they were loaded when the owner logged in if (LoadCarsDuringFSInit == false) { // Loop through all Houses the player owns for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++) { // Check if the house exists if (APlayerData[playerid][Houses][HouseSlot] != 0) { // Unload all vehicles assigned to this house House_RemoveVehicles(APlayerData[playerid][Houses][HouseSlot]); } } } // Clear all data for this player // Loop through all Houses the player owns for (HouseSlot = 0; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++) { // Clear the HouseID\'s APlayerData[playerid][Houses][HouseSlot] = 0; } APlayerData[playerid][CurrentHouse] = 0; APlayerData[playerid][DialogBuyVClass] = 0; APlayerData[playerid][DialogGetCarHouseID] = 0; return 1; } // This callback gets called when a player interacts with a dialog public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { // Select the proper dialog to process switch (dialogid) { case DialogHouseMenu: Dialog_HouseMenu(playerid, response, listitem); // Process the main housemenu case DialogUpgradeHouse: Dialog_UpgradeHouse(playerid, response, listitem); // Process the house-upgrade menu case DialogGoHome: Dialog_GoHome(playerid, response, listitem); // Port to one of your houses case DialogHouseNameChange: Dialog_ChangeHouseName(playerid, response, inputtext); // Change the name of your house case DialogSellHouse: Dialog_SellHouse(playerid, response); // Sell the house case DialogBuyCarClass: Dialog_BuyCarClass(playerid, response, listitem); // The player chose a vehicleclass from where he can buy a vehicle case DialogBuyCar: Dialog_BuyCar(playerid, response, listitem); // The player chose a vehicle from the list of vehicles from the vehicleclass he chose before case DialogSellCar: Dialog_SellCar(playerid, response, listitem); case DialogBuyInsurance: Dialog_BuyInsurance(playerid, response); case DialogGetCarSelectHouse: Dialog_GetCarSelectHouse(playerid, response, listitem); case DialogGetCarSelectCar: Dialog_GetCarSelectCar(playerid, response, listitem); } return 1; } // This callback gets called when a player spawns somewhere public OnPlayerSpawn(playerid) { // Reset the HouseID where the player is located APlayerData[playerid][CurrentHouse] = 0; return 1; } // This callback gets called whenever a player dies public OnPlayerDeath(playerid, killerid, reason) { // Reset the HouseID where the player is located APlayerData[playerid][CurrentHouse] = 0; return 1; } // This callback gets called when the player is selecting a class (but hasn\'t clicked \"Spawn\" yet) public OnPlayerRequestClass(playerid, classid) { // Reset the HouseID where the player is located APlayerData[playerid][CurrentHouse] = 0; return 1; } // This callback is called when the player attempts to spawn via class-selection public OnPlayerRequestSpawn(playerid) { // Reset the HouseID where the player is located APlayerData[playerid][CurrentHouse] = 0; return 1; } // This callback gets called when a vehicle respawns at it\'s spawn-location (where it was created) public OnVehicleSpawn(vehicleid) { // Only use this for house-vehicles if (AVehicleData[vehicleid][Owned] == true) { // Re-apply the paintjob (if any was applied) if (AVehicleData[vehicleid][PaintJob] != 0) { // Re-apply the paintjob ChangeVehiclePaintjob(vehicleid, AVehicleData[vehicleid][PaintJob] - 1); } // Also update the car-color ChangeVehicleColor(vehicleid, AVehicleData[vehicleid][Color1], AVehicleData[vehicleid][Color2]); // Re-add all components that were installed (if they were there) for (new i; i < 14; i++) { // Remove all mods from the vehicle (all added mods applied by hackers will hopefully be removed this way when the vehicle respawns) RemoveVehicleComponent(vehicleid, GetVehicleComponentInSlot(vehicleid, i)); // Check if the componentslot has a valid component-id if (AVehicleData[vehicleid][Components] != 0) AddVehicleComponent(vehicleid, AVehicleData[vehicleid][Components]); // Add the component to the vehicle } } return 1; } // This callback is called when the vehicle leaves a mod shop public OnVehicleRespray(playerid, vehicleid, color1, color2) { // Only use this for house-vehicles if (AVehicleData[vehicleid][Owned] == true) { // Let the player pay $150 for changing the color (if they have been changed) if ((AVehicleData[vehicleid][Color1] != color1) || (AVehicleData[vehicleid][Color2] != color2)) INT_GivePlayerMoney(playerid, -150); // Save the colors AVehicleData[vehicleid][Color1] = color1; AVehicleData[vehicleid][Color2] = color2; // If the primary color is black, remove the paintjob if (color1 == 0) AVehicleData[vehicleid][PaintJob] = 0; } return 1; } // This callback gets called whenever a player mods his vehicle public OnVehicleMod(playerid, vehicleid, componentid) { // Only use this for house-vehicles if (AVehicleData[vehicleid][Owned] == true) { // When the player changes a component of his vehicle, reduce the price of the component from the player\'s money INT_GivePlayerMoney(playerid, -AVehicleModPrices[componentid - 1000]); // Store the component in the AVehicleData array AVehicleData[vehicleid][Components][GetVehicleComponentType(componentid)] = componentid; } return 1; } // This callback gets called whenever a player VIEWS at a paintjob in a mod garage (viewing automatically applies it) public OnVehiclePaintjob(playerid, vehicleid, paintjobid) { // Only use this for house-vehicles if (AVehicleData[vehicleid][Owned] == true) { // Store the paintjobid for the vehicle (add 1 to the value, otherwise checking for an applied paintjob is difficult) AVehicleData[vehicleid][PaintJob] = paintjobid + 1; } return 1; } // This callback gets called whenever a vehicle enters the water or is destroyed (explodes) public OnVehicleDeath(vehicleid) { // Setup local variables new HouseID, CarSlot; // Only use this for house-vehicles if (AVehicleData[vehicleid][Owned] == true) { // Get the houseid to which this vehicle belongs HouseID = AVehicleData[vehicleid][belongsToHouse]; // If automatic insurance has been turned off, check if the vehicle\'s house has insurance for the vehicle if (AutomaticInsurance == false) { // Check if this vehicle belongs to a house if (HouseID != 0) { // If the house doesn\'t have insurance for it\'s vehicles if (AHouseData[HouseID][insurance] == false) { // Find the CarSlot where this vehicle is stored for (CarSlot = 0; CarSlot < 10; CarSlot++) { // Check if the vehicle is stored in this carslot if (AHouseData[HouseID][VehicleIDs][CarSlot] == vehicleid) break; // Stop searching, because CarSlot now hold the carslot of the vehicle where it\'s stored } // Delete the vehicle, clear the data and remove it from the house it belongs to Vehicle_Delete(vehicleid, HouseID, CarSlot); // Save the house (and linked vehicles) HouseFile_Save(HouseID); } } } } return 1; } // This callback gets called when the player changes state public OnPlayerStateChange(playerid,newstate,oldstate) { // Setup local variables new vid, Name[24], Msg[128], engine, lights, alarm, doors, bonnet, boot, objective; // Check if the player became the driver of a vehicle if (newstate == PLAYER_STATE_DRIVER) { // Get the ID of the player\'s vehicle vid = GetPlayerVehicleID(playerid); // Get the player\'s name GetPlayerName(playerid, Name, sizeof(Name)); // Check if the vehicle is owned if (AVehicleData[vid][Owned] == true) { // Check if the vehicle is owned by somebody else (strcmp will not be 0) if (strcmp(AVehicleData[vid][Owner], Name, false) != 0) { // Force the player out of the vehicle RemovePlayerFromVehicle(playerid); // Turn off the lights and engine GetVehicleParamsEx(vid, engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(vid, 0, 0, alarm, doors, bonnet, boot, objective); // Let the player know he cannot use somebody else\'s vehicle format(Msg, 128, \"{FF0000}Nem tudod használni a jármûvet, {FF0000}tulajdonosa \\\"{FFFF00}%s{FF0000}\\\"\", AVehicleData[vid][Owner]); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } } } return 1; } // ****************************************************************************************************************************** // Commands // ****************************************************************************************************************************** // Lets the player add new houses (a house that can be upgraded and where the houselevel determines the amount of carslots) COMMAND:createhouse(playerid, params[]) { // Setup local variables new HPrice, MaxLevel, HouseID; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command // returning \"SERVER: Unknown command\" to the player if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0; // Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { if (sscanf(params, \"ii\", HPrice, MaxLevel)) SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Használat: \\\"/createhouse <ár> <maxlevel (1-10)>\\\"\"); else { // Check if the player entered a proper maxlevel if ((MaxLevel >= 1) && (MaxLevel <= 10)) { // Find the first free HouseID for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++) if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) // Check if an empty house-index has been found (PickupID is 0) break; // Stop searching, the first free HouseID has been found now // Check if the house-limit hasn\'t been reached yet // This would seem to double-check the pickup-id, but in case there was no free houseslot found (HouseID points // to the last index, the last index would hold a house, so be sure to not overwrite it if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Setup some local variables new Float:x, Float:y, Float:z, Msg[128]; // Get the player\'s position GetPlayerPos(playerid, x, y, z); // Set some default data AHouseData[HouseID][Owned] = false; AHouseData[HouseID][Owner] = 0; AHouseData[HouseID][HouseX] = x; AHouseData[HouseID][HouseY] = y; AHouseData[HouseID][HouseZ] = z; AHouseData[HouseID][HouseLevel] = 1; AHouseData[HouseID][HouseMaxLevel] = MaxLevel; AHouseData[HouseID][HousePrice] = HPrice; AHouseData[HouseID][HouseOpened] = false; AHouseData[HouseID][insurance] = false; AHouseData[HouseID][staticHouse] = false; AHouseData[HouseID][CarSlots] = 1; // This must be equal to the house-level for a normal house // Add the pickup and 3DText at the location of the house-entrance (where the player is standing when he creates the house) House_UpdateEntrance(HouseID); // Save the house HouseFile_Save(HouseID); // Inform the player that he created a new house format(Msg, 128, \"{00FF00}Ház létrehozva, azonosító (ID): {FFFF00}%i\", HouseID); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem lehet több házat létrehozni!\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Max szint: 1 - 10\"); } } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat létrehozni!\"); // Let the server know that this was a valid command return 1; } // Lets the player add new houses (a house that cannot be upgraded, has a fixed interior and a fixed amount of carslots) COMMAND:createstatichouse(playerid, params[]) { // Setup local variables new HPrice, Carslots, HouseID, Interior; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command // returning \"SERVER: Unknown command\" to the player if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0; // Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { if (sscanf(params, \"iii\", HPrice, Carslots, Interior)) SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Használat: \\\"/createstatichouse <ár> <Jármûhelyek (1-10)> <Interior (1-10)>\\\"\"); else { // Check if the player entered a proper amount of Carslots if ((Carslots >= 1) && (Carslots <= 10)) { // Check if the player entered a valid interior if ((Interior >= 1) && (Interior <= 10)) { // Find the first free HouseID for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++) if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) // Check if an empty house-index has been found (PickupID is 0) break; // Stop searching, the first free HouseID has been found now // Check if the house-limit hasn\'t been reached yet // This would seem to double-check the pickup-id, but in case there was no free houseslot found (HouseID points // to the last index, the last index would hold a house, so be sure to not overwrite it if (!IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Setup some local variables new Float:x, Float:y, Float:z, Msg[128]; // Get the player\'s position GetPlayerPos(playerid, x, y, z); // Set some default data AHouseData[HouseID][Owned] = false; AHouseData[HouseID][HouseX] = x; AHouseData[HouseID][HouseY] = y; AHouseData[HouseID][HouseZ] = z; AHouseData[HouseID][HouseLevel] = Interior; // The house-level indicates the static interior AHouseData[HouseID][HouseMaxLevel] = Interior; AHouseData[HouseID][HousePrice] = HPrice; AHouseData[HouseID][HouseOpened] = false; AHouseData[HouseID][insurance] = false; AHouseData[HouseID][staticHouse] = true; AHouseData[HouseID][CarSlots] = Carslots; // Add the pickup and 3DText at the location of the house-entrance (where the player is standing when he creates the house) House_UpdateEntrance(HouseID); // Save the house HouseFile_Save(HouseID); // Inform the player that he created a new house format(Msg, 128, \"{00FF00}A statikus ház létrehozva, azonosító (ID): {FFFF00}%i\", HouseID); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem lehet több házat létrehozni!\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Belsõ (Interior) azonosítók: 1 - 10\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Jármûférõhelyeket add meg! (1 - 10)\"); } } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat létrehozni!\"); // Let the server know that this was a valid command return 1; } // This command lets the player delete a house COMMAND:dellhouse(playerid, params[]) { // Setup local variables new file[100], Msg[128]; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // If the player has an insufficient admin-level (he needs level 5 or RCON admin), exit the command // returning \"SERVER: Unknown command\" to the player if (INT_CheckPlayerAdminLevel(playerid, 5) == 0) return 0; // Check if the player isn\'t inside a vehicle (the admin-player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { // Loop through all houses for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { // Check if the house exists if (IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Check if the house has no owner (owned houses cannot be deleted) if (AHouseData[HouseID][Owned] == false) { // Check if the player is in range of the house-pickup if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ])) { // Clear all data of the house AHouseData[HouseID][Owned] = false; AHouseData[HouseID][Owner] = 0; AHouseData[HouseID][HouseName] = 0; AHouseData[HouseID][insurance] = false; AHouseData[HouseID][HouseX] = 0.0; AHouseData[HouseID][HouseY] = 0.0; AHouseData[HouseID][HouseZ] = 0.0; AHouseData[HouseID][HouseLevel] = 0; AHouseData[HouseID][HouseMaxLevel] = 0; AHouseData[HouseID][HousePrice] = 0; AHouseData[HouseID][HouseOpened] = false; AHouseData[HouseID][staticHouse] = false; AHouseData[HouseID][CarSlots] = 0; // Destroy the mapicon, 3DText and pickup for the house DestroyDynamicPickup(AHouseData[HouseID][PickupID]); DestroyDynamicMapIcon(AHouseData[HouseID][MapIconID]); DestroyDynamic3DTextLabel(AHouseData[HouseID][DoorText]); AHouseData[HouseID][PickupID] = 0; AHouseData[HouseID][MapIconID] = 0; // Delete the house-file format(file, sizeof(file), HouseFile, HouseID); // Construct the complete filename for this house-file if (fexist(file)) // Make sure the file exists fremove(file); // Delete the file // Also let the player know he deleted the house format(Msg, 128, \"{00FF00}Törölted a {FFFF00}%i {00FF00}azonosítószámú házat!\", HouseID); SendClientMessage(playerid, 0xFFFFFFFF, Msg); // Exit the function return 1; } } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Tulajdonossal rendelkezõ házakat nem törölhetsz!\"); } } // There was no house in range, so let the player know about it SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nincs a közelben ház!\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak gyalog lehet házat törölni!\"); // Let the server know that this was a valid command return 1; } // This command lets the player buy a house when he\'s standing in range of a house that isn\'t owned yet COMMAND:buyhouse(playerid, params[]) { // Setup local variables new Msg[128]; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Check if the player isn\'t inside a vehicle (the player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { // Check if the player is near a house-pickup for (new HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { // Check if the house exists if (IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Check if the player is in range of the house-pickup if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ])) { // Check if the house isn\'t owned yet if (AHouseData[HouseID][Owned] == false) { // Check if the player can afford this house if (INT_GetPlayerMoney(playerid) >= AHouseData[HouseID][HousePrice]) House_SetOwner(playerid, HouseID); // Give ownership of the house to the player (if he has a spare houseslot) else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem engedheted meg magadnak ezt a házat! Ok: kevés pénz\"); // The player cannot afford this house } else { // Let the player know that this house is already owned by a player format(Msg, 128, \"{FF0000}Ezt a házat már megvették! {FF0000}Tulajdonos: {FFFF00}%s\", AHouseData[HouseID][Owner]); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } // The player was in range of a house-pickup, so stop searching for the other house pickups return 1; } } } // All houses have been processed, but the player wasn\'t in range of any house-pickup, let him know about it SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Házvásárláshoz közel kell légy egy ház-pickuphoz!\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem tudsz jármûben házat venni!\"); // Let the server know that this was a valid command return 1; } // This command lets the player enter the house/business if he\'s the owner COMMAND:enterhouse(playerid, params[]) { // Setup local variables new HouseID, IntID; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Check if the player isn\'t inside a vehicle (the player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { // Loop through all houses for (HouseID = 1; HouseID < MAX_HOUSES; HouseID++) { // Check if the house exists if (IsValidDynamicPickup(AHouseData[HouseID][PickupID])) { // Check if the player is in range of the house-pickup if (IsPlayerInRangeOfPoint(playerid, 2.5, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ])) { // Check if the house is closed to the public if (AHouseData[HouseID][HouseOpened] == false) { // The house isn\'t open to the public, so keep anyone out who isn\'t the owner of the house if (House_PlayerIsOwner(playerid, HouseID) == 0) { // Let the player know that this house isn\'t open to the public and he can\'t enter it SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Ez a ház magánház, nem léphetsz be!\"); return 1; } } // The house is open to the public, or the player trying to enter is the owner, so let the player inside the house // Get the interior to put the player in IntID = AHouseData[HouseID][HouseLevel]; // Get the level of the house // Set the worldid so other players cannot see him anymore (but allow all players in the same house to see eachother) SetPlayerVirtualWorld(playerid, 5000 + HouseID); // Set the player inside the interior of the house SetPlayerInterior(playerid, AHouseInteriors[intID][interiorID]); // Set the position of the player at the spawn-location of the house\'s interior SetPlayerPos(playerid, AHouseInteriors[intID][intX], AHouseInteriors[intID][intY], AHouseInteriors[intID][intZ]); // Also set a tracking-variable to enable /housemenu to track in which house the player is APlayerData[playerid][CurrentHouse] = HouseID; // Also let the player know he can use /housemenu to upgrade/exit his house SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Használd a {FFFF00}/housemenu{00FF00} parancsot, hogy megváltoztasd a házad dolgait.\"); // Exit the function return 1; } } } } // Let the server know that this was a valid command return 1; } // This command opens a menu when you\'re inside your house to allow to access the options of your house COMMAND:housemenu(playerid, params[]) { // Setup local variables new OptionsList[200], DialogTitle[200], HouseID; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Get the HouseID where the player has entered HouseID = APlayerData[playerid][CurrentHouse]; // Check if the player is inside a house if (HouseID != 0) { format(DialogTitle, sizeof(DialogTitle), \"Válassz opciót itt: %s\", AHouseData[HouseID][HouseName]); // Create 2 different option-lists, based on StaticHouse if (AHouseData[HouseID][staticHouse] == true) { // Create the dialog for a static house (has the same options as a normal house, except for upgrading the house) format(OptionsList, sizeof(OptionsList), \"%sHáznév megváltoztatása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sJármû vásárlás a ház mellé\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sJármû biztosítás kötése\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHázjármû eladása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz eladása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz kinyitása a társadalomnak\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz elzárása a társadalomtól\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sKilépés a házból\\n\", OptionsList); } else { // Create the dialog for a normal house format(OptionsList, sizeof(OptionsList), \"%sHáznév megváltoztatása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz frissítése\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sJármû vásárlás a ház mellé\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sJármû biztosítás kötése\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHázjármû eladása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz eladása\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz kinyitása a társadalomnak\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sHáz elzárása a társadalomtól\\n\", OptionsList); format(OptionsList, sizeof(OptionsList), \"%sKilépés a házból\\n\", OptionsList); } // Show the housemenu ShowPlayerDialog(playerid, DialogHouseMenu, DIALOG_STYLE_LIST, DialogTitle, OptionsList, \"Kiválaszt\", \"Mégsem\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem vagy házban!\"); // Let the server know that this was a valid command return 1; } // This command teleports you to your selected house COMMAND:gohome(playerid, params[]) { // Setup local variables new HouseList[1000], HouseID; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Check if the player isn\'t inside a vehicle (the player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { // Ask to which house the player wants to port for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++) { // Get the HouseID in this slot HouseID = APlayerData[playerid][Houses][HouseSlot]; // Check if this houseindex is occupied if (HouseID != 0) format(HouseList, 1000, \"%s{00FF00}%s{FFFFFF}\\n\", HouseList, AHouseData[HouseID][HouseName]); else format(HouseList, 1000, \"%s{FFFFFF}%s{FFFFFF}\\n\", HouseList, \"Üres ház\"); // Eredetileg Empty house-slot } ShowPlayerDialog(playerid, DialogGoHome, DIALOG_STYLE_LIST, \"Válaszd ki azt a házat ahova menni szeretnél:\", HouseList, \"Kiválaszt\", \"Mégsem\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Gyalog kell lenned, hogy tudj a házadhoz teleportálni.\"); // Let the server know that this was a valid command return 1; } // This command allows you to port a vehicle from your house to your location COMMAND:getcar(playerid, params[]) { // Setup local variables new HouseList[1000], HouseID; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Check if the player isn\'t inside a vehicle (the player must be on foot to use this command) if (GetPlayerVehicleSeat(playerid) == -1) { // Ask to which house the player wants to port for (new HouseSlot; HouseSlot < MAX_HOUSESPERPLAYER; HouseSlot++) { // Get the HouseID in this slot HouseID = APlayerData[playerid][Houses][HouseSlot]; // Check if this houseindex is occupied if (HouseID != 0) format(HouseList, 1000, \"%s{00FF00}%s{FFFFFF}\\n\", HouseList, AHouseData[HouseID][HouseName]); else format(HouseList, 1000, \"%s{FFFFFF}%s{FFFFFF}\\n\", HouseList, \"Üres ház\"); } ShowPlayerDialog(playerid, DialogGetCarSelectHouse, DIALOG_STYLE_LIST, \"Válaszd ki a házat ahonnan ki akarod szedni a kocsit:\", HouseList, \"Select\", \"Cancel\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Gyalog kell lenned, hogy egy kocsit magadhoz teleportálj.\"); // Let the server know that this was a valid command return 1; } // This command checks if the player is inside a vehicle that he owns and if he\'s in range of the house where the vehicle is assigned to COMMAND:park(playerid, params[]) { // Setup local variables new Float:x, Float:y, Float:z, Float:rot, vid, HouseID, Msg[128]; new engine,lights,alarm,doors,bonnet,boot,objective; // If a player hasn\'t logged in properly, he cannot use this command if (INT_IsPlayerLoggedIn(playerid) == 0) return 0; // Check if the player is inside a vehicle (he must be the driver) if (GetPlayerVehicleSeat(playerid) == 0) { // Get the vehicle-id vid = GetPlayerVehicleID(playerid); // Get the HouseID to which this vehicle belongs HouseID = AVehicleData[vid][belongsToHouse]; // Check if this vehicle belongs to a house (if not, the vehicle cannot be parked, as it\'s not a house-vehicle) if (HouseID != 0) { // Check if the vehicle is in range of the house-entrance (you cannot park a vehicle further away from your house than 150m) if (IsPlayerInRangeOfPoint(playerid, ParkRange, AHouseData[HouseID][HouseX], AHouseData[HouseID][HouseY], AHouseData[HouseID][HouseZ])) { // Get the player\'s position and angle GetVehiclePos(vid, x, y, z); GetVehicleZAngle(vid, rot); // Save those values for the vehicle AVehicleData[vid][spawnX] = x; AVehicleData[vid][spawnY] = y; AVehicleData[vid][spawnZ] = z; AVehicleData[vid][spawnRot] = rot; // Loop through all carslots of this house to find the vehicle-id for (new CarSlot; CarSlot < 10; CarSlot++) { // Check if this carslot holds the same vehicle-id if (AHouseData[HouseID][VehicleIDs][CarSlot] == vid) { House_ReplaceVehicle(HouseID, CarSlot); // Re-create the vehicle at the same spot the player wants to park his vehicle PutPlayerInVehicle(playerid, AHouseData[HouseID][VehicleIDs][CarSlot], 0); // Turn on the engine and lights GetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], engine, lights, alarm, doors, bonnet, boot, objective); SetVehicleParamsEx(AHouseData[HouseID][VehicleIDs][CarSlot], 1, 1, alarm, doors, bonnet, boot, objective); break; // Stop the for-loop } } // Let the player know he parked his vehicle SendClientMessage(playerid, 0xFFFFFFFF, \"{00FF00}Leparkoltad a jármûved.\"); // Save the housefile HouseFile_Save(HouseID); } else { format(Msg, 128, \"{FFFF00}%iméteren{FF0000} belül kell parkolj a házadhoz közel.\", ParkRange); SendClientMessage(playerid, 0xFFFFFFFF, Msg); } } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Nem tudod leparkolni a jármûved, mert nem a te tulajdonodban van!\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak jármûben tudod leparkolni a saját jármûvedet.\"); // Let the server know that this was a valid command return 1; } // ****************************************************************************************************************************** // Dialog-responses // ****************************************************************************************************************************** // This function processes the housemenu dialog Dialog_HouseMenu(playerid, response, listitem) { // Just close the dialog if the player clicked \"Cancel\" if(!response) return 1; // Setup local variables new UpgradeList[2000], HouseID, DialogTitle[200], Counter, UpgradePrice, Msg[128], CarSlot, VehicleClassList[1000], VehicleList[500]; new MsgInsurance[128], BuyableCarIndex, bool:HouseHasCars = false; // Get the HouseID of the house where the player is HouseID = APlayerData[playerid][CurrentHouse]; // Skip listitem 1 if this house is a static house (listitem 1 = buy house-car => item 2, ...) if (AHouseData[HouseID][staticHouse] == true) { // If listitem is 1 or higher, increase the listitem by 1, skipping the \"upgrade house\" option // but still keep the \"change housename\" option (listitem 0) if (listitem >= 1) listitem++; } // Select an option based on the selection in the list switch(listitem) { case 0: // Change house name { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { format(DialogTitle, 200, \"Régi háznév: %s\", AHouseData[HouseID][HouseName]); ShowPlayerDialog(playerid, DialogHouseNameChange, DIALOG_STYLE_INPUT, DialogTitle, \"Adj egy új nevet a házadnak\", \"Kiválaszt\", \"Mégsem\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}Csak a ház tulajdonosa tudja használni ezt az opciót.\"); } case 1: // Upgrade the house { // Only the house-owner can use this option if (House_PlayerIsOwner(playerid, HouseID) == 1) { // Check if it\'s possible to upgrade further if (AHouseData[HouseID][HouseLevel] < AHouseData[HouseID][HouseMaxLevel]) { // Add only the upgrades above the current house-level to the upgradelist for (new i = AHouseData[HouseID][HouseLevel] + 1; i <= AHouseData[HouseID][HouseMaxLevel]; i++) { Counter++; // Add 1 to the counter each time an upgrade is added to the upgradelist UpgradePrice = ((AHouseData[HouseID][HousePrice] * Counter) / 100) * HouseUpgradePercent; // Add the upgrade-info in green if the player can afford it, and in red if he cannot afford it if (INT_GetPlayerMoney(playerid) >= UpgradePrice) format(UpgradeList, 2000, \"%s{00FF00}%s (szint %i)\\t\\t$%i\\n\", UpgradeList, AHouseInteriors[interiorName], i, UpgradePrice); else format(UpgradeList, 2000, \"%s{FF0000}%s (szint %i)\\t\\t$%i\\n\", UpgradeList, AHouseInteriors[interiorName], i, UpgradePrice); } // Show another dialog to let the player select which upgrade he wants for his house ShowPlayerDialog(playerid, DialogUpgradeHouse, DIALOG_STYLE_LIST, \"Válaszd ki a frissítést:\", UpgradeList, \"Kiválaszt\", \"Mégsem\"); } else SendClientMessage(playerid, 0xFFFFFFFF, \"{FF0000}A házad e
63
« Dátum: 2012. május 23. - 12:50:54 »
a Garhouse nagyon bugos inkább ház rendszerem se legyen mint hogy a GarHouse...
64
« Dátum: 2012. május 23. - 12:50:03 »
Nem menti rendesen a V.I.P. tagokat.. CMD:vcar(playerid, params[]) { if(vip[playerid] == 1) { new carid; if(sscanf(params,\"i\", carid)) { SendClientMessage(playerid,COLOR_WHITE,\"Használat: /vcar [jármú id]\"); return 1; } SendClientMessage(playerid,COLOR_RED,\"Sikeresen lekértél egy jármût!\"); if(carid > 611 || carid < 400) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nincs ilyen jármû id!\"); return 1; } else { new Float:x,Float:y,Float:z; GetPlayerPos(playerid,x,y,z); new car = CreateVehicle(carid,x,y,z,95.0,0,0,1000); PutPlayerInVehicle(playerid, car, 0); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P!\"); } return 1; } CMD:vfegyver(playerid, params[]) { if(vip[playerid] == 1) { new id; new ammo; new weapon; if(sscanf(params,\"uii\",id,weapon,ammo)) SendClientMessage(playerid,COLOR_WHITE,\"Használat: /giveweapon [id] [fegyver id] [lõszer]\"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz játékos id!\"); else { new str[128]; if(weapon > 46 || weapon < 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nincs ilyen fegyver id!\"); return 1; } GetPlayerName(playerid,string,sizeof(string)); format(str,sizeof(str),\"[VIP]%s {FF6600} adott neked fegyvert! {00FF33} (Fegyver id:%d | {FF9966} Lõszer: %d)\",str,weapon,ammo); SendClientMessage(id,COLOR_RED,str); GetPlayerName(id,str,sizeof(str)); format(string,sizeof(string),\"{{FF9966}} Adtál %s-nak/nek fegyvert! {00FF33} (Fegyver id:%d | {FF6600} Lõszer: %d)\",str,weapon,ammo); SendClientMessage(playerid,COLOR_RED,str); GivePlayerWeapon(id,weapon,ammo); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P!\"); } return 1; } CMD:vgoto(playerid, params[]) { if(vip[playerid] == 1) { new id; if(sscanf(params , \"u\" ,id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat : /vgoto [id].\"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz játékos id!\"); else { new Float:x; new Float:y; new Float:z; GetPlayerPos(id,x,y,z); SetPlayerPos(playerid,x+1,y+1,z); new str[128]; GetPlayerName(id,str,sizeof(str)); format(str,sizeof(str),\"{FF0000} Oda teleportáltál {EECCCC} %s-hoz/hez!\",str); SendClientMessage(playerid,COLOR_RED,str); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P\"); } } CMD:vjail(playerid, params[]) { if(vip[playerid] == 1) { new id; if(sscanf(params , \"u\" ,id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat : /vjail [id].\"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz játékos id!\"); else { new str[200]; GetPlayerName(playerid,str,sizeof(str)); format(str,sizeof(str),\"{00FFFF} [VIP]%s {FF6600} börtönbe zárt!\",str); SendClientMessage(id,COLOR_RED,str); SetPlayerPos(id,223.3760,109.9426,999.0156); SetPlayerInterior(id,10); TogglePlayerControllable(id, 0); GetPlayerName(id,str,sizeof(str)); format(string,sizeof(string),\"{FF6600} Börtönbe zártad {00FFFF} %s-t!\",str); SendClientMessage(playerid,COLOR_RED,str); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P\"); } return 1; } CMD:vunjail(playerid, params[]) { if(vip[playerid] == 1) { new id; if(sscanf(params , \"u\" ,id)) SendClientMessage(playerid, COLOR_WHITE, \"Használat : /vunjail [id].\"); else if (id == INVALID_PLAYER_ID) SendClientMessage(playerid, COLOR_RED, \"HIBA: Rossz játékos id!\"); else { SpawnPlayer(id); new str[200]; GetPlayerName(playerid,str,sizeof(str)); format(str,sizeof(str),\"{00FFFF}[VIP]%s {FF6600}kiengedett a börtönbõl!\",str); SendClientMessage(id,COLOR_RED,str); TogglePlayerControllable(id, 1); GetPlayerName(id,str,sizeof(str)); format(string,sizeof(string),\"{FF6600}Kiengedted a {00FFFF}börtönbõl %s-t!\",str); SendClientMessage(playerid,COLOR_RED,str); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P\"); } return 1; } CMD:vfix(playerid, params[]) { if(vip[playerid] == 1) { if(IsPlayerInAnyVehicle(playerid)) { new vehicle = GetPlayerVehicleID(playerid); RepairVehicle(vehicle); SetVehicleHealth(vehicle,1000); SendClientMessage(playerid,COLOR_RED,\"Jármûved javítva!\"); } else { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy jármûben!\"); } } else if(vip[playerid] == 0) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Nem vagy V.I.P!\"); } return 1; } CMD:advip(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new id; if(sscanf(params,\"u\", id)) return SendClientMessage(playerid,COLOR_WHITE,\"Használat: /advip [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,\"HIBA: Rossz játékos id!\"); else { new str[128]; new name[64]; GetPlayerName(id,str,sizeof(str)); format(file, sizeof(file), \"/vip/%s.ini\", name); if(dini_Exists(file)) return SendClientMessage(playerid, COLOR_RED, \"A játékos már vip tag!\"); format(str,sizeof(str),\"Kinevezted %s-t V.I.P-nak!\",str); dini_Create(file); SendClientMessage(playerid,COLOR_WHITE,string); vip[id] = 1; GetPlayerName(playerid,string,sizeof(str)); format(str,sizeof(str), \"[Adminisztrátor]:%s V.I.P jogott adott neked, Gratulálunk!\", str); SendClientMessage(id,COLOR_WHITE,str); } } else if(AdminLevel[playerid] < 4) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Túl kicsi az admin szinted ehhez a parancshoz!\"); } return 1; } CMD:vipel(playerid, params[]) { if(IsPlayerAdmin(playerid)) { new id; if(sscanf(params,\"u\", id)) return SendClientMessage(playerid,COLOR_WHITE,\"Használat: /vipel [id]\"); if(!IsPlayerConnected(id)) return SendClientMessage(playerid,COLOR_RED,\"HIBA: Rossz játékos id!\"); else { new str[126]; GetPlayerName(id,str,sizeof(str)); format(str,sizeof(str),\"Törölted %s V.I.P jogát!\",str); dini_Remove(file); SendClientMessage(playerid,COLOR_RED,str); vip[id] = 0; GetPlayerName(playerid,str,sizeof(str)); format(str,sizeof(str), \"[Adminisztrátor]:%s elvette a V.I.P jogod, sajnáljuk!\", str); SendClientMessage(id,COLOR_RED,str); } } else if(AdminLevel[playerid] < 4) { SendClientMessage(playerid,COLOR_RED,\"HIBA: Túl kicsi az admin szinted ehhez a parancshoz!\"); } return 1; }
65
« Dátum: 2012. május 23. - 12:13:18 »
Sziasztok! Szeretnék egy ebbõl a scriptbõl egy olyan scriptet irni hogy /bandak parancsal mutassa a banda tagokat... És hogy ha valaki egy bandába lépett akkor a dini mentse.. Elõre is kösz! CMD:bandalogin(playerid, params[]) { if(IsPlayerInLogin[playerid] == 1) return SendClientMessage(playerid,0xAA3333AA,\"Te már loginban vagy!!!{FFFFFF}(/quitbanda)\"); ShowPlayerDialog(playerid, 99, DIALOG_STYLE_INPUT, \"Banda Bejelentkezés!\", \"Bejelentkezéshez: {FFFFFF}Banda1 {FF0000}Kód vagy {FFFFFF}Banda2 {FF0000}kód kell!\", \"Bejelentkez!\", \"Vissza\"); return 1; } CMD:quitbanda(playerid, params[]) { if(IsPlayerInLogin[playerid] == 0) return SendClientMessage(playerid,0xAA3333AA,\"{FF0000}Nem vagy bandában!!!\"); IsPlayerInLogin[playerid] = 0;//Kiveszi a loginból return 1; }
66
« Dátum: 2012. május 22. - 20:41:16 »
Grat James
67
« Dátum: 2012. május 22. - 20:20:42 »
viszlát buzz! zeteni :shifty:
68
« Dátum: 2012. május 22. - 16:30:19 »
4/10
69
« Dátum: 2012. május 22. - 16:29:33 »
szevasz Fuuuhead
70
« Dátum: 2012. május 22. - 16:29:02 »
0/10 valami jobb kép?
71
« Dátum: 2012. május 22. - 16:28:31 »
4/10
72
« Dátum: 2012. május 22. - 15:51:50 »
Alcapone nem is regizett a szerverre.......... de low vagy
73
« Dátum: 2012. május 22. - 15:48:45 »
74
« Dátum: 2012. május 22. - 15:47:45 »
559
75
« Dátum: 2012. május 22. - 15:46:33 »
De ilyennel rendezzem meg esetleg olyannal rendezem meg aki minit kér le és avval lõ ki nem egy DB miatt Vagy airbreak..... akora low vagy
Oldalak: 1 ... 3 4 [5] 6 7 ... 108
|