|
|
- /* SA:MP PAWN Debug -
- * Debugging filterscript used
- * for creation of gamemode.
- *
- * Simon Campbell
- * 10/03/2007, 6:31pm
- *
- * 17/11/2011
- * Updated to 0.5d which supports SA:MP 0.3d
- */
-
- //==============================================================================
-
- #include <a_samp>
-
- #undef KEY_UP
- #undef KEY_DOWN
- #undef KEY_LEFT
- #undef KEY_RIGHT
-
- #define KEY_UP 65408
- #define KEY_DOWN 128
- #define KEY_LEFT 65408
- #define KEY_RIGHT 128
-
- #define DEBUG_VERSION "0.5d"
-
- #define SKIN_SELECT true
- #define VEHI_SELECT true
- #define WORL_SELECT true
- #define CAME_SELECT true
- #define OBJE_SELECT true
-
- #define MISCEL_CMDS true
- #define ADMINS_ONLY false
-
- #define SKIN_SEL_STAT 1
- #define VEHI_SEL_STAT 2
- #define WORL_SEL_STAT 3
- #define CAME_SEL_STAT 4
- #define OBJE_SEL_STAT 5
-
- #define COLOR_RED 0xFF4040FF
- #define COLOR_GREEN 0x40FF40FF
- #define COLOR_BLUE 0x4040FFFF
-
- #define COLOR_CYAN 0x40FFFFFF
- #define COLOR_PINK 0xFF40FFFF
- #define COLOR_YELLOW 0xFFFF40FF
-
- #define COLOR_WHITE 0xFFFFFFFF
- #define COLOR_BLACK 0x000000FF
- #define COLOR_NONE 0x00000000
-
- #define MIN_SKIN_ID 0
- #define MAX_SKIN_ID 299
-
- #define MIN_VEHI_ID 400
- #define MAX_VEHI_ID 611
-
- #define MIN_TIME_ID 0
- #define MAX_TIME_ID 23
-
- #define MIN_WEAT_ID 0
- #define MAX_WEAT_ID 45
-
- #define MIN_OBJE_ID 615
- #define MAX_OBJE_ID 13563
-
- #define DEFAULT_GRA 0.008
-
- #define VEHI_DIS 5.0
- #define OBJE_DIS 10.0
-
- #define CMODE_A 0
- #define CMODE_B 1
-
- #define O_MODE_SELECTOR 0
- #define O_MODE_MOVER 1
- #define O_MODE_ROTATOR 2
-
- #define PI 3.14159265
-
- #define CAMERA_TIME 40
-
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
-
- //==============================================================================
-
- new gPlayerStatus[MAX_PLAYERS]; // Player Status
- new gPlayerTimers[MAX_PLAYERS]; // Player TimerID's for keypresses
- new gWorldStatus[3] = {12, 4}; // Time, Weather
-
- new curPlayerSkin[MAX_PLAYERS] = {MIN_SKIN_ID, ...}; // Current Player Skin ID
- new curPlayerVehM[MAX_PLAYERS] = {MIN_VEHI_ID, ...}; // Current Player Vehicle ID
- new curPlayerVehI[MAX_PLAYERS] = {-1, ...};
-
- enum E_OBJECT
- {
- OBJ_MOD,
- OBJ_MDL,
- Float:OBJ_X,
- Float:OBJ_Y,
- Float:OBJ_Z,
- Float:OBJ_RX,
- Float:OBJ_RY,
- Float:OBJ_RZ
- }
-
- enum E_OBJ_RATE
- {
- Float:OBJ_RATE_ROT,
- Float:OBJ_RATE_MOVE
- }
-
- new pObjectRate[ MAX_PLAYERS ][ E_OBJ_RATE ];
- new curPlayerObjM[ MAX_PLAYERS ][ E_OBJECT ];
- new curPlayerObjI[ MAX_PLAYERS ] = {-1, ...};
-
- enum P_CAMERA_D {
- CMODE,
- Float:RATE,
- Float:CPOS_X,
- Float:CPOS_Y,
- Float:CPOS_Z,
- Float:CLOO_X,
- Float:CLOO_Y,
- Float:CLOO_Z
- };
-
- new curPlayerCamD[MAX_PLAYERS][P_CAMERA_D];
-
- enum CURVEHICLE {
- bool:spawn,
- vmodel,
- vInt
- };
-
- new curServerVehP[MAX_VEHICLES][CURVEHICLE];
-
- new aSelNames[5][] = { // Menu selection names
- {"SkinSelect"},
- {"VehicleSelect"},
- {"WeatherSelect"},
- {"CameraSelect"},
- {"ObjectSelect"}
- };
-
- new aWeaponNames[][32] = {
- {"Unarmed (Fist)"}, // 0
- {"Brass Knuckles"}, // 1
- {"Golf Club"}, // 2
- {"Night Stick"}, // 3
- {"Knife"}, // 4
- {"Baseball Bat"}, // 5
- {"Shovel"}, // 6
- {"Pool Cue"}, // 7
- {"Katana"}, // 8
- {"Chainsaw"}, // 9
- {"Purple Dildo"}, // 10
- {"Big White Vibrator"}, // 11
- {"Medium White Vibrator"}, // 12
- {"Small White Vibrator"}, // 13
- {"Flowers"}, // 14
- {"Cane"}, // 15
- {"Grenade"}, // 16
- {"Teargas"}, // 17
- {"Molotov"}, // 18
- {" "}, // 19
- {" "}, // 20
- {" "}, // 21
- {"Colt 45"}, // 22
- {"Colt 45 (Silenced)"}, // 23
- {"Desert Eagle"}, // 24
- {"Normal Shotgun"}, // 25
- {"Sawnoff Shotgun"}, // 26
- {"Combat Shotgun"}, // 27
- {"Micro Uzi (Mac 10)"}, // 28
- {"MP5"}, // 29
- {"AK47"}, // 30
- {"M4"}, // 31
- {"Tec9"}, // 32
- {"Country Rifle"}, // 33
- {"Sniper Rifle"}, // 34
- {"Rocket Launcher"}, // 35
- {"Heat-Seeking Rocket Launcher"}, // 36
- {"Flamethrower"}, // 37
- {"Minigun"}, // 38
- {"Satchel Charge"}, // 39
- {"Detonator"}, // 40
- {"Spray Can"}, // 41
- {"Fire Extinguisher"}, // 42
- {"Camera"}, // 43
- {"Night Vision Goggles"}, // 44
- {"Infrared Vision Goggles"}, // 45
- {"Parachute"}, // 46
- {"Fake Pistol"} // 47
- };
-
-
- new aVehicleNames[212][] = { // Vehicle Names - Betamaster
- {"Landstalker"},
- {"Bravura"},
- {"Buffalo"},
- {"Linerunner"},
- {"Perrenial"},
- {"Sentinel"},
- {"Dumper"},
- {"Firetruck"},
- {"Trashmaster"},
- {"Stretch"},
- {"Manana"},
- {"Infernus"},
- {"Voodoo"},
- {"Pony"},
- {"Mule"},
- {"Cheetah"},
- {"Ambulance"},
- {"Leviathan"},
- {"Moonbeam"},
- {"Esperanto"},
- {"Taxi"},
- {"Washington"},
- {"Bobcat"},
- {"Mr Whoopee"},
- {"BF Injection"},
- {"Hunter"},
- {"Premier"},
- {"Enforcer"},
- {"Securicar"},
- {"Banshee"},
- {"Predator"},
- {"Bus"},
- {"Rhino"},
- {"Barracks"},
- {"Hotknife"},
- {"Trailer 1"}, //artict1
- {"Previon"},
- {"Coach"},
- {"Cabbie"},
- {"Stallion"},
- {"Rumpo"},
- {"RC Bandit"},
- {"Romero"},
- {"Packer"},
- {"Monster"},
- {"Admiral"},
- {"Squalo"},
- {"Seasparrow"},
- {"Pizzaboy"},
- {"Tram"},
- {"Trailer 2"}, //artict2
- {"Turismo"},
- {"Speeder"},
- {"Reefer"},
- {"Tropic"},
- {"Flatbed"},
- {"Yankee"},
- {"Caddy"},
- {"Solair"},
- {"Berkley's RC Van"},
- {"Skimmer"},
- {"PCJ-600"},
- {"Faggio"},
- {"Freeway"},
- {"RC Baron"},
- {"RC Raider"},
- {"Glendale"},
- {"Oceanic"},
- {"Sanchez"},
- {"Sparrow"},
- {"Patriot"},
- {"Quad"},
- {"Coastguard"},
- {"Dinghy"},
- {"Hermes"},
- {"Sabre"},
- {"Rustler"},
- {"ZR-350"},
- {"Walton"},
- {"Regina"},
- {"Comet"},
- {"BMX"},
- {"Burrito"},
- {"Camper"},
- {"Marquis"},
- {"Baggage"},
- {"Dozer"},
- {"Maverick"},
- {"News Chopper"},
- {"Rancher"},
- {"FBI Rancher"},
- {"Virgo"},
- {"Greenwood"},
- {"Jetmax"},
- {"Hotring"},
- {"Sandking"},
- {"Blista Compact"},
- {"Police Maverick"},
- {"Boxville"},
- {"Benson"},
- {"Mesa"},
- {"RC Goblin"},
- {"Hotring Racer A"}, //hotrina
- {"Hotring Racer B"}, //hotrinb
- {"Bloodring Banger"},
- {"Rancher"},
- {"Super GT"},
- {"Elegant"},
- {"Journey"},
- {"Bike"},
- {"Mountain Bike"},
- {"Beagle"},
- {"Cropdust"},
- {"Stunt"},
- {"Tanker"}, //petro
- {"Roadtrain"},
- {"Nebula"},
- {"Majestic"},
- {"Buccaneer"},
- {"Shamal"},
- {"Hydra"},
- {"FCR-900"},
- {"NRG-500"},
- {"HPV1000"},
- {"Cement Truck"},
- {"Tow Truck"},
- {"Fortune"},
- {"Cadrona"},
- {"FBI Truck"},
- {"Willard"},
- {"Forklift"},
- {"Tractor"},
- {"Combine"},
- {"Feltzer"},
- {"Remington"},
- {"Slamvan"},
- {"Blade"},
- {"Freight"},
- {"Streak"},
- {"Vortex"},
- {"Vincent"},
- {"Bullet"},
- {"Clover"},
- {"Sadler"},
- {"Firetruck LA"}, //firela
- {"Hustler"},
- {"Intruder"},
- {"Primo"},
- {"Cargobob"},
- {"Tampa"},
- {"Sunrise"},
- {"Merit"},
- {"Utility"},
- {"Nevada"},
- {"Yosemite"},
- {"Windsor"},
- {"Monster A"}, //monstera
- {"Monster B"}, //monsterb
- {"Uranus"},
- {"Jester"},
- {"Sultan"},
- {"Stratum"},
- {"Elegy"},
- {"Raindance"},
- {"RC Tiger"},
- {"Flash"},
- {"Tahoma"},
- {"Savanna"},
- {"Bandito"},
- {"Freight Flat"}, //freiflat
- {"Streak Carriage"}, //streakc
- {"Kart"},
- {"Mower"},
- {"Duneride"},
- {"Sweeper"},
- {"Broadway"},
- {"Tornado"},
- {"AT-400"},
- {"DFT-30"},
- {"Huntley"},
- {"Stafford"},
- {"BF-400"},
- {"Newsvan"},
- {"Tug"},
- {"Trailer 3"}, //petrotr
- {"Emperor"},
- {"Wayfarer"},
- {"Euros"},
- {"Hotdog"},
- {"Club"},
- {"Freight Carriage"}, //freibox
- {"Trailer 3"}, //artict3
- {"Andromada"},
- {"Dodo"},
- {"RC Cam"},
- {"Launch"},
- {"Police Car (LSPD)"},
- {"Police Car (SFPD)"},
- {"Police Car (LVPD)"},
- {"Police Ranger"},
- {"Picador"},
- {"S.W.A.T. Van"},
- {"Alpha"},
- {"Phoenix"},
- {"Glendale"},
- {"Sadler"},
- {"Luggage Trailer A"}, //bagboxa
- {"Luggage Trailer B"}, //bagboxb
- {"Stair Trailer"}, //tugstair
- {"Boxville"},
- {"Farm Plow"}, //farmtr1
- {"Utility Trailer"} //utiltr1
- };
-
- //==============================================================================
-
- forward SkinSelect(playerid);
- forward VehicleSelect(playerid);
- forward WorldSelect(playerid);
- forward CameraSelect(playerid);
- forward ObjectSelect( playerid );
-
- //==============================================================================
-
- dcmd_debug(playerid, params[]) {
- if(strcmp(params, "help", true, 4) == 0) {
- SendClientMessage(playerid, COLOR_BLUE, "[DEBUG]: Debug Mode 0.2 - HELP");
- SendClientMessage(playerid, COLOR_CYAN, "[DEBUG]: Debug Mode 0.2 is a filterscript which allows scripters");
- SendClientMessage(playerid, COLOR_CYAN, "[DEBUG]: or people who wish to explore SA:MP 0.2\'s features to have access");
- SendClientMessage(playerid, COLOR_CYAN, "[DEBUG]: to many commands and \"menu\'s\".");
- SendClientMessage(playerid, COLOR_YELLOW, "[DEBUG]: This filterscript was designed for SA:MP version 0.2");
- SendClientMessage(playerid, COLOR_PINK, "[DEBUG]: For the command list type \"/debug commands\"");
-
- return true;
- }
- if(strcmp(params, "commands", true, 8) == 0) {
- SendClientMessage(playerid, COLOR_BLUE, "[DEBUG]: Debug Mode 0.2 - COMMANDS");
- SendClientMessage(playerid, COLOR_CYAN, "[WORLD]: /w, /weather, /t, /time, /wsel, /g, /gravity");
- SendClientMessage(playerid, COLOR_CYAN, "[VEHICLES]: /v, /vehicle, /vsel");
- SendClientMessage(playerid, COLOR_CYAN, "[PLAYER]: /s, /skin, /ssel, /weapon, /w2");
- SendClientMessage(playerid, COLOR_CYAN, "[PLAYER]: /goto, /warpto, /bring, /setloc");
- SendClientMessage(playerid, COLOR_CYAN, "[CAMERA]: /camera, /csel");
-
- return true;
- }
-
- if(strcmp(params, "dump", true, 4) == 0) {
- SendClientMessage(playerid, COLOR_GREEN, "[SUCCESS]: All current server data dumped to a file.");
- new File:F_DUMP = fopen("DEBUG-DUMP.txt", io_append);
- if(F_DUMP) {
- new h, m, s, Y, M, D, cString[256];
-
- getdate(Y, M, D);
- gettime(h, m, s);
-
- format(cString, 256, "// %d-%d-%d @ %d:%d:%d\r\n", D, M, Y, h, m, s);
- fwrite(F_DUMP, cString);
-
- for(new i = 0; i < MAX_VEHICLES; i++) {
- if(curServerVehP[i][spawn] == true) {
- new Float:vx, Float:vy, Float:vz, Float:va;
- GetVehiclePos(i, vx, vy, vz);
- GetVehicleZAngle(i, va);
- format(cString, 256, "CreateVehicle(%d, %f, %f, %f, %f, -1, -1, 5000); // Interior(%d), %s\r\n", curServerVehP[i][vmodel], vx, vy, vz, va, curServerVehP[i][vInt], aVehicleNames[curServerVehP[i][vmodel] - MIN_VEHI_ID]);
- fwrite(F_DUMP, cString);
- }
- }
- print("** Dumped current server information.");
- fclose(F_DUMP);
- }
- else {
- print("** Failed to create the file \"DEBUG-DUMP.txt\".\n");
- }
- return true;
- }
- return false;
- }
-
- #if CAME_SELECT == true
-
- dcmd_object(playerid, params[])
- {
- new cString[ 128 ], idx;
- cString = strtok( params, idx );
-
- if ( !strlen( cString ) || !strlen( params[ idx + 1 ] ) )
- {
- SendClientMessage( playerid, COLOR_WHITE, "[USAGE]: /object [RRATE/MRATE/CAMERA] [RATE/ID]");
-
- return 1;
- }
-
- if ( strcmp( cString, "rrate", true ) == 0 )
- {
- pObjectRate[ playerid ][ OBJ_RATE_ROT ] = floatstr( params[ idx + 1 ] );
-
- format( cString, 128, "[SUCCESS]: Object rotation rate changed to %f.", pObjectRate[ playerid ][ OBJ_RATE_ROT ] );
- SendClientMessage( playerid, COLOR_GREEN, cString );
-
- return 1;
- }
-
- if ( strcmp( cString, "mrate", true ) == 0 )
- {
- pObjectRate[ playerid ][ OBJ_RATE_MOVE ] = floatstr( params[ idx + 1 ] );
-
- format( cString, 128, "[SUCCESS]: Object movement rate changed to %f.", pObjectRate[ playerid ][ OBJ_RATE_MOVE ] );
- SendClientMessage( playerid, COLOR_GREEN, cString );
-
- return 1;
- }
-
- if ( strcmp( cString, "mode", true ) == 0 )
- {
- new fuck = strval( params[ idx + 1 ] );
-
- if ( fuck >= O_MODE_SELECTOR || fuck <= O_MODE_ROTATOR )
- {
- curPlayerObjM[ playerid ][ OBJ_MOD ] = fuck;
-
- switch ( fuck )
- {
- case O_MODE_SELECTOR: SendClientMessage( playerid, COLOR_GREEN, "[SUCCESS]: Object mode changed to Object Selection." );
- case O_MODE_MOVER: SendClientMessage( playerid, COLOR_GREEN, "[SUCCESS]: Object mode changed to Object Mover." );
- case O_MODE_ROTATOR: SendClientMessage( playerid, COLOR_GREEN, "[SUCCESS]: Object mode changed to Object Rotator." );
- }
-
- return 1;
- }
- else
- {
- SendClientMessage( playerid, COLOR_RED, "[ERROR]: Invalid modeid." );
-
- return 1;
- }
- }
-
- if ( strcmp( cString, "focus", true ) == 0 )
- {
- new objectid = strval( params[ idx + 1 ] );
-
- if ( !IsValidObject( objectid ) )
- {
- SendClientMessage( playerid, COLOR_RED, "[ERROR]: Enter a valid objectid." );
-
- return 1;
- }
-
- else
- {
- curPlayerObjI[ playerid ] = objectid;
-
- GetObjectPos( objectid, curPlayerObjM[ playerid ][ OBJ_X ], curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ] );
- GetObjectRot( objectid, curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ] );
-
- curPlayerCamD[playerid][CPOS_X] = curPlayerObjM[ playerid ][ OBJ_X ] + 5.0;
- curPlayerCamD[playerid][CPOS_Y] = curPlayerObjM[ playerid ][ OBJ_Y ] - 20.0;
- curPlayerCamD[playerid][CPOS_Z] = curPlayerObjM[ playerid ][ OBJ_Z ] + 30.0;
-
- curPlayerCamD[playerid][CLOO_X] = curPlayerObjM[ playerid ][ OBJ_X ];
- curPlayerCamD[playerid][CLOO_Y] = curPlayerObjM[ playerid ][ OBJ_Y ];
- curPlayerCamD[playerid][CLOO_Z] = curPlayerObjM[ playerid ][ OBJ_Z ];
-
- if ( gPlayerStatus[ playerid ] == OBJE_SEL_STAT )
- {
- SetPlayerCameraPos( playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z] );
- SetPlayerCameraLookAt( playerid, curPlayerObjM[ playerid ][ OBJ_X ], curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ] );
- }
-
- return 1;
- }
- }
-
- if ( strcmp( cString, "camera", true ) == 0 )
- {
- new cameraid = strval( params[ idx + 1 ] );
-
- if ( cameraid >= 0 && cameraid < 4 )
- {
- switch ( cameraid )
- {
- case 0:
- {
- curPlayerCamD[playerid][CPOS_X] = curPlayerObjM[ playerid ][ OBJ_X ] + 7.0;
- curPlayerCamD[playerid][CPOS_Y] = curPlayerObjM[ playerid ][ OBJ_Y ] - 20.0;
- curPlayerCamD[playerid][CPOS_Z] = curPlayerObjM[ playerid ][ OBJ_Z ] + 30.0;
- }
-
- case 1:
- {
- curPlayerCamD[playerid][CPOS_X] = curPlayerObjM[ playerid ][ OBJ_X ] + 7.0;
- curPlayerCamD[playerid][CPOS_Y] = curPlayerObjM[ playerid ][ OBJ_Y ] + 15.0;
- curPlayerCamD[playerid][CPOS_Z] = curPlayerObjM[ playerid ][ OBJ_X ] + 15.0;
- }
-
- case 2:
- {
- curPlayerCamD[playerid][CPOS_X] = curPlayerObjM[ playerid ][ OBJ_X ] - 20.0;
- curPlayerCamD[playerid][CPOS_Y] = curPlayerObjM[ playerid ][ OBJ_Y ] + 20.0;
- curPlayerCamD[playerid][CPOS_Z] = curPlayerObjM[ playerid ][ OBJ_X ] + 20.0;
- }
-
- case 3:
- {
- curPlayerCamD[playerid][CPOS_X] = curPlayerObjM[ playerid ][ OBJ_X ] - 10.0;
- curPlayerCamD[playerid][CPOS_Y] = curPlayerObjM[ playerid ][ OBJ_Y ] + 25.0;
- curPlayerCamD[playerid][CPOS_Z] = curPlayerObjM[ playerid ][ OBJ_X ] + 15.0;
- }
- }
-
- SetPlayerCameraPos( playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z] );
- SetPlayerCameraLookAt( playerid, curPlayerObjM[ playerid ][ OBJ_X ], curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ] );
-
- return 1;
- }
- else
- {
- SendClientMessage( playerid, COLOR_RED, "[ERROR]: Invalid object camera id.");
-
- return 1;
- }
- }
- return 0;
- }
-
- dcmd_osel(playerid, params[])
- {
- #pragma unused params
-
- new cString[ 128 ];
-
- if ( gPlayerStatus[ playerid ] != 0 )
- {
- format( cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[ gPlayerStatus[ playerid ] - 1 ] );
- SendClientMessage(playerid, COLOR_RED, cString);
-
- return 1;
- }
-
- new Float:a;
-
- gPlayerStatus[playerid] = OBJE_SEL_STAT;
-
- GetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- curPlayerCamD[playerid][CPOS_Z] += 5.0;
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- GetXYInFrontOfPlayer(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], OBJE_DIS);
-
- curPlayerCamD[playerid][CLOO_Z] = curPlayerCamD[playerid][CPOS_Z] - 5.0;
-
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
-
- TogglePlayerControllable(playerid, 0);
-
- GetPlayerFacingAngle(playerid, a);
-
- curPlayerObjM[ playerid ][ OBJ_X ] = curPlayerCamD[playerid][CLOO_X];
- curPlayerObjM[ playerid ][ OBJ_Y ] = curPlayerCamD[playerid][CLOO_Y];
- curPlayerObjM[ playerid ][ OBJ_Z ] = curPlayerCamD[playerid][CLOO_Z];
- curPlayerObjM[ playerid ][ OBJ_RX ] = 0.0;
- curPlayerObjM[ playerid ][ OBJ_RY ] = 0.0;
- curPlayerObjM[ playerid ][ OBJ_RZ ] = 0.0;
-
- curPlayerObjI[ playerid ] = CreateObject( curPlayerObjM[ playerid ][ OBJ_MDL ], curPlayerObjM[ playerid ][ OBJ_X ],
- curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ],
- curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ]
- );
-
- gPlayerTimers[ playerid ] = SetTimerEx("ObjectSelect", 200, 1, "i", playerid);
-
- return 1;
- }
-
- dcmd_camera(playerid, params[]) {
- new idx; new cString[128];
-
- cString = strtok(params, idx);
-
- if (!strlen(cString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /camera [RATE/MODE] [RATE/MODEID]");
-
- return true;
- }
-
- if (strcmp(cString, "rate", true, 4) == 0) {
- curPlayerCamD[playerid][RATE] = floatstr(params[idx+1]);
-
- return true;
- }
-
- if (strcmp(cString, "mode", true, 4) == 0) {
- curPlayerCamD[playerid][CMODE] = strval(params[idx+1]);
-
- return true;
- }
-
- return true;
- }
-
- dcmd_csel(playerid, params[]) {
- #pragma unused params
-
- new cString[128];
-
- if (gPlayerStatus[playerid] != 0) {
- format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]);
- SendClientMessage(playerid, COLOR_RED, cString);
-
- return true;
- }
-
- gPlayerStatus[playerid] = CAME_SEL_STAT;
-
- TogglePlayerControllable(playerid, 0);
-
- GetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- GetXYInFrontOfPlayer(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], 5.0);
-
- curPlayerCamD[playerid][CLOO_Z] = curPlayerCamD[playerid][CPOS_Z];
-
- gPlayerTimers[playerid] = SetTimerEx("CameraSelect", 200, 1, "i", playerid);
-
- return true;
- }
-
- #endif
-
- #if WORL_SELECT == true
- dcmd_g(playerid, params[]) {
- new cString[128];
-
- if (!strlen(params[0]))
- {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /g GRAVITY or /gravity GRAVITY");
- return true;
- }
-
- new Float:grav = floatstr(params[0]);
-
- SetGravity(grav);
-
- format(cString, 128, "[SUCCESS]: World gravity changed to %f", grav);
- SendClientMessage(playerid, COLOR_GREEN, cString);
-
- return true;
- }
-
- dcmd_gravity(playerid, params[])
- return dcmd_g(playerid, params);
-
- dcmd_w(playerid, params[]) {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /w WEATHERID or /weather WEATHERID");
- return true;
- }
-
- idx = strval(iString);
-
- if (idx < MIN_WEAT_ID || idx > MAX_WEAT_ID) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid WEATHERID");
- return true;
- }
-
- gWorldStatus[1] = idx;
-
- SetWeather(idx);
-
- format(iString, 128, "[SUCCESS]: Weather has changed to WEATHERID %d", idx);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_weather(playerid, params[])
- return dcmd_w(playerid, params);
-
- dcmd_t(playerid, params[]) {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /t HOUR or /time HOUR");
- return true;
- }
-
- idx = strval(iString);
-
- if (idx < MIN_TIME_ID || idx > MAX_TIME_ID) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid HOUR");
- return true;
- }
-
- gWorldStatus[0] = idx;
-
- SetWorldTime(idx);
-
- format(iString, 128, "[SUCCESS]: Time has changed to HOUR %d", idx);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_time(playerid, params[])
- return dcmd_t(playerid, params);
-
- dcmd_wsel(playerid, params[]) {
- #pragma unused params
-
- new cString[128];
-
- if (gPlayerStatus[playerid] != 0) {
- format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]);
- SendClientMessage(playerid, COLOR_RED, cString);
- return true;
- }
-
- new Float:x, Float:y, Float:z;
-
- gPlayerStatus[playerid] = WORL_SEL_STAT;
-
- GetPlayerPos(playerid, x, y, z);
- SetPlayerCameraPos(playerid, x, y, z + 40.0);
-
- GetXYInFrontOfPlayer(playerid, x, y, 100.0);
-
- SetPlayerCameraLookAt(playerid, x, y, z + 5.0);
-
- TogglePlayerControllable(playerid, 0);
-
- gPlayerTimers[playerid] = SetTimerEx("WorldSelect", 200, 1, "i", playerid);
-
- GameTextForPlayer(playerid, "WorldSelect", 1500, 3);
-
- return true;
- }
- #endif
-
- #if VEHI_SELECT == true
-
- dcmd_v(playerid, params[])
- {
- new
- idx,
- iString[ 128 ];
-
- if ( gPlayerStatus[ playerid ] != 0 )
- {
- format ( iString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[ gPlayerStatus[ playerid ] - 1 ] );
- SendClientMessage ( playerid, COLOR_RED, iString );
-
- return true;
- }
-
- if ( params[ 0 ] == '\0' ) // Same effect as a !strlen check.
- return SendClientMessage( playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME" );
-
- //***************
- // Fix by Mike! *
- //***************
-
- idx = GetVehicleModelIDFromName( params );
-
- if( idx == -1 )
- {
- idx = strval(iString);
-
- if ( idx < MIN_VEHI_ID || idx > MAX_VEHI_ID )
- return SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME");
- }
-
- new
- Float:x,
- Float:y,
- Float:z,
- Float:a;
-
- GetPlayerPos(playerid, x, y, z);
- GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
- GetPlayerFacingAngle(playerid, a);
-
- curPlayerVehM[playerid] = idx;
-
- curPlayerVehI[playerid] = CreateVehicle(idx, x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
-
- curServerVehP[curPlayerVehI[playerid]][spawn] = true;
- curServerVehP[curPlayerVehI[playerid]][vmodel] = idx;
- curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
-
- format(iString, 128, "[SUCCESS]: Spawned a \"%s\" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[idx - MIN_VEHI_ID], idx, curPlayerVehI[playerid]);
-
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_vehicle(playerid, params[])
- return dcmd_v(playerid, params);
-
- dcmd_vsel(playerid, params[])
- {
- // /vsel allows players to select a vehicle using playerkeys.
- #pragma unused params
-
- new cString[128];
-
- if (gPlayerStatus[playerid] != 0) {
- format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]);
- SendClientMessage(playerid, COLOR_RED, cString);
- return true;
- }
-
- new Float:x, Float:y, Float:z, Float:a;
-
- gPlayerStatus[playerid] = VEHI_SEL_STAT;
-
- GetPlayerPos(playerid, x, y, z);
- SetPlayerCameraPos(playerid, x, y, z + 3.0);
-
- GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
- SetPlayerCameraLookAt(playerid, x, y, z);
-
- TogglePlayerControllable(playerid, 0);
-
- GetPlayerFacingAngle(playerid, a);
-
- curPlayerVehI[playerid] = CreateVehicle(curPlayerVehM[playerid], x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- printf( "vsel vehicle start id = %d", curPlayerVehI[playerid] );
-
- LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
-
- curServerVehP[curPlayerVehI[playerid]][spawn] = true;
- curServerVehP[curPlayerVehI[playerid]][vmodel] = curPlayerVehM[playerid];
- curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
-
- gPlayerTimers[playerid] = SetTimerEx("VehicleSelect", 200, 1, "i", playerid);
-
- return true;
- }
-
- #endif
-
- #if SKIN_SELECT == true
-
- dcmd_ssel(playerid, params[])
- {
- // /ssel allows players to select a skin using playerkeys.
- #pragma unused params
-
- new cString[128];
-
- if (gPlayerStatus[playerid] != 0) {
- format(cString, 128, "[ERROR]: You are already using \"%s\".", aSelNames[gPlayerStatus[playerid] - 1]);
- SendClientMessage(playerid, COLOR_RED, cString);
- return true;
- }
-
- new Float:x, Float:y, Float:z;
-
- gPlayerStatus[playerid] = SKIN_SEL_STAT;
-
- GetPlayerPos(playerid, x, y, z);
- SetPlayerCameraLookAt(playerid, x, y, z);
-
- GetXYInFrontOfPlayer(playerid, x, y, 3.5);
- SetPlayerCameraPos(playerid, x, y, z);
-
- TogglePlayerControllable(playerid, 0);
-
- gPlayerTimers[playerid] = SetTimerEx("SkinSelect", 200, 1, "i", playerid);
-
- return true;
- }
-
- dcmd_s(playerid, params[])
- {
- // /s SKINID allows players to directly select a skin using it's ID.
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /s SKINID");
- return true;
- }
-
- idx = strval(iString);
-
- if (IsInvalidSkin(idx) || idx < MIN_SKIN_ID || idx > MAX_SKIN_ID) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid SKINID");
- return true;
- }
-
- SetPlayerSkin(playerid, idx);
- curPlayerSkin[playerid] = idx;
- format(iString, 128, "[SUCCESS]: Changed skin to SKINID %d", idx);
-
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_skin(playerid, params[])
- {
- dcmd_s(playerid, params);
-
- return true;
- }
-
- #endif
-
- #if MISCEL_CMDS == true
- dcmd_goto(playerid, params[])
- {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /goto PLAYERID (X_OFFSET Y_OFFSET Z_OFFSET)");
- return true;
- }
-
- new ID = strval(iString);
-
- if (!IsPlayerConnected(ID)) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Not connected PLAYERID.");
- return true;
- }
-
- new Float:X, Float:Y, Float:Z;
- new Interior = GetPlayerInterior(ID);
-
- GetPlayerPos(ID, X, Y, Z);
-
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- GetXYInFrontOfPlayer(ID, X, Y, 1.5);
- SetPlayerInterior(playerid, Interior);
- SetPlayerPos(playerid, X, Y, Z);
-
- GetPlayerName(ID, iString, 128);
- format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- X += floatstr(iString);
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- goto fwarpto;
- }
-
- Y += floatstr(iString);
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- goto fwarpto;
- }
-
- Z += floatstr(iString);
-
- fwarpto:
-
- new pVID = GetPlayerVehicleID( playerid );
-
- if ( pVID )
- {
- SetVehiclePos( pVID, X, Y, Z );
- LinkVehicleToInterior( pVID, Interior );
- }
- else
- {
- SetPlayerPos( playerid, X, Y, Z);
- }
-
- SetPlayerInterior( playerid, Interior);
-
- GetPlayerName(ID, iString, 128);
- format(iString, 128, "[SUCCESS]: You have warped to %s (ID: %d).", iString, ID);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_warpto(playerid, params[])
- {
- dcmd_goto(playerid, params);
-
- return true;
- }
-
- dcmd_setloc(playerid, params[])
- {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /setloc X Y Z INTERIOR");
- return true;
- }
-
- new Float:X, Float:Y, Float:Z;
- new Interior;
-
- X = floatstr(iString);
- Y = floatstr(strtok(params,idx));
- Z = floatstr(strtok(params,idx));
- Interior = strval(strtok(params,idx));
-
- new pVID = GetPlayerVehicleID( playerid );
-
- if ( pVID )
- {
- SetVehiclePos( pVID, X, Y, Z );
- LinkVehicleToInterior( pVID, Interior );
- }
- else
- {
- SetPlayerPos( playerid, X, Y, Z );
- }
-
- SetPlayerInterior(playerid, Interior);
-
- return true;
-
-
- }
-
- dcmd_bring(playerid, params[])
- {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /bring PLAYERID (X_OFFSET Y_OFFSET Z_OFFSET)");
- return true;
- }
-
- new ID = strval(iString);
-
- if (!IsPlayerConnected(ID)) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Not connected PLAYERID.");
- return true;
- }
-
- new Float:X, Float:Y, Float:Z;
- new Interior = GetPlayerInterior(playerid);
-
- GetPlayerPos(playerid, X, Y, Z);
-
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- GetXYInFrontOfPlayer(playerid, X, Y, 1.5);
- SetPlayerInterior(ID, Interior);
- SetPlayerPos(ID, X, Y, Z);
-
- GetPlayerName(ID, iString, 128);
- format(iString, 128, "[SUCCESS]: You have brought %s (ID: %d) to you.", iString, ID);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- X += floatstr(iString);
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- goto fbring;
- }
-
- Y += floatstr(iString);
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- goto fbring;
- }
-
- Z += floatstr(iString);
-
- fbring:
-
- new pVID = GetPlayerVehicleID( ID );
-
- if ( pVID )
- {
- SetVehiclePos( pVID, X, Y, Z );
- LinkVehicleToInterior( pVID, Interior );
- }
- else
- {
- SetPlayerPos( ID, X, Y, Z );
- }
-
- SetPlayerInterior(ID, Interior);
-
- GetPlayerName(ID, iString, 128);
- format(iString, 128, "[SUCCESS]: You have brought %s (ID: %d) to you.", iString, ID);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- dcmd_weapon(playerid, params[])
- {
- dcmd_w2(playerid, params);
-
- return true;
- }
-
- dcmd_w2(playerid, params[])
- {
- new idx, iString[128];
- iString = strtok(params, idx);
-
- if (!strlen(iString)) {
- SendClientMessage(playerid, COLOR_RED, "[USAGE]: /w2 WEAPONID/NAME (AMMO) or /weapon WEAPONID/NAME (AMMO)");
- return true;
- }
-
- new weaponid = GetWeaponModelIDFromName(iString);
-
- if (weaponid == -1) {
- weaponid = strval(iString);
- if (weaponid < 0 || weaponid > 47) {
- SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid WEAPONID/NAME");
- return true;
- }
- }
-
- if (!strlen(params[idx+1])) {
- GivePlayerWeapon(playerid, weaponid, 500);
-
- format(iString, 128, "[SUCCESS]: You were given weapon %s (ID: %d) with 500 ammo.", aWeaponNames[weaponid], weaponid);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
-
- idx = strval(params[idx+1]);
-
- GivePlayerWeapon(playerid, weaponid, idx);
-
- format(iString, 128, "[SUCCESS]: You were given weapon %s (ID: %d) with %d ammo.", aWeaponNames[weaponid], weaponid, idx);
- SendClientMessage(playerid, COLOR_GREEN, iString);
-
- return true;
- }
- #endif
-
- public OnFilterScriptInit()
- {
- print("\n *********************\n * SA:MP DEBUG 0.2 *");
- print(" * By Simon Campbell *\n *********************");
- printf(" * Version: %s *\n *********************", DEBUG_VERSION);
- print(" * -- LOADED *\n *********************\n");
-
- for ( new i = 0; i < MAX_PLAYERS; i++ )
- {
- curPlayerObjM[ i ][ OBJ_MDL ] = MIN_OBJE_ID;
- pObjectRate[ i ][ OBJ_RATE_ROT ] = 1.0;
- pObjectRate[ i ][ OBJ_RATE_MOVE ] = 1.0;
- }
-
- }
-
- public OnFilterScriptExit()
- {
- print("\n *********************\n * SA:MP DEBUG 0.2 *");
- print(" * -- SHUTDOWN *\n *********************\n");
- }
-
- public OnPlayerCommandText(playerid, cmdtext[])
- {
- #if ADMINS_ONLY == true
- if(IsPlayerAdmin(playerid)) {
- #endif
-
- #if SKIN_SELECT == true
- dcmd(s, 1, cmdtext);
- dcmd(ssel, 4, cmdtext);
- dcmd(skin, 4, cmdtext);
- #endif
-
- #if VEHI_SELECT == true
- dcmd(v, 1, cmdtext);
- dcmd(vsel, 4, cmdtext);
- dcmd(vehicle, 7, cmdtext);
- #endif
-
- #if WORL_SELECT == true
- dcmd(w, 1, cmdtext);
- dcmd(t, 1, cmdtext);
- dcmd(g, 1, cmdtext);
- dcmd(wsel, 4, cmdtext);
- dcmd(time, 4, cmdtext);
- dcmd(weather, 7, cmdtext);
- dcmd(gravity, 7, cmdtext);
- #endif
-
- #if MISCEL_CMDS == true
- dcmd(w2, 2, cmdtext);
- dcmd(goto, 4, cmdtext);
- dcmd(bring, 5, cmdtext);
- dcmd(warpto, 6, cmdtext);
- dcmd(weapon, 6, cmdtext);
- dcmd(setloc, 6, cmdtext);
- #endif
-
- #if CAME_SELECT == true
- dcmd(csel, 4, cmdtext);
- dcmd(camera, 6, cmdtext);
- #endif
-
- dcmd(osel, 4, cmdtext);
- dcmd(object, 6, cmdtext);
- dcmd(debug, 5, cmdtext);
-
- #if ADMINS_ONLY == true
- }
- #endif
-
- return 0;
- }
-
- public OnPlayerDisconnect(playerid,reason)
- {
- KillTimer(gPlayerTimers[playerid]);
-
- gPlayerStatus[playerid] = 0;
- gPlayerTimers[playerid] = 0;
-
- curPlayerSkin[playerid] = MIN_SKIN_ID; // Current Player Skin ID
- curPlayerVehM[playerid] = MIN_VEHI_ID; // Current Player Vehicle ID
- curPlayerVehI[playerid] = -1;
-
- return 0;
- }
-
- public OnPlayerConnect(playerid)
- {
- curPlayerCamD[playerid][CMODE] = CMODE_A;
- curPlayerCamD[playerid][RATE] = 2.0;
-
- return 0;
- }
-
- public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) {
- #if ADMINS_ONLY == true
- if (IsPlayerAdmin(playerid)) {
- #endif
- SetPlayerPosFindZ(playerid, fX, fY, fZ);
- #if ADMINS_ONLY == true
- }
- #endif
- }
-
-
- //==============================================================================
-
- #if WORL_SELECT == true
- public WorldSelect(playerid)
- { // Created by Simon
- /*
- // Make sure the player is not in world selection before continuing
- if (gPlayerStatus[playerid] != WORL_SEL_STAT) {
- KillTimer(skinTimerID[playerid]);
- return;
- }
- */
-
- new keys, updown, leftright;
-
- GetPlayerKeys(playerid, keys, updown, leftright);
-
- new cString[128];
-
- // Right key increases World Time
- if (leftright == KEY_RIGHT) {
- if(gWorldStatus[0] == MAX_TIME_ID) {
- gWorldStatus[0] = MIN_TIME_ID;
- }
- else {
- gWorldStatus[0]++;
- }
- format(cString, 128, "World Time: %d~n~Weather ID: %d", gWorldStatus[0], gWorldStatus[1]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetWorldTime(gWorldStatus[0]);
- }
-
- // Left key decreases World Time
- if (leftright == KEY_LEFT) {
- if(gWorldStatus[0] == MIN_TIME_ID) {
- gWorldStatus[0] = MAX_TIME_ID;
- }
- else {
- gWorldStatus[0]--;
- }
- format(cString, 128, "World Time: %d~n~Weather ID: %d", gWorldStatus[0], gWorldStatus[1]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetWorldTime(gWorldStatus[0]);
- }
-
- // Up key increases Weather ID
- if(updown == KEY_UP) {
- if(gWorldStatus[1] == MAX_WEAT_ID) {
- gWorldStatus[1] = MIN_WEAT_ID;
- }
- else {
- gWorldStatus[1]++;
- }
- format(cString, 128, "World Time: %d~n~Weather ID: %d", gWorldStatus[0], gWorldStatus[1]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetWeather(gWorldStatus[1]);
- }
-
- // Down key decreases Weather ID
- if(updown == KEY_DOWN) {
- if(gWorldStatus[1] == MIN_WEAT_ID) {
- gWorldStatus[1] = MAX_WEAT_ID;
- }
- else {
- gWorldStatus[1]--;
- }
- format(cString, 128, "World Time: %d~n~Weather ID: %d", gWorldStatus[0], gWorldStatus[1]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetWeather(gWorldStatus[1]);
- }
-
- // Action key exits WorldSelection
- if(keys & KEY_ACTION) {
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid, 1);
-
- format(cString, 128, "[SUCCESS]: Time changed to %d hours and weather changed to WEATHERID %d", gWorldStatus[0], gWorldStatus[1]);
- SendClientMessage(playerid, COLOR_GREEN, cString);
-
- new File:F_WORLD = fopen("TIME-WEATHER.txt", io_append);
-
- if(F_WORLD) {
- new h, m, s, Y, M, D;
-
- getdate(Y, M, D);
- gettime(h, m, s);
-
- format(cString, 128, "// %d-%d-%d @ %d:%d:%d\r\nSetWeather(%d);\r\nSetWorldTime(%d);\r\n", D, M, Y, h, m, s);
-
- fwrite(F_WORLD, cString);
- fclose(F_WORLD);
- printf("\n%s\n",cString);
- }
- else {
- print("Failed to create the file \"TIME-WEATHER.txt\".\n");
- }
-
- gPlayerStatus[playerid] = 0;
- KillTimer(gPlayerTimers[playerid]);
-
- return;
- }
- }
-
- #endif
-
- #if SKIN_SELECT == true
- public SkinSelect(playerid)
- { // Created by Simon
- /*
- // Make sure the player is not in skin selection before continuing
- if (gPlayerStatus[playerid] != SKIN_SEL_STAT) {
- KillTimer(skinTimerID[playerid]);
- return;
- }
- */
-
- new keys, updown, leftright;
-
- GetPlayerKeys(playerid, keys, updown, leftright);
-
- new cString[128];
-
- // Right key increases Skin ID
- if (leftright == KEY_RIGHT) {
- if(curPlayerSkin[playerid] == MAX_SKIN_ID) {
- curPlayerSkin[playerid] = MIN_SKIN_ID;
- }
- else {
- curPlayerSkin[playerid]++;
- }
- while(IsInvalidSkin(curPlayerSkin[playerid])) {
- curPlayerSkin[playerid]++;
- }
-
- format(cString, 128, "Skin ID: %d", curPlayerSkin[playerid]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetPlayerSkin(playerid, curPlayerSkin[playerid]);
- }
-
- // Left key decreases Skin ID
- if(leftright == KEY_LEFT) {
- if(curPlayerSkin[playerid] == MIN_SKIN_ID) {
- curPlayerSkin[playerid] = MAX_SKIN_ID;
- }
- else {
- curPlayerSkin[playerid]--;
- }
- while(IsInvalidSkin(curPlayerSkin[playerid])) {
- curPlayerSkin[playerid]--;
- }
-
- format(cString, 128, "Skin ID: %d", curPlayerSkin[playerid]);
- GameTextForPlayer(playerid, cString, 1500, 3);
- SetPlayerSkin(playerid, curPlayerSkin[playerid]);
- }
-
- // Action key exits skin selection
- if(keys & KEY_ACTION)
- {
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid, 1);
-
- format(cString, 128, "[SUCCESS]: You have changed to SKINID %d", curPlayerSkin[playerid]);
- SendClientMessage(playerid, COLOR_GREEN, cString);
-
- gPlayerStatus[playerid] = 0;
- KillTimer(gPlayerTimers[playerid]);
- }
- }
- #endif
-
- #if CAME_SELECT == true
- public CameraSelect(playerid)
- {
- // CMODE_A 0 Up/Down = IncreaseZ/DecreaseZ; Left/Right = IncreaseX/DecreaseX; Num4/Num6 = IncreaseY/DecreaseY
- // CMODE_B 1 Up/Down = Rotate Up/Down; Left/Right = Rotate Left/Right; Num4/Num6 = Move Left/Right
-
- new keys, updown, leftright;
-
- GetPlayerKeys(playerid, keys, updown, leftright);
-
- printf("Player (%d) keys = %d, updown = %d, leftright = %d", playerid, keys, updown, leftright);
-
- if (curPlayerCamD[playerid][CMODE] == CMODE_A)
- {
- if (leftright == KEY_RIGHT) {
- curPlayerCamD[playerid][CPOS_X] += curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_X] += curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
- if (leftright == KEY_LEFT) {
- curPlayerCamD[playerid][CPOS_X] -= curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_X] -= curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
- if (updown == KEY_UP) {
- curPlayerCamD[playerid][CPOS_Z] += curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_Z] += curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
- if (updown == KEY_DOWN) {
- curPlayerCamD[playerid][CPOS_Z] -= curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_Z] -= curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
- if (keys & KEY_ANALOG_RIGHT) {
- curPlayerCamD[playerid][CPOS_Y] += curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_Y] += curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
-
- if (keys & KEY_ANALOG_LEFT) {
- curPlayerCamD[playerid][CPOS_Y] -= curPlayerCamD[playerid][RATE];
- curPlayerCamD[playerid][CLOO_Y] -= curPlayerCamD[playerid][RATE];
-
- SetPlayerPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
-
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
- }
-
-
- if(curPlayerCamD[playerid][CMODE] == CMODE_B)
- {
- if (leftright == KEY_RIGHT) {
- // Rotate Y +
- }
-
- if (leftright == KEY_LEFT) {
- // Rotate Y -
- }
-
- if (updown == KEY_UP) {
- // Rotate X +
- }
-
- if (updown == KEY_DOWN) {
- // Rotate X -
- }
-
- if (keys & KEY_ANALOG_RIGHT) {
- // Rotate Z +
- }
-
- if (keys & KEY_ANALOG_LEFT) {
- // Rotate Z -
- }
- }
-
- if (keys & KEY_ACTION)
- {
- SetCameraBehindPlayer(playerid);
-
- new
- File:F_CAMERA = fopen("CAMERA.txt", io_append);
-
- if( F_CAMERA )
- {
- new
- cString[512], h, m, s, Y, M, D;
-
- getdate(Y, M, D);
- gettime(h, m, s);
-
- format(cString, sizeof( cString ), "// %d-%d-%d @ %d:%d:%d\r\nSetPlayerCameraPos(playerid, %f, %f, %f);\r\nSetPlayerCameraLookAt(playerid, %f, %f, %f);\r\n", D, M, Y, h, m, s,curPlayerCamD[playerid][CPOS_X],curPlayerCamD[playerid][CPOS_Y],curPlayerCamD[playerid][CPOS_Z],curPlayerCamD[playerid][CLOO_X],curPlayerCamD[playerid][CLOO_Y],curPlayerCamD[playerid][CLOO_Z]);
-
- fwrite(F_CAMERA, cString);
- fclose(F_CAMERA);
-
- printf("\n%s\n",cString);
-
- SendClientMessage( playerid, COLOR_GREEN, "Current camera data saved to 'CAMERA.txt'" );
- }
- else
- print("Failed to create the file \"CAMERA.txt\".\n");
-
- TogglePlayerControllable(playerid, 1);
-
- KillTimer(gPlayerTimers[playerid]);
-
- gPlayerStatus[playerid] = 0;
- }
- }
-
- #endif
-
- #if VEHI_SELECT == true
- public VehicleSelect(playerid)
- {
- /*
- // Make sure the player is not in skin selection before continuing
- if (gPlayerStatus[playerid] != VEHI_SEL_STAT) {
- KillTimer(skinTimerID[playerid]);
- return;
- }
- */
-
- new keys, updown, leftright;
-
- GetPlayerKeys(playerid, keys, updown, leftright);
-
- new cString[128];
-
- // Right key increases Vehicle MODELID
- if (leftright == KEY_RIGHT) {
- if(curPlayerVehM[playerid] == MAX_VEHI_ID) {
- curPlayerVehM[playerid] = MIN_VEHI_ID;
- }
- else {
- curPlayerVehM[playerid]++;
- }
-
- format(cString, 128, "Model ID: %d~n~Vehicle Name: %s", curPlayerVehM, aVehicleNames[curPlayerVehM[playerid] - MIN_VEHI_ID]);
- GameTextForPlayer(playerid, cString, 1500, 3);
-
- new Float:x, Float:y, Float:z, Float:a;
-
- GetPlayerPos(playerid, x, y, z);
- GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
- GetPlayerFacingAngle(playerid, a);
-
- DestroyVehicle(curPlayerVehI[playerid]);
- curServerVehP[curPlayerVehI[playerid]][spawn] = false;
-
- curPlayerVehI[playerid] = CreateVehicle(curPlayerVehM[playerid], x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- printf( "vsel vehicle select id = %d", curPlayerVehI[playerid] );
-
- LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
-
- curServerVehP[curPlayerVehI[playerid]][spawn] = true;
- curServerVehP[curPlayerVehI[playerid]][vmodel] = curPlayerVehM[playerid];
- curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
- }
-
- // Left key decreases Vehicle MODELID
- if(leftright == KEY_LEFT) {
- if(curPlayerVehM[playerid] == MIN_VEHI_ID) {
- curPlayerVehM[playerid] = MAX_VEHI_ID;
- }
- else {
- curPlayerVehM[playerid]--;
- }
-
- format(cString, 128, "Model ID: %d~n~Vehicle Name: %s", curPlayerVehM, aVehicleNames[curPlayerVehM[playerid] - MIN_VEHI_ID]);
- GameTextForPlayer(playerid, cString, 1500, 3);
-
- new Float:x, Float:y, Float:z, Float:a;
-
- GetPlayerPos(playerid, x, y, z);
- GetXYInFrontOfPlayer(playerid, x, y, VEHI_DIS);
- GetPlayerFacingAngle(playerid, a);
-
- DestroyVehicle(curPlayerVehI[playerid]);
- curServerVehP[curPlayerVehI[playerid]][spawn] = false;
-
- curPlayerVehI[playerid] = CreateVehicle(curPlayerVehM[playerid], x, y, z + 2.0, a + 90.0, -1, -1, 5000);
- printf( "vsel vehicle select id = %d", curPlayerVehI[playerid] );
-
- LinkVehicleToInterior(curPlayerVehI[playerid], GetPlayerInterior(playerid));
-
- curServerVehP[curPlayerVehI[playerid]][spawn] = true;
- curServerVehP[curPlayerVehI[playerid]][vmodel] = curPlayerVehM[playerid];
- curServerVehP[curPlayerVehI[playerid]][vInt] = GetPlayerInterior(playerid);
- }
-
- // Action key exits vehicle selection
- if(keys & KEY_ACTION)
- {
- SetCameraBehindPlayer(playerid);
- TogglePlayerControllable(playerid, 1);
-
- format(cString, 128, "[SUCCESS]: Spawned a \"%s\" (MODELID: %d, VEHICLEID: %d)", aVehicleNames[curPlayerVehM[playerid] - MIN_VEHI_ID], curPlayerVehM[playerid], curPlayerVehI[playerid]);
- SendClientMessage(playerid, COLOR_GREEN, cString);
-
- gPlayerStatus[playerid] = 0;
- KillTimer(gPlayerTimers[playerid]);
- }
- }
- #endif
-
- #if OBJE_SELECT == true
- public ObjectSelect( playerid )
- {
- new keys, updown, leftright;
-
- GetPlayerKeys( playerid, keys, updown, leftright );
-
- new cString[ 128 ];
-
- switch ( curPlayerObjM[ playerid ][ OBJ_MOD ] )
- {
- case O_MODE_SELECTOR:
- {
- if ( updown == KEY_UP)
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] += 10;
-
- if ( curPlayerObjM[ playerid ][ OBJ_MDL ] >= MAX_OBJE_ID )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] = MIN_OBJE_ID;
- }
-
- while ( !IsValidModel( curPlayerObjM[ playerid ][ OBJ_MDL ] ) )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]++;
- }
-
- DestroyObject( curPlayerObjI[ playerid ] );
- curPlayerObjI[ playerid ] = CreateObject( curPlayerObjM[ playerid ][ OBJ_MDL ], curPlayerObjM[ playerid ][ OBJ_X ],
- curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ],
- curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ]
- );
-
- format( cString, 128, "Model ID: %d", curPlayerObjM[ playerid ][ OBJ_MDL ] );
- GameTextForPlayer(playerid, cString, 1500, 3);
- }
-
- if ( updown == KEY_DOWN)
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] -= 10;
-
- if ( curPlayerObjM[ playerid ][ OBJ_MDL ] <= MIN_OBJE_ID )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] = MAX_OBJE_ID;
- }
-
- while ( !IsValidModel( curPlayerObjM[ playerid ][ OBJ_MDL ] ) )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]--;
- }
-
- DestroyObject( curPlayerObjI[ playerid ] );
- curPlayerObjI[ playerid ] = CreateObject( curPlayerObjM[ playerid ][ OBJ_MDL ], curPlayerObjM[ playerid ][ OBJ_X ],
- curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ],
- curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ]
- );
-
- format( cString, 128, "Model ID: %d", curPlayerObjM[ playerid ][ OBJ_MDL ] );
- GameTextForPlayer(playerid, cString, 1500, 3);
- }
-
- if ( leftright == KEY_LEFT)
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]--;
-
- if ( curPlayerObjM[ playerid ][ OBJ_MDL ] <= MIN_OBJE_ID )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] = MAX_OBJE_ID;
- }
-
- while ( !IsValidModel( curPlayerObjM[ playerid ][ OBJ_MDL ] ) )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]--;
- }
-
- DestroyObject( curPlayerObjI[ playerid ] );
- curPlayerObjI[ playerid ] = CreateObject( curPlayerObjM[ playerid ][ OBJ_MDL ], curPlayerObjM[ playerid ][ OBJ_X ],
- curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ],
- curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ]
- );
-
- format( cString, 128, "Model ID: %d", curPlayerObjM[ playerid ][ OBJ_MDL ] );
- GameTextForPlayer(playerid, cString, 1500, 3);
- }
-
- if ( leftright == KEY_RIGHT)
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]++;
-
- if ( curPlayerObjM[ playerid ][ OBJ_MDL ] >= MAX_OBJE_ID )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ] = MIN_OBJE_ID;
- }
-
- while ( !IsValidModel( curPlayerObjM[ playerid ][ OBJ_MDL ] ) )
- {
- curPlayerObjM[ playerid ][ OBJ_MDL ]++;
- }
-
- DestroyObject( curPlayerObjI[ playerid ] );
- curPlayerObjI[ playerid ] = CreateObject( curPlayerObjM[ playerid ][ OBJ_MDL ], curPlayerObjM[ playerid ][ OBJ_X ],
- curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ],
- curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ]
- );
-
- format( cString, 128, "Model ID: %d", curPlayerObjM[ playerid ][ OBJ_MDL ] );
- GameTextForPlayer(playerid, cString, 1500, 3);
- }
- }
-
- case O_MODE_MOVER:
- {
- if ( updown == KEY_UP)
- {
- curPlayerObjM[ playerid ][ OBJ_Z ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_Z ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_Z ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- if ( updown == KEY_DOWN)
- {
- curPlayerObjM[ playerid ][ OBJ_Z ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_Z ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_Z ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- if ( leftright == KEY_LEFT)
- {
- curPlayerObjM[ playerid ][ OBJ_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- if ( leftright == KEY_RIGHT)
- {
- curPlayerObjM[ playerid ][ OBJ_Y ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_Y ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_Y ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- if ( keys & KEY_ANALOG_LEFT )
- {
- curPlayerObjM[ playerid ][ OBJ_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_Y ] -= pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- if ( keys & KEY_ANALOG_LEFT )
- {
- curPlayerObjM[ playerid ][ OBJ_X ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CPOS_X ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- curPlayerCamD[ playerid ][ CLOO_X ] += pObjectRate[ playerid ][ OBJ_RATE_MOVE ];
- }
-
- SetPlayerPos( playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z] );
- SetObjectPos( curPlayerObjI[ playerid ], curPlayerObjM[ playerid ][ OBJ_X ], curPlayerObjM[ playerid ][ OBJ_Y ], curPlayerObjM[ playerid ][ OBJ_Z ] );
- SetPlayerCameraPos(playerid, curPlayerCamD[playerid][CPOS_X], curPlayerCamD[playerid][CPOS_Y], curPlayerCamD[playerid][CPOS_Z]);
- SetPlayerCameraLookAt(playerid, curPlayerCamD[playerid][CLOO_X], curPlayerCamD[playerid][CLOO_Y], curPlayerCamD[playerid][CLOO_Z]);
- }
-
- case O_MODE_ROTATOR:
- {
- if ( updown == KEY_UP)
- {
- curPlayerObjM[ playerid ][ OBJ_RZ ] += pObjectRate[ playerid ][ OBJ_RATE_ROT ];
- }
-
- if ( updown == KEY_DOWN)
- {
- curPlayerObjM[ playerid ][ OBJ_RZ ] -= pObjectRate[ playerid ][ OBJ_RATE_ROT ];
-
- }
-
- if ( leftright == KEY_LEFT)
- {
- curPlayerObjM[ playerid ][ OBJ_RY ] -= pObjectRate[ playerid ][ OBJ_RATE_ROT ];
- }
-
- if ( leftright == KEY_RIGHT)
- {
- curPlayerObjM[ playerid ][ OBJ_RY ] += pObjectRate[ playerid ][ OBJ_RATE_ROT ];
- }
-
- if ( keys & KEY_ANALOG_LEFT )
- {
- curPlayerObjM[ playerid ][ OBJ_RY ] -= pObjectRate[ playerid ][ OBJ_RATE_ROT ];
- }
-
- if ( keys & KEY_ANALOG_LEFT )
- {
- curPlayerObjM[ playerid ][ OBJ_RX ] += pObjectRate[ playerid ][ OBJ_RATE_ROT ];
- }
-
- SetObjectRot( curPlayerObjI[ playerid ], curPlayerObjM[ playerid ][ OBJ_RX ], curPlayerObjM[ playerid ][ OBJ_RY ], curPlayerObjM[ playerid ][ OBJ_RZ ] );
- }
- }
-
- if ( keys & KEY_ACTION )
- {
- gPlayerStatus[ playerid ] = 0;
- TogglePlayerControllable( playerid, 1 );
- SetCameraBehindPlayer( playerid );
- KillTimer( gPlayerTimers[playerid] );
- }
-
- }
- #endif
-
- IsInvalidSkin(skinid)
- { // Created by Simon
- // Checks whether the skinid parsed is crashable or not.
-
- #define MAX_BAD_SKINS 14
-
- new badSkins[MAX_BAD_SKINS] = {
- 3, 4, 5, 6, 8, 42, 65, 74, 86,
- 119, 149, 208, 273, 289
- };
-
- for (new i = 0; i < MAX_BAD_SKINS; i++) {
- if (skinid == badSkins[i]) return true;
- }
-
- return false;
- }
-
- GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
- { // Created by Y_Less
-
- new Float:a;
-
- GetPlayerPos(playerid, x, y, a);
- GetPlayerFacingAngle(playerid, a);
-
- if (GetPlayerVehicleID(playerid)) {
- GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
- }
-
- x += (distance * floatsin(-a, degrees));
- y += (distance * floatcos(-a, degrees));
- }
-
- strtok(const string[], &index)
- { // Created by Compuphase
-
- 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;
- }
-
- GetVehicleModelIDFromName(vname[])
- {
- for(new i = 0; i < 211; i++)
- {
- if ( strfind(aVehicleNames[i], vname, true) != -1 )
- return i + MIN_VEHI_ID;
- }
- return -1;
- }
-
- GetWeaponModelIDFromName(wname[])
- {
- for(new i = 0; i < 48; i++) {
- if (i == 19 || i == 20 || i == 21) continue;
- if (strfind(aWeaponNames[i], wname, true) != -1) {
- return i;
- }
- }
- return -1;
- }
-
- IsValidModel(modelid)
- {
- // Created by Y_Less.
-
- static modeldat[] =
- {
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -128,
- -515899393, -134217729, -1, -1, 33554431, -1, -1, -1, -14337, -1, -33,
- 127, 0, 0, 0, 0, 0, -8388608, -1, -1, -1, -16385, -1, -1, -1, -1, -1,
- -1, -1, -33, -1, -771751937, -1, -9, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, 33554431, -25, -1, -1, -1, -1, -1, -1,
- -1073676289, -2147483648, 34079999, 2113536, -4825600, -5, -1, -3145729,
- -1, -16777217, -63, -1, -1, -1, -1, -201326593, -1, -1, -1, -1, -1,
- -257, -1, 1073741823, -133122, -1, -1, -65, -1, -1, -1, -1, -1, -1,
- -2146435073, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1073741823, -64, -1,
- -1, -1, -1, -2635777, 134086663, 0, -64, -1, -1, -1, -1, -1, -1, -1,
- -536870927, -131069, -1, -1, -1, -1, -1, -1, -1, -1, -16384, -1,
- -33554433, -1, -1, -1, -1, -1, -1610612737, 524285, -128, -1,
- 2080309247, -1, -1, -1114113, -1, -1, -1, 66977343, -524288, -1, -1, -1,
- -1, -2031617, -1, 114687, -256, -1, -4097, -1, -4097, -1, -1,
- 1010827263, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -32768, -1, -1, -1, -1, -1,
- 2147483647, -33554434, -1, -1, -49153, -1148191169, 2147483647,
- -100781080, -262145, -57, 134217727, -8388608, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1048577, -1, -449, -1017, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1835009, -2049, -1, -1, -1, -1, -1, -1,
- -8193, -1, -536870913, -1, -1, -1, -1, -1, -87041, -1, -1, -1, -1, -1,
- -1, -209860, -1023, -8388609, -2096897, -1, -1048577, -1, -1, -1, -1,
- -1, -1, -897, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1610612737,
- -3073, -28673, -1, -1, -1, -1537, -1, -1, -13, -1, -1, -1, -1, -1985,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1056964609, -1, -1, -1,
- -1, -1, -1, -1, -2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -236716037, -1, -1, -1, -1, -1, -1, -1, -536870913, 3, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -2097153, -2109441, -1, 201326591, -4194304, -1, -1,
- -241, -1, -1, -1, -1, -1, -1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, -32768, -1, -1, -1, -2, -671096835, -1, -8388609, -66323585, -13,
- -1793, -32257, -247809, -1, -1, -513, 16252911, 0, 0, 0, -131072,
- 33554383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 8356095, 0, 0, 0, 0, 0,
- 0, -256, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- -268435449, -1, -1, -2049, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
- 92274627, -65536, -2097153, -268435457, 591191935, 1, 0, -16777216, -1,
- -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 127
- };
- if ((modelid >= 0) && ((modelid / 32) < sizeof (modeldat)) && (modeldat[modelid / 32] & (1 << (modelid % 32))))
- {
- return 1;
- }
- return 0;
- }
|