rendered paste body#include <a_samp>
#include <KIHC>
#define spawnmoney 1000
#define SLOTS 100
#define SKIN_SELECT true
#define VEHI_SELECT true
#define WORL_SELECT true
#define CAME_SELECT true
#define MISCEL_CMDS true
#define ADMINS_ONLY true
#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 SKIN_SEL_STAT 1
#define VEHI_SEL_STAT 2
#define WORL_SEL_STAT 3
#define CAME_SEL_STAT 4
#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 DEFAULT_GRA 0.008
#define VEHI_DIS 5.0
#pragma tabsize 0
#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 weapmod[600] = {1212,331,333,334,335,336,337,338,339,341,321,322,323,324,
325,326,342,343,344,345,345,345,346,347,348,349,350,351,352,353,355,356,372,357,
358,359,360,361,362,363,364,365,366,367,368,369,371};
new keydown[MAX_PLAYERS] = {false, ...};
new rampid[MAX_PLAYERS] = {-1, ...};
new playerramptypes[MAX_PLAYERS] = {0, ...};
new PickUpMoney[101] = {false, ...};
new Float:PickUpArmour[101] = {0.0, ...};
new PickUpMoneyAmmount[101] = {0, ...};
new PickUpWeaponSlot[101] = {0, ...};
new PickUpWeaponAmmo[101] = {0, ...};
new DropPick[101] = {false, ...};
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, ...};
new ramptypes[] = {
1503, // curvy normal one
1660, // concrete one with pipes
1245, // plank of wood against a box
1631, // water ramp with rocks
1632, // normal water ramp
1655, // wide water ramp
13593, // kick ramp
13594, // fire ring
1290, // lv highway lamppost
};
enum CURVEHICLE {
bool:spawn,
vmodel,
vInt
};
new curServerVehP[MAX_VEHICLES][CURVEHICLE];
new aSelNames[4][] = { // Menu selection names
{"SkinSelect"},
{"VehicleSelect"},
{"WeatherSelect"},
{"CameraSelect"}
};
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 Float:GetPlayerArmourEx(p);
forward PlayerPickUpPickupSetAmmo(playerid, slotid, slotammo);
forward PlayerPickUpPickupSetArmour(playerid, Float:playerarmour);
forward PickDestroy(o);
forward OnPlayerDisconnect(playerid, reason);
forward OnPlayerConnect(playerid);
forward Keys();
forward RemoveRamp(playerid);
forward Float:GetOptimumRampDistance(playerid);
forward Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance);
forward keys2();
main()
{
print("\n----------------------------------");
print(" UVH Mode ");
print("----------------------------------\n");
}
Float:GetPlayerArmourEx(p)
{
new Float:a;
GetPlayerArmour(p, a);
return a;
}
dcmd_g(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new cString[256];
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[]) {
if(IsPlayerAdmin(playerid)) {
dcmd_g(playerid, params);
}
return true;
}
dcmd_w(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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[]) {
if(IsPlayerAdmin(playerid)) {
dcmd_w(playerid, params);
}
return true;
}
dcmd_t(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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[]) {
if(IsPlayerAdmin(playerid)) {
dcmd_t(playerid, params);
}
return true;
}
dcmd_wsel(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
#pragma unused params
new cString[256];
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;
}
dcmd_v(playerid, params[]) {
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
iString = strtok(params, idx);
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 (!strlen(iString)) {
SendClientMessage(playerid, COLOR_RED, "[USAGE]: /v MODELID/NAME or /vehicle MODELID/NAME");
return true;
}
idx = GetVehicleModelIDFromName(params[1]);
if(idx == -1) {
idx = strval(iString);
if (idx < MIN_VEHI_ID || idx > MAX_VEHI_ID) {
SendClientMessage(playerid, COLOR_RED, "[ERROR]: Invalid MODELID/NAME");
return true;
}
}
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[])
{
if(IsPlayerAdmin(playerid)) {
dcmd_v(playerid, params);
}
return true;
}
dcmd_vsel(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
// /vsel allows players to select a vehicle using playerkeys.
#pragma unused params
new cString[256];
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);
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;
}
dcmd_ssel(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
// /ssel allows players to select a skin using playerkeys.
#pragma unused params
new cString[256];
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[])
{
if(IsPlayerAdmin(playerid)) {
// /s SKINID allows players to directly select a skin using it's ID.
new idx, iString[256];
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[])
{
if(IsPlayerAdmin(playerid)) {
dcmd_s(playerid, params);
}
return true;
}
dcmd_goto(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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:
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;
}
dcmd_warpto(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
dcmd_goto(playerid, params);
}
return true;
}
dcmd_setloc(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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));
SetPlayerInterior(playerid, Interior);
SetPlayerPos(playerid, X, Y, Z);
}
return true;
}
dcmd_bring(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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:
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;
}
dcmd_weapon(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
dcmd_w2(playerid, params);
}
return true;
}
dcmd_w2(playerid, params[])
{
if(IsPlayerAdmin(playerid)) {
new idx, iString[256];
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;
}
public PickDestroy(o)DestroyPickup(o);
public PlayerPickUpPickupSetArmour(playerid, Float:playerarmour)
{
SetPlayerArmour(playerid,playerarmour);
}
public PlayerPickUpPickupSetAmmo(playerid, slotid, slotammo)
{
SetPlayerAmmo(playerid,slotid,slotammo);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////
public OnGameModeInit()
{
SetGameModeText("UVH Mode");
SetTimer("Keys", 100, 1);
SetTimer("keys2",200,1);
AllowAdminTeleport(1);
EnableZoneNames(1);
ShowNameTags(1);
ShowPlayerMarkers(1);
UsePlayerPedAnims();
AddPlayerClass(101,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1);
AddPlayerClass(110,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1);
AddPlayerClass(115,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1);
AddPlayerClass(181,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1);
AddPlayerClass(247,1958.3783,1343.1572,15.3746,270.1425,0,0,26,300,-1,-1);
AddStaticVehicle(525,2269.7820,2268.1973,10.8203,88.7933,1,1); //
AddStaticVehicle(449, -1542.9490, 752.6488, 7.0391, 354.1891, 12, 12);
AddStaticVehicle(514,2276.1741,2282.5674,11.2990,268.3048,30,30); //tanker
AddStaticVehicle(584,2255.6426,2283.5044,11.2650,270.8326,30,30); //petroltrailer
AddStaticVehicle(411,2005.2042,-2035.7882,13.5469,134.7967,70,70); //infernus
AddStaticVehicle(411,2498.8987,-1685.1796,13.4369,17.8053,126,126); //infernus
AddStaticVehicle(402,2473.1670,-1690.0977,13.2373,3.1551,30,30); //ryderpicador
AddStaticVehicle(487,365.2376,2537.8254,16.8354,182.2368,29,42); // marquick 1
AddStaticVehicle(487,-2228.0564,2325.7036,7.7187,359.6025,29,42); // marcquick 2
AddStaticVehicle(405,2439.7590,2008.9789,10.6953,270.0395,40,1); // sentyel 1
AddStaticVehicle(541,2602.1653,2085.7168,10.4411,358.5779,68,8); // bullet 2
AddStaticVehicle(555,2851.5088,2375.7458,10.5069,269.2505,68,1); // windzer 2
AddStaticVehicle(402,2613.1138,2254.4402,10.6450,90.4882,22,22); // buffelo 2
AddStaticVehicle(541,2528.5854,2398.2915,3.8360,1.6631,2,1); // bullet 3
AddStaticVehicle(559,1911.8303,2289.7939,10.4767,6.6293,2,1); // jester 3
AddStaticVehicle(579,649.7271,1702.5031,6.9226,130.8256,42,42); // huntly 2
AddStaticVehicle(405,44.3055,1162.7914,18.5391,270.3642,24,1); // sentyel 3
AddStaticVehicle(411,-44.5873,1165.9540,19.2885,180.9934,64,1); // infurnes 2
AddStaticVehicle(429,-2527.4106,2252.6714,4.6528,332.8254,13,13); // banche 2
AddStaticVehicle(559,-1941.4408,2392.6514,49.1485,291.0861,58,8); // jester 3
AddStaticVehicle(451,-2272.9246,2285.4805,4.5281,272.1964,125,125); // turismo 2
AddStaticVehicle(437,1715.6104,1471.7892,10.8770,161.5187,79,7); // coach 1
AddStaticVehicle(437,1706.9230,1439.6907,10.8280,173.2567,79,7); // coach 2
AddStaticVehicle(420,1712.9070,1393.4202,10.3486,193.5293,6,1); // taxi 1
AddStaticVehicle(420,1709.2751,1407.3428,10.3442,191.7667,6,1); // taxi 2
AddStaticVehicle(413,2059.4287,2240.0090,10.5571,89.5542,32,32); // Pony 1
AddStaticVehicle(409,2039.5847,1344.4479,10.4719,181.4359,1,1); // limo 1
AddStaticVehicle(413,2608.9758,1434.6827,10.8979,176.4506,105,1); // pony 2
AddStaticVehicle(409,2564.1248,2271.6777,10.6200,271.6982,1,1); // limo 2
AddStaticVehicle(413,2294.7915,2770.3792,10.9116,270.8540,109,1); // pony 3
AddStaticVehicle(525,2119.1260,2712.7119,10.6981,270.8324,22,30); // towtruck 1
AddStaticVehicle(535,1022.7532,1912.8250,11.0769,89.3612,28,1); // slamvan 1
AddStaticVehicle(568,393.5238,2543.3621,16.4095,149.3274,21,1); // bandito 1
AddStaticVehicle(568,-365.7845,1102.9121,19.6135,268.0183,9,39); // bandito 2
AddStaticVehicle(471,-44.8490,2353.5125,23.6202,182.9322,103,111); // quad 1
AddStaticVehicle(444,-944.9021,2746.9343,46.5861,189.7507,32,53); // monster 1
AddStaticVehicle(444,-953.6036,2745.5537,46.5823,193.2329,32,42); // monster 2
AddStaticVehicle(536,-290.0055,1775.3320,42.4430,91.7992,12,1); // blade 2
AddStaticVehicle(525,-1476.4402,1878.8938,32.5078,185.7379,17,20); // towtruck 2
AddStaticVehicle(471,-889.8527,1528.0720,25.3957,16.8545,103,111); // quad 2
AddStaticVehicle(579,-688.1631,954.6205,12.0919,73.2714,42,42); // huntly 2
AddStaticVehicle(581,2155.0261,2206.6096,10.2723,22.7369,66,1); // bf400
AddStaticVehicle(463,1852.4683,2066.5149,10.3958,181.4877,84,84); // freeway 1
AddStaticVehicle(521,2100.3325,944.6953,10.3865,268.9928,92,3); // fcr900 1
AddStaticVehicle(461,2604.5393,2131.6069,10.3984,265.7138,53,1); // pj600 1
AddStaticVehicle(461,2790.4980,2188.0017,10.3959,125.6756,53,1); // pj600 2
AddStaticVehicle(463,2310.9238,2577.0552,10.3576,179.7330,11,11); // freeway 2
AddStaticVehicle(522,1174.2169,1365.4791,10.3747,274.4023,3,8); // nrg 1
AddStaticVehicle(461,436.0948,2527.9846,16.5272,92.6702,43,1); // pj600 3
AddStaticVehicle(521,-2472.6860,2484.5906,17.3470,177.0498,75,13); // frc900 3
AddStaticVehicle(468,-1567.6953,2639.5964,55.4246,272.2135,46,46); // sanches 1
AddStaticVehicle(413,822.4622,834.1564,11.0434,331.6576,88,1); // pony 3
AddStaticVehicle(462,-363.7366,1103.5787,19.3453,268.6441,13,13); // faggio 1
AddStaticVehicle(598,2268.9163,2477.4221,10.5663,179.7880,0,1); // POLICE lvpd 1
AddStaticVehicle(598,2251.9292,2460.8462,10.5648,359.6341,0,1); // police lvpd 2
AddStaticVehicle(598,2260.7278,2442.1404,10.5672,1.1592,0,1); // lvpd 3
AddStaticVehicle(523,2278.3411,2441.6113,10.3884,357.6030,0,0); // police bike 1
AddStaticVehicle(599,2261.1182,2478.0918,11.0114,0.2949,0,1); // poice ranger 1
AddStaticVehicle(599,-1399.1746,2631.6221,55.9513,89.6817,0,1); // police ranger 2
AddStaticVehicle(493,-2258.3765,2419.3733,-0.2296,46.8724,36,13); // jetmax 1
AddStaticVehicle(454,-2210.3738,2410.3826,0.0322,45.9553,26,26); // tropic 1
AddStaticVehicle(411,-2571.9150,1149.0586,55.4536,157.9214,64,1); // infurnes 3
AddStaticVehicle(603,-2062.9048,-194.5860,35.1591,357.7038,69,1); // phoinex 2
AddStaticVehicle(525,-1715.8478,394.5023,7.0568,223.3201,17,20); // towtruck 3
AddStaticVehicle(463,-1678.4806,438.1255,6.7199,230.1280,84,84); // freeway 2
AddStaticVehicle(411,-1955.1738,302.8820,35.1958,140.1711,64,1); // infurnes 4
AddStaticVehicle(451,-1948.5112,273.2663,35.1806,119.7905,125,125); // turismo 3
AddStaticVehicle(541,-1946.3823,269.9905,35.0987,128.7914,58,8); // bullet 4
AddStaticVehicle(603,-1945.9105,264.4192,35.3091,125.0498,69,1); // phoinex 3
AddStaticVehicle(535,-1944.8008,258.8067,35.2323,89.9357,28,1); // slamvan 2
AddStaticVehicle(521,-2318.4546,985.5400,50.2612,92.9237,87,118); // fcr900 4
AddStaticVehicle(522,-1236.0127,43.0522,13.7144,226.6542,3,8); // nrg 2
AddStaticVehicle(487,-1173.1865,33.7043,14.3260,264.8947,29,42); // marquick 3
AddStaticVehicle(487,-1181.9120,18.7406,14.3216,277.3964,29,42); // marquick 4
AddStaticVehicle(417,-1222.6594,-14.5613,14.2577,228.4606,0,0); // lethen 3
AddStaticVehicle(548,-1452.6815,500.4187,19.8840,90.0480,1,1); // cargobob 1
AddStaticVehicle(519,-1342.7716,-257.3669,15.0666,315.2596,1,1); // shamel 4
AddStaticVehicle(519,-1374.0319,-223.5403,15.0626,313.1747,1,1); // shamel 5
AddStaticVehicle(592,-1633.6996,-140.0347,15.3420,315.3937,1,1); // amel 1
AddStaticVehicle(511,-1657.0466,-276.1567,15.5258,349.1506,4,90); // beagle 1
AddStaticVehicle(593,-1308.4984,-470.3462,14.6003,298.2170,58,8); // dodo 3
AddStaticVehicle(513,-1361.6124,-497.9861,14.7145,208.5793,21,36); // stunt 2
AddStaticVehicle(432,-2089.8455,-217.4429,35.3329,271.3663,43,0); // tank 1
AddStaticVehicle(432,-2089.9946,-204.9222,35.3333,273.1710,43,0); // tank 2
AddStaticVehicle(432,-2090.3042,-193.4641,35.3332,267.4234,43,0); // tank 3
AddStaticVehicle(432,-2089.8179,-180.8507,35.3327,267.1253,43,0); // tank 4
AddStaticVehicle(432,-2016.6753,-217.5217,35.3342,89.7948,43,0); // tank 6
AddStaticVehicle(432,-2017.9479,-203.4790,35.3360,91.0770,43,0); // tank 7
AddStaticVehicle(432,-2017.1674,-185.9478,35.3351,86.9170,43,0); // tank 9
AddStaticVehicle(432,-2016.4091,-197.2335,35.3356,87.3730,43,0); // tank 8
AddStaticVehicle(432,-2090.4690,-171.1398,35.3331,273.7698,43,0); // tank 5
AddStaticVehicle(432,-2016.7418,-176.3254,35.3353,85.2153,43,0); // tank 10
AddStaticVehicle(409,-1753.1986,950.6242,24.5421,88.5659,1,1); // stretch 2
AddStaticVehicle(409,-1757.3423,938.0756,24.6129,90.8806,1,1); // stretch 2
AddStaticVehicle(603,-1704.3400,1028.3372,17.4239,271.3531,75,77); // phoines 4
AddStaticVehicle(461,-1785.8167,619.8496,31.4371,184.3336,37,1); // pj600 2
AddStaticVehicle(487,-1681.9042,704.5961,30.7675,90.9026,29,42); // marquick 5
AddStaticVehicle(599,-1588.4310,673.4540,7.3808,0.1492,0,1); // police ranger 2
AddStaticVehicle(597,-1616.8450,650.5283,6.9570,4.1870,0,1); // sf police car 1
AddStaticVehicle(597,-1600.3678,750.2496,-5.4722,180.9103,0,1); // sf poilce car 2
AddStaticVehicle(597,-1573.3442,731.1058,-5.4742,272.4798,0,1); // sf police 3
AddStaticVehicle(597,-1573.0120,714.3583,-5.4736,91.9486,0,1); // sf police car 4
AddStaticVehicle(597,-1608.4512,693.4437,-5.4716,178.7763,0,1); // sf poilce 5
AddStaticVehicle(597,-1632.4569,693.4393,-5.4720,179.0899,0,1); // sf poilce 6
AddStaticVehicle(541,-1622.5687,653.5968,-5.6172,271.1653,60,1); // bullet 4
AddStaticVehicle(523,-1596.6940,674.5662,-5.6804,356.0903,0,0); // poilce bike 2
AddStaticVehicle(523,-1599.8395,674.6253,-5.6808,0.4780,0,0); // police bike 3
AddStaticVehicle(402,-2090.0686,-83.4225,34.9959,358.5446,13,13); // buffelo 3
AddStaticVehicle(416,-2655.8655,627.2515,14.6021,268.7183,1,3); // amberlance 1
AddStaticVehicle(416,-2644.9885,627.0764,14.6025,266.7907,1,3); // amberlance 2
AddStaticVehicle(416,-2671.5210,628.6816,14.6024,266.7411,1,3); // amberlance 3
AddStaticVehicle(416,-2589.5774,627.7122,14.6085,90.1393,1,3); // amberlance 4
AddStaticVehicle(405,-2134.0793,643.6107,52.1893,357.8752,24,1); // sentyel 4
AddStaticVehicle(411,-2105.6274,900.5546,76.3631,8.2169,64,1); // infurnes 5
AddStaticVehicle(536,-2451.4941,742.2098,34.7532,359.7487,12,1); // blade 3
AddStaticVehicle(481,-1215.3861,1841.3306,41.2360,48.1709,3,3); // bmx 1
AddStaticVehicle(481,-2513.5803,728.6426,34.5355,267.4695,3,3); // bmx 2
AddStaticVehicle(537,-1943.3127,158.0254,27.0006,357.3614,1,1);
AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1);
AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1);
AddStaticVehicle(569,-1943.3127,158.0254,27.0006,357.3614,1,1);
return 1;
}
public OnGameModeExit()
{
for (new i=0; i<MAX_PLAYERS; i++)
{
if (rampid[i] != -1) DestroyObject(rampid[i]);
}
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
SetPlayerFacingAngle(playerid, 270.0);
SetPlayerCameraPos(playerid, 1961.6888,1343.1400,15.3746);
SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
return 1;
}
public OnPlayerConnect(playerid)
{
new PlayerName[30], str[256];
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s has joined the server!", PlayerName);
SendClientMessageToAll(0xFF9900AA, str);
GameTextForPlayer(playerid, "~r~UVH ~w~mode ~b~by bossyboy", 3000, 3);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new PlayerName[30], str[256];
switch (reason)
{
case 0:
{
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s has left the server! (Timeout)", PlayerName);
SendClientMessageToAll(0xFF9900AA, str);
}
case 1:
{
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s has left the server! (Leaving)", PlayerName);
SendClientMessageToAll(0xFF9900AA, str);
}
case 2:
{
GetPlayerName(playerid, PlayerName, 30);
format(str, 256, "%s has left the server! (Kicked)", PlayerName);
SendClientMessageToAll(0xFF9900AA, str);
}
}
return 1;
}
public OnPlayerSpawn(playerid)
{
GivePlayerMoney(playerid, spawnmoney);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new weap[200];
new ammo;
new temp;
new s[256];
new PX;
new PY;
new PickUpMoneyBit = false;
SendDeathMessage(killerid, playerid, reason);
for(new i=0;i<15;i++){
if(i<12){
GetPlayerWeaponData(playerid, i, weap[i], ammo);
if(weapmod[weap[i]] == 1212){
PickUpMoneyBit=true;
} else {
format(s, 256 ,"%.0f", X);
temp = strval(s);
PX = random((temp+2)-(temp-2))+(temp-2);
format(s, 256 ,"%.0f", Y);
temp = strval(s);
PY = random((temp+2)-(temp-2))+(temp-2);
new pickid = CreatePickup(weapmod[weap[i]], 4,PX, PY, Z);
PickUpWeaponSlot[pickid]=i;
PickUpWeaponAmmo[pickid]=ammo;
DropPick[pickid]=true;
PickUpArmour[pickid]=0.0;
PickUpMoney[pickid]=false;
}
}
if(i==13){
}
if(i==14){
new Float:playerarmour = GetPlayerArmourEx(playerid);
if(playerarmour>0.0){
format(s, 256 ,"%.0f", X);
temp = strval(s);
PX = random((temp+2)-(temp-2))+(temp-2);
format(s, 256 ,"%.0f", Y);
temp = strval(s);
PY = random((temp+2)-(temp-2))+(temp-2);
new pickid = CreatePickup(373, 4,PX, PY, Z);
PickUpWeaponSlot[pickid]=14;
PickUpWeaponAmmo[pickid]=0;
PickUpArmour[pickid]=playerarmour;
DropPick[pickid]=true;
PickUpMoney[pickid]=false;
} else {
PickUpMoneyBit=true;
}
}
if(i==15){
PickUpMoneyBit=true;
}
}
if(PickUpMoneyBit)
{
format(s, 256 ,"%.0f", X);
temp = strval(s);
PX = random((temp+2)-(temp-2))+(temp-2);
format(s, 256 ,"%.0f", Y);
temp = strval(s);
PY = random((temp+2)-(temp-2))+(temp-2);
new pickid = CreatePickup(1212, 4,PX, PY, Z);
PickUpMoney[pickid]=true;
PickUpMoneyAmmount[pickid]=GetPlayerMoney(playerid);
PickUpWeaponAmmo[pickid]=0;
PickUpArmour[pickid]=0.0;
DropPick[pickid]=true;
}
ResetPlayerMoney(playerid);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
public OnVehicleDeath(vehicleid, killerid)
{
return 1;
}
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
new dancestyle;
new color1;
new color2;
new vehicleid;
new giveplayerid, moneys;
new playermoney;
new sendername[MAX_PLAYER_NAME];
new giveplayer[MAX_PLAYER_NAME];
vehicleid = GetPlayerVehicleID(playerid);
cmd = strtok(cmdtext, idx);
dcmd(s, 1, cmdtext);
dcmd(ssel, 4, cmdtext);
dcmd(skin, 4, cmdtext);
dcmd(v, 1, cmdtext);
dcmd(vsel, 4, cmdtext);
dcmd(vehicle, 7, cmdtext);
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);
dcmd(w2, 2, cmdtext);
dcmd(goto, 4, cmdtext);
dcmd(bring, 5, cmdtext);
dcmd(warpto, 6, cmdtext);
dcmd(weapon, 6, cmdtext);
dcmd(setloc, 6, cmdtext);
if(strcmp(cmd, "/commands", true) == 0)
{
SendClientMessage(playerid, COLOR_RED, "/gestures, /givecash, /kill, /detach, /me, /afk, /back, /setramp, /ramps.");
return 1;
}
if(strcmp(cmd, "/admincommands", true) == 0)
{
SendClientMessage(playerid, COLOR_RED, "/heal, /flip, /addcomp, /carcolor, /v(sel), /skin(sel), /w(sel), /t(ime).");
return 1;
}
if(strcmp(cmd, "/gestures", true) == 0)
{
SendClientMessage(playerid, COLOR_RED, "/drunk, /wank, /dance 1-3, /handsup.");
return 1;
}
if (strcmp("/setramp", cmdtext, true, 7) == 0)
{
new ramp = strval(cmdtext[9]);
if (ramp < 0 || ramp >= sizeof(ramptypes)) {
SendClientMessage(playerid, 0xFFFFFFAA, "Invalid ramp ID.");
} else {
playerramptypes[playerid] = ramp;
}
return 1;
}
if (strcmp("/ramps", cmdtext, true, 6) == 0)
{
SendClientMessage(playerid, 0xFFFFFFAA, "0. Curved Ramp");
SendClientMessage(playerid, 0xFFFFFFAA, "1. Concrete Ramp With Pipes");
SendClientMessage(playerid, 0xFFFFFFAA, "2. Planks Of Wood Against Boxes");
SendClientMessage(playerid, 0xFFFFFFAA, "3. Wood Against Rocks");
SendClientMessage(playerid, 0xFFFFFFAA, "4. Normal Water Ramp");
SendClientMessage(playerid, 0xFFFFFFAA, "5. Wide Water Ramp");
SendClientMessage(playerid, 0xFFFFFFAA, "6. Small Kick Ramp With Yellow Arrow");
SendClientMessage(playerid, 0xFFFFFFAA, "7. Ring");
SendClientMessage(playerid, 0xFFFFFFAA, "8. LV Highway Lamppost");
return 1;
}
if(strcmp(cmd, "/afk", true) == 0)
{
SetPlayerVirtualWorld(playerid, 2);
TogglePlayerControllable(playerid, 0);
return 1;
}
if(strcmp(cmd, "/back", true) == 0)
{
SetPlayerVirtualWorld(playerid, 0);
TogglePlayerControllable(playerid, 1);
return 1;
}
if(strcmp(cmd, "/drunk", true) == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
ApplyAnimation(playerid, "PED", "WALK_DRUNK", 4.1, 1, 1, 1, 1, 1);
return 1;
}
}
if(strcmp(cmd, "/wank", true) == 0)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
ApplyAnimation(playerid, "PAULNMAC", "wank_loop", 4.1, 1, 1, 1, 1, 1);
return 1;
}
}
if(strcmp(cmd, "/handsup", true) == 0) {
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_HANDSUP);
return 1;
}
}
if(strcmp(cmd, "/dance", true) == 0) {
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT) {
new tmp[256];
// Get the dance style param
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]");
return 1;
}
dancestyle = strval(tmp);
if(dancestyle < 1 || dancestyle > 3) {
SendClientMessage(playerid,0xFF0000FF,"Usage: /dance [style 1-3]");
return 1;
}
if(dancestyle == 1) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE1);
} else if(dancestyle == 2) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE2);
} else if(dancestyle == 3) {
SetPlayerSpecialAction(playerid,SPECIAL_ACTION_DANCE3);
}
return 1;
}
}
if(strcmp(cmd, "/givecash", true) == 0) {
new tmp[256];
new string [256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;
}
giveplayerid = strval(tmp);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /givecash [playerid] [amount]");
return 1;
}
moneys = strval(tmp);
//printf("givecash_command: %d %d",giveplayerid,moneys);
if (IsPlayerConnected(giveplayerid)) {
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
playermoney = GetPlayerMoney(playerid);
if (moneys > 0 && playermoney >= moneys) {
GivePlayerMoney(playerid, (0 - moneys));
GivePlayerMoney(giveplayerid, moneys);
format(string, sizeof(string), "You have sent %s(player: %d), $%d.", giveplayer,giveplayerid, moneys);
SendClientMessage(playerid, COLOR_YELLOW, string);
format(string, sizeof(string), "You have recieved $%d from %s(player: %d).", moneys, sendername, playerid);
SendClientMessage(giveplayerid, COLOR_YELLOW, string);
printf("%s(playerid:%d) has transfered %d to %s(playerid:%d)",sendername, playerid, moneys, giveplayer, giveplayerid);
}
else {
SendClientMessage(playerid, COLOR_YELLOW, "Invalid transaction amount.");
}
}
else {
format(string, sizeof(string), "%d is not an active player.", giveplayerid);
SendClientMessage(playerid, COLOR_YELLOW, string);
}
return 1;
}
if (strcmp(cmd, "/addcomp", true)==0)
{
if(IsPlayerAdmin(playerid)) {
new tmp[256], string[256];
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid,COLOR_YELLOW,"USAGE: /addcomp [componetid]");
return 1;
}
new compid = strval(tmp);
if(IsPlayerInAnyVehicle(playerid)) {
if(compid < 1000 || compid > 1193) {
SendClientMessage(playerid,COLOR_YELLOW,"ERROR: Invalid componet ID.");
return 1;
} else {
new carid = GetPlayerVehicleID(playerid);
AddVehicleComponent(carid,compid);
format(string,sizeof(string),"Successfuly added the requested componet (%d).",compid);
SendClientMessage(playerid,COLOR_YELLOW, string);
return 1;
}
} else {
SendClientMessage(playerid,COLOR_YELLOW,"ERROR: You are not in a vehicle.");
return 1;
}
}
}
if (strcmp(cmdtext, "/detach", true)==0)
{
new tmp = GetPlayerVehicleID(playerid);
new ttmp = GetVehicleTrailer(tmp);
AttachTrailerToVehicle(ttmp,tmp);
DetachTrailerFromVehicle(tmp);
SendClientMessage(playerid, COLOR_YELLOW, "Trailer detached");
return 1;
}
if(strcmp(cmd, "/carcolor", true) == 0) {
if(IsPlayerAdmin(playerid)) {
new tmp1[256];
new tmp2[256];
tmp1 = strtok(cmdtext, idx);
tmp2 = strtok(cmdtext, idx);
color1 = strval(tmp1);
color2 = strval(tmp2);
ChangeVehicleColor(vehicleid, color1, color2);
}
else
{
SendClientMessage(playerid, COLOR_RED, "You must be an admin!");
}
return 1;
}
if(strcmp(cmd, "/kill", true) == 0)
{
SetPlayerHealth(playerid, 0.0);
return 1;
}
if(strcmp(cmdtext, "/me", true, 3)==0) {
new str[256], pname[256]; GetPlayerName(playerid, pname, 256);
format(str, 256, "*** %s %s", pname, cmdtext[4]);
SendClientMessageToAll(COLOR_YELLOW, str);
return 1;
}
if(strcmp(cmd, "/heal", true) == 0) {
if(IsPlayerAdmin(playerid)) {
if(IsPlayerInAnyVehicle(playerid)) {
SetVehicleHealth(GetPlayerVehicleID(playerid), 1000.0);
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, 8.0);
} else {
SetPlayerHealth(playerid, 100.0);
SetPlayerArmour(playerid, 100.0);
}
}
else
{
SendClientMessage(playerid, COLOR_RED, "You aren't admin!");
}
return 1;
}
if (strcmp(cmdtext, "/flip", true)==0)
{
new VehicleID, Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
VehicleID = GetPlayerVehicleID(playerid);
SetVehiclePos(VehicleID, X, Y, Z);
SetVehicleZAngle(VehicleID, 0);
return 1;
}
return 0;
}
public OnPlayerInfoChange(playerid)
{
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerEnterCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveCheckpoint(playerid)
{
return 1;
}
public OnPlayerEnterRaceCheckpoint(playerid)
{
return 1;
}
public OnPlayerLeaveRaceCheckpoint(playerid)
{
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
public OnPlayerPickUpPickup(playerid, pickupid)
{
if(PickUpMoney[pickupid]){
GivePlayerMoney(playerid,PickUpMoneyAmmount[pickupid]);
}
if(PickUpArmour[pickupid]>0){
new Float:currentarmour = GetPlayerArmourEx(playerid);
if(currentarmour<255.0)
{
new Float:newarmour = currentarmour + PickUpArmour[pickupid];
if(newarmour>255.0)
{
newarmour = float(255);
}
SetTimerEx("PlayerPickUpPickupSetArmour", 500, 0, "df", playerid, newarmour);
} else {
return 0;
}
}
if(PickUpWeaponAmmo[pickupid]>0){
new currentslotweapon, currentslotammo;
GetPlayerWeaponData(playerid,PickUpWeaponSlot[pickupid],currentslotweapon,currentslotammo);
new newslotammo = currentslotammo + PickUpWeaponAmmo[pickupid];
SetTimerEx("PlayerPickUpPickupSetAmmo", 500, 0, "d", playerid, PickUpWeaponSlot[pickupid], newslotammo);
}
if(DropPick[pickupid]){
DropPick[pickupid]=false;
PickUpMoney[pickupid]=false;
PickUpArmour[pickupid]=0;
SetTimerEx("PickDestroy", 1000, 0, "d", pickupid);
}
return 1;
}
public OnPlayerSelectedMenuRow(playerid, row)
{
return 1;
}
public OnPlayerExitedMenu(playerid)
{
return 1;
}
public keys2() {
new lKeys, Mike1, Mike2;
new Float:px,Float:py,Float:pz;
new Float:cx,Float:cy,Float:cz;
for(new i = 0; i < SLOTS; i++) {
if(IsPlayerConnected(i)) {
GetPlayerPos(i,px,py,pz);
for(new j = 0; j < MAX_VEHICLES; j++) {
if(GetVehicleModel(j) == 564 || GetVehicleModel(j) == 501 || GetVehicleModel(j) == 464 || GetVehicleModel(j) == 441) {
GetVehiclePos(j,cx,cy,cz);
if( floatsqroot( floatpower(px-cx,2.0) + floatpower(py-cy,2.0) + floatpower(pz-cz,2.0)) < 3.0) {
GetPlayerKeys(i, lKeys, Mike1, Mike2);
if (lKeys & KEY_SECONDARY_ATTACK) {
PutPlayerInVehicle(i, j, 0);
}
}
}
}
}
}
}
public Keys()
{
new keys, updown, leftright, playerid;
new Float:x, Float:y, Float:z, Float:angle;
for (playerid = 0; playerid < MAX_PLAYERS; playerid++) {
if (IsPlayerConnected(playerid)) {
GetPlayerKeys(playerid, keys, updown, leftright);
if (keys & KEY_ACTION && IsPlayerInAnyVehicle(playerid)) {
if (!keydown[playerid]) {
keydown[playerid] = true;
if (rampid[playerid] == -1) {
GetPlayerPos(playerid, x, y, z);
angle = GetXYInFrontOfPlayer(playerid, x, y, GetOptimumRampDistance(playerid));
switch (playerramptypes[playerid]) {
case 2:
{
angle -= 90.0;
if (angle < 0.0) angle += 360.0;
z += 0.5;
}
case 1:
{
z -= 0.5;
}
}
rampid[playerid] = CreateObject(ramptypes[playerramptypes[playerid]], x, y, z - 0.5, 0.0, 0.0, angle);
SetTimerEx("RemoveRamp", 2000, 0, "d", playerid);
}
}
} else keydown[playerid] = false;
}
}
}
public RemoveRamp(playerid)
{
if (rampid[playerid] != -1) {
DestroyObject(rampid[playerid]);
rampid[playerid] = -1;
}
}
IsInvalidSkin(skinid)
{ // Created by Simon
#define MAX_BAD_SKINS 22
new badSkins[MAX_BAD_SKINS] = {
3, 4, 5, 6, 8, 42, 65, 74, 86,
119, 149, 208, 265, 266, 267,
268, 269, 270, 271, 272, 273, 289
};
for (new i = 0; i < MAX_BAD_SKINS; i++) {
if (skinid == badSkins[i]) return true;
}
return false;
}
Float:GetOptimumRampDistance(playerid)
{
new ping = GetPlayerPing(playerid), Float:dist;
dist = floatpower(ping, 0.25);
dist = dist*4.0;
dist = dist+5.0;
return dist;
}
Float:GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
new Float:a;
GetPlayerPos(playerid, x, y, a);
if (IsPlayerInAnyVehicle(playerid)) GetVehicleZAngle(GetPlayerVehicleID(playerid), a);
else GetPlayerFacingAngle(playerid, a);
x += (distance * floatsin(-a, degrees));
y += (distance * floatcos(-a, degrees));
return a;
}
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;
}