Код:
#include <a_samp>
#include <core>
#include <float>
#include <sscanf>
#include <dini>
#include <colors>
#include <streamer>
#define HOLDING(%0) \
((newkeys & (%0)) == (%0))
#define COUNTDOWN_TIME 90 //60 seconds
#define SPECIAL_TIME 10 // time untill vehicle bomb goes of
//------------------------
#define MAX_WEAPONS 90
#define MAX_BOMBS 2
#define MAX_TYPES 11
#define TYPE_EMPTY 0
#define TYPE_MACGUN 1
#define TYPE_HEALTH 2
#define TYPE_ARMOUR 3
#define TYPE_PISTOL 4
#define TYPE_ROCKET 5
#define TYPE_FLAMET 6
#define TYPE_GRENAD 7
#define TYPE_MOLOTOV 8
#define TYPE_SHOTGUN 9
#define TYPE_VEHBOMB 10
#define COLOR_BRIGHTRED
#define COLOR_INVISIBLE
//------------------------
//silentmachinegun :(
new unweapon;
new WepPickups[MAX_WEAPONS] = {-1};
enum // weapon info Enum
E_WEAPONS {
eType,
Float:eEntX,
Float:eEntY,
Float:eEntZ,
};
new weapons[MAX_WEAPONS][E_WEAPONS];
enum FrenzyInfo
{
ICvan,
Elvis,
Taxi,
};
new KillFrenzy[MAX_PLAYERS][FrenzyInfo];
//new VehicleDestroyed[MAX_VEHICLES];
//--------------Countdown timer (for things like having dual pistol an amount of time-------------------
new CountDownVar = COUNTDOWN_TIME;
new CountDownTimer;
new SpecialCountdown = SPECIAL_TIME;
new SpecialTimer;
new Text:Textdraw0;
new Text:Textdraw1;
new Text:TextWeb;
new PlayerText:txtInit[MAX_PLAYERS];
new icecream[5];
//new Vrigged[MAX_PLAYERS];
//new Float:xR,Float:yR,Float:zR;
//new BombOwner[35];
enum BomInfo
{
Vrigged,
Float:xR,
Float:yR,
Float:zR,
};
new VehicleBom[MAX_PLAYERS][BomInfo];
stock bool:IsPlayerMoving(playerid)
{
new Float:Velocity[3];
if(IsPlayerInAnyVehicle(playerid))GetVehicleVelocity(GetPlayerVehicleID(playerid), Velocity[0], Velocity[1], Velocity[2]);
else
GetPlayerVelocity(playerid, Velocity[0], Velocity[1], Velocity[2]);
if(Velocity[0] == 0 && Velocity[1] == 0 && Velocity[2] == 0) return false;
return true;
}
stock GetVehicleSpeed(vehicleid)
{
new Float:xPos[3];
GetVehicleVelocity(vehicleid, xPos[0], xPos[1], xPos[2]);
return floatround(floatsqroot(xPos[0] * xPos[0] + xPos[1] * xPos[1] + xPos[2] * xPos[2]) * 170.00);
}
stock ToggleVehicleObjective(vehicleid,toggle= -1)
{
new engine,lights,alarm,door,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,door,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,lights,alarm,door,bonnet,boot,toggle);
}
stock CreateSyncVehicle(vehicletype, Float:x, Float:y, Float:z, Float:rotation, color1, color2, respawn_delay, Float:health = 1000.0)
{
return CallRemoteFunction("UVDMG_AddVehicle", "iffffiiif", vehicletype, x, y, z, rotation, color1, color2, respawn_delay, health);
}
GetXYInFrontOfPlayer(playerid, &Float:x, &Float:y, Float:distance)
{
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));
}
//--------------------- random effects ---------------------------------------
new RandomSpecial[][] =
{
"http://k007.kiwi6.com/hotlink/k15hotmdf3/Player_sound_effect_1.mp3",
"http://k007.kiwi6.com/hotlink/amnpdqyz4p/Player_sound_effect_2.mp3"
};
new RandomDisconn[][] =
{
"%s's mom turned off the internet {C2C2C2}(disconnected)",
"%s's wireless failed big time {C2C2C2} (disconnected)",
"%s's girlfriend needed attention {C2C2C2} (disconnected)"
};
new RandomMSG[][] =
{
"http://k007.kiwi6.com/hotlink/hlwtytcl54/SorryDidThatHurt.mp3",
"http://k007.kiwi6.com/hotlink/twwq0qxa0y/YoureToastBuddy.mp3",
"http://k007.kiwi6.com/hotlink/tg738fmt6i/OohDidThatHurt.mp3",
"http://k007.kiwi6.com/hotlink/vtrdybcfer/Wasted.mp3",
"http://k007.kiwi6.com/hotlink/7lrrehet3v/MedicalEmer.mp3"
};
//------------------------------------------------------------------------------
main()
{
print("\n----------------------------------");
print(" GTA 2 like Gamemode by AIped A.K.A BoelieBeast");
print("----------------------------------\n");
}
public OnGameModeInit()
{
SetGameModeText("GTA2 like GM");
CreateObject(16563,2432.872070,113.261383,24.208564,0.000000,0.000000,-4.100019,300); // pd
//SetGravity(0.001);//0.004 = moonlike origin
SetWorldTime(20);
EnableStuntBonusForAll(1);
DisableInteriorEnterExits();
SetDeathDropAmount(100);
LimitPlayerMarkerRadius(5.0);
/*
1241 = adrelanine pill Invulnerability minuut onkwetsbaar
1254 = skull kill frenzy kill zoveel mogelijk in een minuut
*/
CreateWeaponPickup(372,2,2259.245849, -70.971221, 31.601562,TYPE_MACGUN); // machinegun
CreateWeaponPickup(1240,2,2262.158691, -71.273651, 31.601562,TYPE_HEALTH); // HEALTH
CreateWeaponPickup(1242,2,2266.067626, -71.548400, 31.601562,TYPE_ARMOUR); //armour
/*
{}, // flamethrower
{}, // rocketlauncher
{2331.445068, 31.886627, 31.483432}, // armour
{2331.350097, 28.260902, 31.483432}, // machinegun
{}, // shotgun
{2201.377929, -40.648265, 28.153547}, // armour
*/
CreateWeaponPickup(361,2,2333.042480, 67.786094, 32.007423,TYPE_FLAMET); // flamethrower
CreateWeaponPickup(361,2,2330.744873, 1.975593, 26.514188,TYPE_FLAMET);
CreateWeaponPickup(1240,2,2262.833984,-71.574645,0.000000,TYPE_HEALTH); //
CreateWeaponPickup(1240,2,2331.505859, 34.212577, 31.483432,TYPE_HEALTH); // health
CreateWeaponPickup(1242,2,2265.963378,-71.491462,0.000000,TYPE_ARMOUR); //
CreateWeaponPickup(1242,2,2504.6558,936.1465,10.8280,TYPE_ARMOUR);
CreateWeaponPickup(372,2,2259.883789,-71.470787,0.000000,TYPE_MACGUN); //
CreateWeaponPickup(1654,14,2281.0327,-50.5183,27.0233,TYPE_VEHBOMB); // confession drive threw
CreateWeaponPickup(346,2,2501.1226,936.2263,10.8280,TYPE_PISTOL);
CreateWeaponPickup(359,2,2026.7789,-128.6592,1.8652,TYPE_ROCKET);// on boat
CreateWeaponPickup(359,2,2283.761474, 81.608680, 35.333431,TYPE_ROCKET);//corner on top of a building
CreateWeaponPickup(351,2,2248.702880, -42.884246, 26.486213,TYPE_SHOTGUN);
CreateWeaponPickup(351,2,2106.4998,-101.6953,2.0178,TYPE_SHOTGUN);//fishing place
//-------------- timer textdraw ------------
Textdraw0 = TextDrawCreate(505.000000,172.000000,"00 00");
TextDrawAlignment(Textdraw0,0);
TextDrawBackgroundColor(Textdraw0,0x000000ff);
TextDrawFont(Textdraw0,2);
TextDrawLetterSize(Textdraw0,0.299999,1.600000);
TextDrawColor(Textdraw0,COLOR_BROWN);//0xffffffff);
TextDrawSetOutline(Textdraw0,1);
TextDrawSetProportional(Textdraw0,1);
TextDrawSetShadow(Textdraw0,1);
//--------count things you destoyed or killed---
Textdraw1 = TextDrawCreate(524.000000,148.000000,"0");
TextDrawAlignment(Textdraw1,0);
TextDrawBackgroundColor(Textdraw1,0x000000ff);
TextDrawFont(Textdraw1,3);
TextDrawLetterSize(Textdraw1,0.899999,2.000000);
TextDrawColor(Textdraw1,0xffffffff);
TextDrawSetOutline(Textdraw1,1);
TextDrawSetProportional(Textdraw1,1);
TextDrawSetShadow(Textdraw1,1);
/*
Textdraw0 = TextDrawCreate(30.000000,170.000000,"00 00");
TextDrawAlignment(Textdraw0,0);
TextDrawBackgroundColor(Textdraw0,0x000000ff);
TextDrawFont(Textdraw0,2);
TextDrawLetterSize(Textdraw0,0.199999,1.800000);
TextDrawColor(Textdraw0,COLOR_BRIGHTRED);//0x00000000);
TextDrawSetShadow(Textdraw0,1);
*/
//----------website
TextWeb = TextDrawCreate(45.000000,424.000000,"secondlife-rp.net");
TextDrawAlignment(TextWeb,0);
TextDrawBackgroundColor(TextWeb,0x000000ff);
TextDrawFont(TextWeb,1);
TextDrawLetterSize(TextWeb,0.299999,1.200000);
TextDrawColor(TextWeb,0xffffffff);
TextDrawSetOutline(TextWeb,1);
TextDrawSetProportional(TextWeb,1);
TextDrawSetShadow(TextWeb,1);
AddPlayerClass(124,2255.7559,-74.0534,31.6016,280.6792,0,0,0,0,0,0); // spawnlibrary
AddPlayerClass(68,2256.8574,-41.9449,26.4766,1.8333,0,0,0,0,0,0); // spawn2
AddPlayerClass(201,2327.9871,30.1681,31.4834,358.6920,0,0,0,0,0,0); //
AddPlayerClass(265,2439.8181,111.4547,26.4781,305.7460,1,0,0,0,0,0); // spawncop
AddPlayerClass(266,2439.8181,111.4547,26.4781,305.7460,1,0,0,0,0,0);
AddPlayerClass(267,2439.8181,111.4547,26.4781,305.7460,1,0,0,0,0,0);
AddPlayerClass(3,2519.5242,62.2228,27.6835,355.8565,0,0,0,0,0,0); //
AddPlayerClass(5,2484.7834,-27.0101,28.4416,18.7301,0,0,0,0,0,0); //
AddPlayerClass(6,2374.3496,21.4596,28.4416,306.6861,0,0,0,0,0,0); //
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
/*
SetPlayerPos(playerid,2260.9995,-285.0844,64.4470);
SetPlayerCameraPos(playerid,2261.4006,-288.7633,64.3798+20.0);
SetPlayerCameraLookAt(playerid,2261.5576,-285.6434,64.4228);
SetPlayerFacingAngle(playerid, 193.9833);
*/
// new Float:X, Float:Y, Float:Z;
switch (classid)
{
case 0:
{
ShowClassModel(playerid,124,2303.6633,1.1001,39.2335);
}
case 1:
{
ShowClassModel(playerid,68,2256.8574,-41.9449,26.4766);
}
case 2:
{
ShowClassModel(playerid,201,2327.9871,30.1681,31.4834);
//201,,358.6920
}
case 3:
{
ShowClassModel(playerid,265,2439.8181,111.4547,26.4781);
}
case 4:
{
ShowClassModel(playerid,266,2439.8181,111.4547,26.4781);
}
case 5:
{
ShowClassModel(playerid,267,2439.8181,111.4547,26.4781);
}
case 6:
{
ShowClassModel(playerid,3,2519.5242,62.2228,27.6835);
}
case 7:
{
ShowClassModel(playerid,5,2484.7834,-27.0101,28.4416);
}
case 8:
{
ShowClassModel(playerid,6,2374.3496,21.4596,28.4416);
}
}
return 1;
}
public OnPlayerRequestSpawn(playerid)
{
PlayerTextDrawHide(playerid,txtInit[playerid]);
StopAudioStreamForPlayer(playerid);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/gel96udgr8/RespectIs.mp3", 0);
SetCameraBehindPlayer(playerid);
return 1;
}
public OnPlayerConnect(playerid)
{
KillFrenzy[playerid][ICvan]= -1;
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/lf8qd2svnu/D.wav", 0);
ShowPlayerDialog(playerid,911,DIALOG_STYLE_MSGBOX,"Welcome to a 3D version of GTA 2",
"All you have to do is kill eachother\n while having fun with gta2 like features.\nthere are no commands you have to worry about.\nJust have fun!","MOVE ON","");
// RemoveBuildingForPlayer(playerid,13256,2319.26,1.92188,29.6797,80);//LOD BANK PC
// RemoveBuildingForPlayer(playerid,12822,2319.26,1.92188,29.6797,80);//bank pc
//RemoveBuildingForPlayer(playerid,13007,2312.7,-9.0625,27.5312,80);
SetPlayerCameraLookAt(playerid,2255.7559,-74.0534,31.6016);
// SetPlayerMapIcon( playerid, 0, 2437.7896,114.2483,26.4766, 30, 0 );//PD//slot id, icon id second last.
// SetPlayerMapIcon( playerid, 1, 2303.1560,-16.1963,26.4844, 52, 0 );//bank
SetPlayerMapIcon( playerid, 2, 2281.0327,-50.5183,27.0233, 27, 0 );//bomb shop
// SetPlayerMapIcon( playerid, 3, 2106.4998,-101.6953,2.0178, 55, 0 );//carsell
// SetPlayerMapIcon( playerid, 4, 2303.1560,-16.1963,26.4844, 52, 0 );
new pName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "%s joins the Server!", pName);
// SendClientMessageToAll(0xAAAAAAAA, string);
SendDeathMessage(playerid,playerid,200);
//-------------------previeuw model textdraw-----------------------------------
txtInit[playerid] = CreatePlayerTextDraw(playerid,320.0, 240.0, "_");//MAKE PLAYERTEXTDRAW
PlayerTextDrawFont(playerid,txtInit[playerid],TEXT_DRAW_FONT_MODEL_PREVIEW);
PlayerTextDrawBackgroundColor(playerid,txtInit[playerid], COLOR_INVISIBLE);
PlayerTextDrawTextSize(playerid,txtInit[playerid], 150.0,150.0);//40.0, 40.0);
PlayerTextDrawSetPreviewModel(playerid,txtInit[playerid], 124); //Display model ( first addplayerclass skin 124)
//-----------------------------------------------------------------------------
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, pName, sizeof(pName));
new Rdis = random(sizeof(RandomDisconn));
// format(string, sizeof(string), "%s his mom turned off the internet", pName);
format(string, sizeof(string),RandomDisconn[Rdis] , pName);
SendClientMessageToAll(COLOR_CYAN, string);
SendDeathMessage(playerid,playerid,201);
// new randMSG = random(sizeof(RandomMSG));
// PlayAudioStreamForPlayer(playerid,RandomMSG[randMSG],0.0,0.0,0.0,50.0,0);
PlayerTextDrawDestroy(playerid,txtInit[playerid]);
return 1;
}
public OnPlayerSpawn(playerid)
{
// SetPlayerColor(playerid,COLOR_LIME);
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,300);
TextDrawShowForPlayer(playerid,TextWeb);
return 1;
}
/*
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
switch( hittype )
{
case BULLET_HIT_TYPE_OBJECT:
{
SendClientMessage(playerid,COLOR_GREY,"object hit");
if(hitid == trydestroy)
{
SendClientMessage(playerid,COLOR_GREY,"BAM BAM");
CreateExplosion(fX, fY, fZ,3,20);
}
}
case BULLET_HIT_TYPE_VEHICLE:
{
new Float:damage;
GetVehicleHealth(hitid, damage);
if(damage < 255)
{
if(VehicleDestroyed[hitid]==1)return 0;
VehicleDestroyed[hitid]=1;
SendClientMessage(playerid,COLOR_VIOLET,"you killed this vehicle");
//DestroyVehicle(hitid);
GetVehiclePos(hitid,fX,fY,fZ);
CreateExplosion(fX,fY,fZ,6,20);
KillFrenzy[playerid][ICvan]++;
new frenzy[11];
format(frenzy, sizeof(frenzy), "%d",KillFrenzy[playerid][ICvan]);
TextDrawSetString(Textdraw1,frenzy);
}
}
}
printf("BULLET HIT type: %d with weapon %d. HITID: %d POS (%f, %f, %f)", hittype, weaponid, hitid, fX, fY, fZ);
return 1;
}
*/
public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid,bodypart)
{
if(issuerid != INVALID_PLAYER_ID)
{
if(weaponid == 37)//flamethrower
{
// ' On fire scream ' burning sound
}
}
/*
if(issuerid != INVALID_PLAYER_ID) BUGGED!
{
if(bodypart == 9) //headshot
{
GameTextForPlayer(issuerid,"HEADSHOT!",900,2);
GameTextForPlayer(playerid,"HEADSHOT!",900,2);
SetPlayerHealth(playerid,0);
PlayAudioStreamForPlayer(playerid, "http://k007.kiwi6.com/hotlink/4013ojiv9i/Laugh1.mp3", 0);
}
}
*/
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(killerid != INVALID_PLAYER_ID) SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
SendDeathMessage(killerid, playerid, reason);
new randMSG = random(sizeof(RandomMSG));
PlayAudioStreamForPlayer(playerid,RandomMSG[randMSG],0.0,0.0,0.0,50.0,0);
TextDrawHideForPlayer(playerid,TextWeb);
return 1;
}
public OnVehicleSpawn(vehicleid)
{
return 1;
}
/*
public OnVehicleDeath(vehicleid, killerid)
{
if(GetVehicleModel(vehicleid) == 423)
{
KillFrenzy[killerid][ICvan]++;
new frenzy[11];
format(frenzy, sizeof(frenzy), "%d",KillFrenzy[killerid][ICvan]);
TextDrawSetString(Textdraw1,frenzy);
VehicleDestroyed[vehicleid]=0;
new string[50];
format(string, sizeof(string), "Vehicle %i was destroyed. Reported by player %i.", vehicleid, killerid);
SendClientMessageToAll(0xFFFFFFFF, string);
}
return 1;
}
*/
public OnPlayerText(playerid, text[])
{
return 1;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
{
if(newkeys & KEY_YES)//8)
{
new Rsp = random(sizeof(RandomSpecial));
PlayAudioStreamForPlayer(playerid,RandomSpecial[Rsp],0.0,0.0,0.0,50.0,0);
}
}
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(newkeys & KEY_CROUCH)
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(VehicleBom[playerid][Vrigged]==GetPlayerVehicleID(playerid))return SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle already rigged GET OUT!");
else
{
VehicleBom[playerid][Vrigged]=GetPlayerVehicleID(playerid);
SpecialTimer = SetTimerEx("SpecialTime",800,true,"i",playerid);
SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle bomb explodes in 10 seconds...");
}
}
}
}
//------------------------------------------------------------------------------
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
/*
if(!strcmp(cmdtext, "/kaboem", true))
{
if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
{
if(VehicleBom[playerid][Vrigged]==GetPlayerVehicleID(playerid))return SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle already rigged GET OUT!");
else
{
VehicleBom[playerid][Vrigged]=GetPlayerVehicleID(playerid);
SpecialTimer = SetTimerEx("SpecialTime",800,true,"i",playerid);
SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle bomb explodes in 10 seconds...");
}
}
return 1;
}
*/
if(!strcmp(cmdtext, "/disc", true))
{
new pName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid, pName, sizeof(pName));
new Rdis = random(sizeof(RandomDisconn));
// format(string, sizeof(string), "%s his mom turned off the internet", pName);
format(string, sizeof(string),RandomDisconn[Rdis] , pName);
SendClientMessageToAll(COLOR_CYAN, string);
return 1;
}
if(!strcmp(cmdtext, "/score", true))
{
new highestid = INVALID_PLAYER_ID, highest = -1;
for(new i = 0; i < MAX_PLAYERS; ++i)
{
if(KillFrenzy[i][ICvan]>highest)//if(GetPlayerScore(i) > highest)
{
highestid = i;
highest = KillFrenzy[i][ICvan];
}
}
if(highestid != INVALID_PLAYER_ID)
{
//your function...
SendClientMessage(playerid,COLOR_PURPLE,"highest point ?");
}
return 1;
}
if(!strcmp(cmdtext, "/icvan", true))
{
//phone ring PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/gz31ugicji/DeathToICVans.mp3",0);
TextDrawShowForPlayer(playerid,Textdraw0);
KillFrenzy[playerid][ICvan]=0;
CountDownTimer = SetTimerEx("CountDown",800,true,"i",playerid);
GameTextForPlayer(playerid,"Kill IceCream Vans",5000,6);
TextDrawShowForPlayer(playerid,Textdraw1);
icecream[0]=CreateSyncVehicle(423,2134.1392,-79.4256,2.9229,235.2280,1,17,30); // icvan1
icecream[1]=CreateSyncVehicle(423,2212.5645,141.1796,26.2856,163.4993,11,167,30); // icvan2
icecream[2]=CreateSyncVehicle(423,2357.6648,182.8938,27.1190,90.0698,31,142,30); // icvan3
icecream[3]=CreateSyncVehicle(423,2418.3333,87.9908,26.4949,318.8811,243,55,30); // icvan4
icecream[4]=CreateSyncVehicle(423,2497.0701,36.3729,26.4295,270.2664,243,55,30); // icvan5
ToggleVehicleObjective(icecream[0],1);
ToggleVehicleObjective(icecream[1],1);
ToggleVehicleObjective(icecream[2],1);
ToggleVehicleObjective(icecream[3],1);
ToggleVehicleObjective(icecream[4],1);
return 1;
}
if(!strcmp(cmdtext, "/count", true))
{
KillFrenzy[playerid][ICvan]++;
new frenzy[11];
format(frenzy, sizeof(frenzy), "%d",KillFrenzy[playerid][ICvan]);
TextDrawSetString(Textdraw1,frenzy);
//CountDownTimer = SetTimer("CountDown", 500, true);
// TextDrawShowForPlayer(playerid,Textdraw0);
//TextDrawShowForPlayer(playerid,Textdraw1);
// CountDownTimer = SetTimerEx("CountDown",500,true,"i",playerid);
return 1;
}
//----------------NPC-------------------
if(strcmp(cmdtext, "/unbug", true) == 0)//
{
TogglePlayerControllable(playerid,1);
return 1;
}
if(strcmp(cmdtext, "/dualpistol", true) == 0)//
{
SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,999);
return 1;
}
//rc bomb 1636-(3785 headlight) -3786 missile -
if(strcmp(cmdtext, "/rocket", true) == 0)//
{
// new xyobj;
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid, x, y, 20.0);
// xyobj = CreateObject(1636, x,y,z, 0, 0, 0);//1225 = barrel 3790 = rocket1
//CreateExplosion(x,y,z, 5, 10.0);
// MoveObject(xyobj, x, y, z, 20);//60
return 1;
}
if(strcmp(cmdtext, "/invisible", true) == 0)
{
SendClientMessage(playerid, 0xDEEE20FF, "you are invisible for 1 minute");
new vehicleid = GetPlayerVehicleID(playerid);
LinkVehicleToInterior(vehicleid, 6);
return 1;
}
if(strcmp(cmdtext, "/visible", true) == 0)
{
new vehicleid = GetPlayerVehicleID(playerid);
LinkVehicleToInterior(vehicleid, 0);
return 1;
}
dcmd(spic,4,cmdtext);
return 0;
}
new icon,numb,Float:tX, Float:tY, Float:tZ , pistype;
dcmd_spic(playerid, params[])
{
new strech[256];
//new Float:Xi,Float:Yi,Float:Zi;
if(sscanf(params, "d", icon)) return SendClientMessage(playerid, COLOR_WHITE, "USAGE: /spic <objectid>");
GetPlayerPos(playerid,tX,tY,tZ);
// new File:pos = fopen("objects.txt", io_append);
format(strech, sizeof strech, "CreateWeaponPickup(%d,2,%f,%f,%f,-1); //\r\n",icon,numb,tX,tY,tZ,pistype);
// fwrite(pos, strech), fclose(pos);
//format(str, sizeof str, "Succesfully saved object: %d on the coordinates: %.2f, %.2f, %.2f!", newobj, oX, oY, oZ,xR, yR,zR);
SendClientMessage(playerid, COLOR_YELLOW, strech);
return 1;
}
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
StopAudioStreamForPlayer(playerid);
return 1;
}
public OnPlayerExitVehicle(playerid, vehicleid)
{
return 1;
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
return 1;
}
public OnPlayerStreamIn(playerid, forplayerid)
{
return 1;
}
public OnPlayerPickUpDynamicPickup(playerid, pickupid)
{
new id = WepPickups[pickupid];
if( weapons[id][eType] > 0 )
{
switch( weapons[id][eType] )
{
case TYPE_EMPTY:
{
SendClientMessage( playerid, 0xFF55BBFF, "NOTHING HERE!" );
return 1;
}
case TYPE_MACGUN:
{
GameTextForPlayer(playerid,"MACHINE GUN",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/4jdxxr8b9a/MacGun.mp3", 0);
GivePlayerWeapon(playerid,32,500);
return 1;
}
case TYPE_HEALTH:
{
GameTextForPlayer(playerid,"HEALTH",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/gn4mdoio7c/Health.mp3",0);
return 1;
}
case TYPE_ARMOUR:
{
GameTextForPlayer(playerid,"ARMOUR",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/moisybq8te/Armour.mp3", 0);
return 1;
}
case TYPE_PISTOL:
{
GameTextForPlayer(playerid,"PISTOL",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/efnox9jbun/Pistolp.mp3", 0);
GivePlayerWeapon(playerid,22,500);
return 1;
}
case TYPE_ROCKET:
{
GameTextForPlayer(playerid,"ROCKETLAUNCHER",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/l1jy34clzo/RocketL.mp3", 0);
GivePlayerWeapon(playerid,35,5);
return 1;
}
case TYPE_FLAMET:
{
GameTextForPlayer(playerid,"FLAMETHROWER",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/0bei2ftooy/FlameT.mp3", 0);
GivePlayerWeapon(playerid,37,200);
return 1;
}
case TYPE_GRENAD:
{
GameTextForPlayer(playerid,"GRENADES",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/h4ywf3i0cm/Grenades.mp3", 0);
GivePlayerWeapon(playerid,16,5);
return 1;
}
case TYPE_MOLOTOV:
{
GameTextForPlayer(playerid,"MOLOTOV COCKTAIL",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/kqf8r80qvb/Molotovs.mp3", 0);
GivePlayerWeapon(playerid,18,5);
return 1;
}
case TYPE_SHOTGUN:
{
GameTextForPlayer(playerid,"SHOTGUN",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/kcg4s9vbnr/Shotgun.mp3", 0);
GivePlayerWeapon(playerid,27,500);
return 1;
}
case TYPE_VEHBOMB:
{
GameTextForPlayer(playerid,"VEHICLE BOMB",500,6);
PlayAudioStreamForPlayer(playerid,"http://k007.kiwi6.com/hotlink/j3a131hz5w/VehBomb2.mp3", 0);
SendClientMessage(playerid,COLOR_BRIGHTRED,"Vehicle bomb armed");
SendClientMessage(playerid,COLOR_BRIGHTRED,"Press vehicle horn to activate the bom and run!");
//SetPlayerAttachedObject(playerid,0,1654,1,-0.149956,-0.085281,0.120816,95.232246,77.050926,-124.408172,1.002076,1.000000,1.000000);
return 1;
}
}
}
return 1;
}
public OnRconCommand(cmd[])
{
return 1;
}
public OnObjectMoved(objectid)
{
return 1;
}
public OnPlayerObjectMoved(playerid, objectid)
{
return 1;
}
/*
public OnUnoccupiedVehicleUpdate(vehicleid, playerid, passenger_seat)
{
new Float:damaged;
GetVehicleHealth(vehicleid,damaged);
//if(damaged < 10)
//{
SendClientMessage(playerid,COLOR_YELLOW,"this vehicle is damaged");
return;
//}
}
*/
//------------------include unoccupied vehicle damager
/*
public OnPlayerShootVehiclePart(playerid, weaponid, vehicleid,hittype)
{
new Float:health;
GetVehicleHealth(vehicleid, health);
if(hittype==BULLET_HIT_PETROL_TANK)//When player shoots on the petrol cap of a vehicle
{
new Float:vPosx,Float:vPosy,Float:vPosz;
GetVehiclePos(vehicleid, vPosx,vPosy,vPosz);
//CreateExplosion(vPosx,vPosy,vPosz, 6, 30.0);
if(GetVehicleModel(vehicleid) == 423) //shooting ice cream van petrol cap
{
// DestroyVehicle(vehicleid);
SetPlayerScore(playerid,2);
SetVehicleHealth(vehicleid, health -40);
}
SetVehicleHealth(vehicleid, health -40);
return 1;
}
if(hittype==BULLET_HIT_LEFT_FRONT_WHEEL)//When player shoots on the left front wheel of a vehicle
{
if(GetVehicleTireStatus(vehicleid,VEHICLE_LEFT_FRONT_WHEEL)==0)
{
SetVehicleTireStatus(vehicleid,VEHICLE_LEFT_FRONT_WHEEL);//will pop the left front wheel tire
// SendClientMessage(playerid,-1,"You have hit the LEFT FRONT WHEEL!");
return 1;
}
// else SendClientMessage(playerid,-1,"The LEFT FRONT WHEEL TIRE is already popped!");
}
if(hittype==BULLET_HIT_RIGHT_FRONT_WHEEL)//When player shoots on the right front wheel of a vehicle
{
if(GetVehicleTireStatus(vehicleid,VEHICLE_RIGHT_FRONT_WHEEL)==0)
{
SetVehicleTireStatus(vehicleid,VEHICLE_RIGHT_FRONT_WHEEL);//will pop the right front wheel tire
// SendClientMessage(playerid,-1,"You have hit the RIGHT FRONT WHEEL!");
return 1;
}
}
if(hittype==BULLET_HIT_LEFT_BACK_WHEEL)//When player shoots on the left back wheel of a vehicle
{
if(GetVehicleTireStatus(vehicleid,VEHICLE_LEFT_BACK_WHEEL)==0)
{
SetVehicleTireStatus(vehicleid,VEHICLE_LEFT_BACK_WHEEL);//will pop the left back wheel tire
// SendClientMessage(playerid,-1,"You have hit the LEFT BACK WHEEL!");
return 1;
}
}
if(hittype==BULLET_HIT_RIGHT_BACK_WHEEL)//When player shoots on the right back wheel of a vehicle
{
if(GetVehicleTireStatus(vehicleid,VEHICLE_RIGHT_BACK_WHEEL)==0)
{
SetVehicleTireStatus(vehicleid,VEHICLE_RIGHT_BACK_WHEEL);//will pop the right back wheel tire
// SendClientMessage(playerid,-1,"You have hit the RIGHT BACK WHEEL!");
return 1;
}
}
if(hittype==BULLET_HIT_BODY)//When player shoots on a vehicle
{
//if(GetVehicleModel(vehicleid) == 423)
SetVehicleHealth(vehicleid, health -10);
return 1;
}
return 1;
}
*/
//-------------------------
forward CountDown(playerid);
public CountDown(playerid)
{
new str[128];
CountDownVar--;
//------------------------------------------------------------------------------
if(CountDownVar == 0)
{
KillTimer(CountDownTimer);
CountDownVar = COUNTDOWN_TIME;
TextDrawSetString(Textdraw0,"00:00");
if(KillFrenzy[playerid][ICvan]>0)// in this case 0 = the start value and -1 means the icvangame isnt active
{
DestroyICvans();
GameTextForAll("Frenzy Stopped",7500,3);
KillFrenzy[playerid][ICvan]=-1;
}
TextDrawHideForPlayer(playerid,Textdraw0);
TextDrawHideForPlayer(playerid,Textdraw1);
}
else// manage the counting so the numbers 00:00 wont turn into 00:0 under 00:10
{
//if(CountDownVar > 90)
if(CountDownVar > 9)
{
format(str, sizeof(str), "00:%d", CountDownVar);
TextDrawSetString(Textdraw0,str);
}
else
{
format(str, sizeof(str), "00:0%d", CountDownVar);
TextDrawSetString(Textdraw0, str);
}
}
return 1;
}
//------------------------- special timer--------------------------------------
forward SpecialTime(playerid);
public SpecialTime(playerid)
{
SpecialCountdown--;
if(SpecialCountdown == 0)
{
KillTimer(SpecialTimer);
SpecialCountdown = SPECIAL_TIME;
GetVehiclePos(VehicleBom[playerid][Vrigged] ,VehicleBom[playerid][xR],VehicleBom[playerid][yR],VehicleBom[playerid][zR]);
CreateExplosion(VehicleBom[playerid][xR],VehicleBom[playerid][yR],VehicleBom[playerid][zR],2,10.0);
CreateExplosion(VehicleBom[playerid][xR],VehicleBom[playerid][yR],VehicleBom[playerid][zR],3,10.0);
CreateExplosion(VehicleBom[playerid][xR],VehicleBom[playerid][yR],VehicleBom[playerid][zR],3,10.0);
CreateExplosion(VehicleBom[playerid][xR],VehicleBom[playerid][yR],VehicleBom[playerid][zR],2,10.0);
/*
GetVehiclePos(Vrigged[playerid],xR,yR,zR);
CreateExplosion(xR,yR,zR,2,10.0);
CreateExplosion(xR,yR,zR,3,5.0);
CreateExplosion(xR,yR,zR,2,5.0);
*/
}
if(SpecialCountdown == 5)
{
//if(IsPlayerInVehicle(playerid,bombdveh)))
GameTextForPlayer(playerid,"Take Coveer!",5000,6);
}
return 1;
}
//----------------------------------------
CreateWeaponPickup(iconId,type,Float:entX, Float:entY, Float:entZ , p_type)
{
if( (unweapon+1) < MAX_WEAPONS )
{
new Id = CreateDynamicPickup(iconId,type,entX, entY, entZ,0,0,-1,50);
WepPickups[Id] = unweapon;
weapons[unweapon][eType] = p_type;
return unweapon++;
}
else print( "Weapon Pickup Limit Reached" );
return -1;
}
stock DestroyICvans()
{
DestroyVehicle(icecream[0]);
DestroyVehicle(icecream[1]);
DestroyVehicle(icecream[2]);
DestroyVehicle(icecream[3]);
DestroyVehicle(icecream[4]);
}
stock ShowClassModel(playerid,skinid,Float:Xm,Float:Ym,Float:Zm)
{
SetPlayerPos(playerid,Xm,Ym,Zm);
SetPlayerCameraPos(playerid,Xm,Ym,Zm +30.0);
SetPlayerCameraLookAt(playerid,Xm,Ym,Zm,CAMERA_MOVE);
PlayerTextDrawSetPreviewModel(playerid,txtInit[playerid], skinid);
PlayerTextDrawShow(playerid,txtInit[playerid]);
return 1;
}
.