Welcome, Guest
You have to register before you can post on our site.

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,701
» Latest member: zein97174
» Forum threads: 2,356
» Forum posts: 12,303

Full Statistics

Online Users
There are currently 153 online users.
» 0 Member(s) | 150 Guest(s)
Bing, Baidu, Google

Latest Threads
Client issue with object
Forum: Support
Last Post: TheDoctor
2025-11-15, 08:00 PM
» Replies: 0
» Views: 32
San Andreas Police Pursui...
Forum: Advertisements
Last Post: BriBri
2025-11-15, 12:06 AM
» Replies: 0
» Views: 35
[Include] OpenGate (Abrir...
Forum: Portuguese/Portugu?s
Last Post: Crazy_ArKzX
2025-11-13, 06:49 PM
» Replies: 0
» Views: 33
OpenGate (Open Proximity ...
Forum: Libraries
Last Post: Crazy_ArKzX
2025-11-13, 06:46 PM
» Replies: 0
» Views: 38
LS City Hall
Forum: Maps
Last Post: cosminupgaming
2025-11-12, 04:22 PM
» Replies: 3
» Views: 2,659
Crime Base
Forum: Maps
Last Post: cosminupgaming
2025-11-12, 04:19 PM
» Replies: 2
» Views: 1,252
GTA SA-MP Scripting: Issu...
Forum: General Discussions
Last Post: williamrhein
2025-11-12, 10:16 AM
» Replies: 0
» Views: 51
is it worth creating a se...
Forum: General Discussions
Last Post: cosminupgaming
2025-11-11, 05:30 PM
» Replies: 13
» Views: 18,332
Looking for an English De...
Forum: General Discussions
Last Post: cosminupgaming
2025-11-11, 05:21 PM
» Replies: 2
» Views: 2,814
Awakeninga an old server.
Forum: Support
Last Post: drwnrbbt
2025-11-11, 02:26 PM
» Replies: 0
» Views: 54

 
  HELP! I want to know how the GPS System using plugins feels more real in function?
Posted by: PutuSuhartawan - 2021-04-20, 11:21 PM - Forum: Pawn Scripting - Replies (1)

Sir, do you know how to get a GPS plugin for the SAMP server that offers road direction services that can be arrows. or appear on the radar like a line following a path towards a target?


  Does anybody have TextMenu Include file ?
Posted by: Awaken NeverLand - 2021-04-20, 06:06 AM - Forum: Pawn Scripting - Replies (2)

I am searching for TextMenu include all over the internet and still couldn't found. If anybody have it in your scripts please share it with me


  How to get the exacly pos where a bomb drops?
Posted by: annety - 2021-04-20, 06:03 AM - Forum: Support - Replies (4)

I want to make a server with a good PvP like CS-GO

For that i need to make good granades: like smoke,flash,molotov

The effect i can manage to do by using textdraws, create explosion, drunk effect...



But there is only a thing i need someone with more expirience to help me:

How to get the exacly position where bombs when players throw?

To create that flashbang,smoke,molotov effect...



How to get it?


  GPS Like GTA 4?
Posted by: Boxi - 2021-04-20, 03:20 AM - Forum: Pawn Scripting - Replies (3)

I would like to know is there any way to make this style of gps, which is marked on the map the path to follow as seen in the image:?[Image: 8hBDDSd.png]


  Special Vehicle
Posted by: AbyssMorgan - 2021-04-19, 04:24 PM - Forum: Filterscripts - No Replies

Video:

Full presentation is unavailable sorry



Shoft videos:

- SpecialVehicle #1

- SpecialVehicle #2



Screenshots:

https://imgur.com/a/aNOUwfn



Functions:

Code:
SpecialVehicle::IsToggledSpecialAbility(vehicleid);

SpecialVehicle::ToggleSpecialAbility(vehicleid,bool:toggle);

SpecialVehicle::GetSpecialVehicleHealth(vehicleid);

SpecialVehicle::SetDefaultDamage(vehicleid);

SpecialVehicle::EnterPlayer(playerid);

SpecialVehicle::ExitPlayer(playerid);

SpecialVehicle::IsPlayerInSpecialVeh(playerid);

SpecialVehicle::GetPlayerSpecialVehType(playerid);

SpecialVehicle::GetVehicleAmmo(vehicleid);

SpecialVehicle::SetVehicleAmmo(vehicleid,ammo);

SpecialVehicle::GetVehicleSecondaryAmmo(vehicleid);

SpecialVehicle::SetVehicleSecondaryAmmo(vehicleid,ammo);

SpecialVehicle::GetDamage(vehicleid);

SpecialVehicle::SetDamage(vehicleid,Float:damage);

SpecialVehicle::GetVehicleDamage(vehicleid);

SpecialVehicle::SetVehicleDamage(vehicleid,Float:vehicle_damage);

SpecialVehicle::IsToggledTrunkInterior();

SpecialVehicle::ToggleTrunkInterior(bool:toggle);

SpecialVehicle::IsToggledTrailerInterior();

SpecialVehicle::ToggleTrailerInterior(bool:toggle);

SpecialVehicle::IsToggledMaverickMinigun(vehicleid);

SpecialVehicle::ToggleMaverickMinigun(vehicleid,bool:toggle);

SpecialVehicle::Create(modelid,Float:x,Float:y,Float:z,Float:angle,color1,color2,respawn_delay = -1,addsiren = 0,worldid = 0,interiorid = 0);

SpecialVehicle::CreateMOC(Float:x,Float:y,Float:z,Float:z_angle,respawn_delay = -1,addsiren = 0,worldid = 0,interiorid = 0);

SpecialVehicle::CreateMOCIncluded(vehicleid,respawn_delay = -1,addsiren = 0);



Callbacks:

Code:
OnPlayerEnterVehIntRequest(playerid,vehicleid);

OnPlayerEnterSpecialSeat(playerid);

OnPlayerEnterOppressor(playerid);

OnPlayerUseCannonFail(playerid);

OnPlayerShootRocketFail(playerid);

OnSpecialTrailerNotConnected(playerid);

OnPlayerShootOPRocketFail(playerid);

OnPlayerEnterVehInterior(playerid,vehicleid,with_vehicle);

OnPlayerExitVehInterior(playerid,vehicleid,with_vehicle);

OnSpecialVehicleHasNoAmmo(playerid,vehicleid);

OnSpecialTrailerAttachFail(playerid,vehicleid,trailerid);



Definitions:

Code:
WEAPON_VEHICLE_INTERIOR - after vehicle destroyed players inside vehicle interior got death by this reason

SPECIAL_VEH_AMMO_INFINITY - infinity ammo (default)



Informations

Code:
By pressing KEY_ACTION you can use Cargobob/Leviathan magnet when you toggling SecialVehicle



Instalation:

Due to high library requipments, make sure you install libs in right order.

Code:
#include <streamer>

#include <colandreas>



#include <EVF>

#include <3DTryg>

#include <ExtendedGrenade> //Extension using by Mines and Missile

#include <Mines>

#include <Missile>

#include <VehPara>



#define SPECIAL_VEH_USE_TEAMS //atention if you turn on teams NO_TEAM is treated as an ordinary team

#include <SpecialVehicle>



Example code:

Code:
public OnPlayerEnterVehIntRequest(playerid,vehicleid){

//if vehicle is owned by another team you can block enter to interior here by return 0;

return 1;

}



public OnPlayerEnterSpecialSeat(playerid){

GameTextForPlayer(playerid,"Press ~k~~VEHICLE_HORN~ to enable/disable special weapon",2500,4);

return 1;

}



public OnPlayerEnterOppressor(playerid){

GameTextForPlayer(playerid,"Hold ~k~~VEHICLE_FIREWEAPON_ALT~ for use booster",1000,4);

return 1;

}



public OnPlayerUseCannonFail(playerid){

GameTextForPlayer(playerid,"You cannot use cannon now",1000,4);

return 1;

}



public OnPlayerEnterVehInterior(playerid,vehicleid,with_vehicle){

GameTextForPlayer(playerid,"You entered to vehicle interior, press ~k~~GROUP_CONTROL_BWD~ to exit",2500,4);

return 1;

}



public OnPlayerExitVehInterior(playerid,vehicleid,with_vehicle){

GameTextForPlayer(playerid,"You exit from vehicle interior",2500,4);

return 1;

}



public OnPlayerShootRocketFail(playerid){

GameTextForPlayer(playerid,"You can shoot only aerial targets",1000,4);

return 1;

}



public OnSpecialTrailerNotConnected(playerid){

GameTextForPlayer(playerid,"Trailer is not connected to Truck",1000,4);

return 1;

}



public OnPlayerShootOPRocketFail(playerid){

GameTextForPlayer(playerid,"You can shoot only when you on air",1000,4);

return 1;

}



public OnSpecialVehicleHasNoAmmo(playerid,vehicleid){

GameTextForPlayer(playerid,"You don't have ammo",1000,4);

return 1;

}



public OnSpecialTrailerAttachFail(playerid,vehicleid,trailerid){

SendClientMessage(playerid,0xFFFFFFFF,"You can only attach MOC trailer by MOC Truck");

return 1;

}



CMD:e(playerid){

switch(SpecialVehicle::EnterPlayer(playerid)){

case SPECIAL_VEH_ENTER_FAIL: {

SendClientMessage(playerid,0xFFFFFFFF,"You are not near a special vehicle");

}

case SPECIAL_VEH_ENTER_SUCCES: {



}

case SPECIAL_VEH_ENTER_ONFOOT: {

SendClientMessage(playerid,0xFFFFFFFF,"You must be on foot");

}

case SPECIAL_VEH_ENTER_NOT_ALLOWED: {

SendClientMessage(playerid,0xFFFFFFFF,"You can't enter a special vehicle");

}

}

return 1;

}



CMD:spawn_moc(playerid){



new Float:x,Float:y,Float:z,Float:z_angle;

GetPlayerPos(playerid,x,y,z);

GetPlayerFacingAngle(playerid,z_angle);

SpecialVehicle::CreateMOC(x,y,z,z_angle,-1,0,GetPlayerVirtualWorld(playerid),GetPlayerInterior(playerid));



return 1;

}



Demonstration script:

sv_demo.pwn

You can run demonstration script and go to Las Venturas airport for test Special Vehicles



Download:

3DTryg.inc

EVF.inc

Missile.inc

VehPara.inc

Mines.inc

ExtendedGrenade.inc

SpecialVehicle.inc

ColAndreas Plugin


  String not showing ingame but printing fine
Posted by: Snow - 2021-04-18, 09:24 PM - Forum: Pawn Scripting - Replies (2)

So I am trying to show offline stats of a player and?I am fetching the results from the database to show in game but one of the columns do not show in there. But if i print the string, it shows the result there. Basically i fetch a few columns and format them into a string to show in a textdraw. As you can see here,?[Image: Lk5fs1D.png]

It shows everything but not the Last Seen which is also fetched from database. On printing the string, this is the result:

Code:
~p~Username: ~w~localhost~n~~p~Score: ~w~10~n~~p~Kills:~w~ 0~n~~p~Deaths:~w~ 0~n~~p~Money:~w~ $50,000~n~~p~Last On:~w~ 04-05-2021

In the code above, you can clearly see its printing "Last Seen On:" thing but it wont show it in game. Here is the code:



Code:
CMD:osts(playerid, params[])

{



? ? new query[128], string2[128], accountname[24], ohours, omins, oscore, obal, okills, odeaths, ologged[128];



? ? if(sscanf(params, "s[24]", accountname))

? ? ? ? return SendClientMessage(playerid, COLOR_RED, "USAGE: /osts [account name]");



? ? mysql_format(g_SQL, query, sizeof(query), "SELECT score,hours,minutes,money,kills,deaths, laston FROM `players` WHERE `username` = '%e'",accountname);

? ? new Cache:result;

? ? result = mysql_query(g_SQL, query, true);

? ? new rows = cache_num_rows();



? ? if(rows)

? ? {? ? ?



? ? ? ? new string[1024];

? ? ? ? PlayerTextDrawShow(playerid, OStatsTD[playerid][0]);

? ? ? ? PlayerTextDrawShow(playerid, OStatsTD[playerid][1]);

? ? ? ? PlayerTextDrawShow(playerid, OStatsTD[playerid][3]);



? ? ? ? for (new i = 0; i < rows; i )

? ? ? ? {

? ? ? ? ? ? cache_get_value_name(i, "laston", ologged);

? ? ? ? ? ? cache_get_value_name_int(i, "kills", okills);

? ? ? ? ? ? cache_get_value_name_int(i, "deaths", odeaths);

? ? ? ? ? ? cache_get_value_name_int(i, "score", oscore);

? ? ? ? ? ? cache_get_value_name_int(i, "hours", ohours);

? ? ? ? ? ? cache_get_value_name_int(i, "minutes", omins);

? ? ? ? ? ? cache_get_value_name_int(i, "money", obal);

? ? ? ? ? ?

? ? ? ? ? ? format(string, sizeof(string), "~p~Username: ~w~%s~n~~p~Score: ~w~%d~n~~p~Kills:~w~ %d~n~~p~Deaths:~w~ %d~n~~p~Money:~w~ %s~n~~p~Last On:~w~ %s", accountname,oscore,okills,odeaths,formatInt(obal), ologged);



? ? ? ? }

? ? ? ? PlayerTextDrawSetString(playerid, OStatsTD[playerid][2], string);

? ? ? ? PlayerTextDrawShow(playerid, OStatsTD[playerid][2]);?

? ? ? ? SetTimerEx("tdhide", 10000, false, "i", playerid);?

? ? ? ?

? ? ? ? cache_delete(result);

? ? }



? ? else

? ? format(string2, sizeof(string2), "ERROR: %s isn't found in the database." ,accountname);

? ? SendClientMessage(playerid, COLOR_RED, string2);





? ? return 1;

}





Any idea what could be wrong here? Also, increasing the string size wouldn't help either.


Photo Unacceptable nickname - Crash in game
Posted by: Viola - 2021-04-18, 03:40 PM - Forum: Pawn Scripting - Replies (3)

There is an issue that always happens when players log in-game and play for 10-15 minutes. After that, there is a message with green letters like "UNACCEPTABLE NICKNAME". It's not caused by samp client because it happens to all players who are in-game.



https://prnt.sc/11namd3


  Vehicle Missile Launcher
Posted by: AbyssMorgan - 2021-04-18, 01:30 PM - Forum: Filterscripts - No Replies

Hi I would like to present include for Vehicle Missile Launcher.



Video:

- Vehicle Missile (Beta)

- Vehicle Missile (ColAndreas)

- Marica Mortar V1

- Heavy Marica Mortar

- Congreve Rocket

- Marica Mortar V2

- New Vehicle Missile



Code:
//Functions Mini Missile:

ToggleVehicleMiniMissile(vehicleid,toggle);

IsToggleVehicleMiniMissile(vehicleid);

Float:GetVehicleMiniMissileSpeed(vehicleid);

SetVehicleMiniMissileSpeed(vehicleid,Float:speed);

GetVehicleMiniMissileReload(vehicleid);

SetVehicleMiniMissileReload(vehicleid,time);

Float:GetVehicleMiniMissileDistance(vehicleid);

SetVehicleMiniMissileDistance(vehicleid,Float:distance);

GetVehicleMiniMissileKey(vehicleid);

SetVehicleMiniMissileKey(vehicleid,key);

GetVehicleMiniMissileAmmo(vehicleid);

SetVehicleMiniMissileAmmo(vehicleid,ammo);

Float:GetVehicleMiniMissileDMG(vehicleid);

SetVehicleMiniMissileDMG(vehicleid,Float:damage);

Float:GetVehicleMiniMissileVehDMG(vehicleid);

SetVehicleMiniMissileVehDMG(vehicleid,Float:damage);



//Functions Heavy Missile:

ToggleVehicleHeavyMissile(vehicleid,toggle);

IsToggleVehicleHeavyMissile(vehicleid);

Float:GetVehicleHeavyMissileSpeed(vehicleid);

SetVehicleHeavyMissileSpeed(vehicleid,Float:speed);

GetVehicleHeavyMissileReload(vehicleid);

SetVehicleHeavyMissileReload(vehicleid,time);

Float:GetVehicleHeavyMissileDistance(vehicleid);

SetVehicleHeavyMissileDistance(vehicleid,Float:distance);

GetVehicleHeavyMissileKey(vehicleid);

SetVehicleHeavyMissileKey(vehicleid,key);

GetVehicleHeavyMissileAmmo(vehicleid);

SetVehicleHeavyMissileAmmo(vehicleid,ammo);

Float:GetVehicleHeavyMissileDMG(vehicleid);

SetVehicleHeavyMissileDMG(vehicleid,Float:damage);

Float:GetVehicleHeavyMissileVehDMG(vehicleid);

SetVehicleHeavyMissileVehDMG(vehicleid,Float:damage);



//Functions Rhino Missile:

ToggleVehicleRhinoMissile(vehicleid,toggle);

IsToggleVehicleRhinoMissile(vehicleid);

GetVehicleRhinoMissileReload(vehicleid);

SetVehicleRhinoMissileReload(vehicleid,time);

Float:GetVehicleRhinoMissileDistance(vehicleid);

SetVehicleRhinoMissileDistance(vehicleid,Float:distance);

GetVehicleRhinoMissileKey(vehicleid);

SetVehicleRhinoMissileKey(vehicleid,key);

GetVehicleRhinoMissileAmmo(vehicleid);

SetVehicleRhinoMissileAmmo(vehicleid,ammo);

Float:GetVehicleRhinoMissileDMG(vehicleid);

SetVehicleRhinoMissileDMG(vehicleid,Float:damage);

Float:GetVehicleRhinoMissileVehDMG(vehicleid);

SetVehicleRhinoMissileVehDMG(vehicleid,Float:damage);



//Functions Bomber Missile:

ToggleVehicleBomberMissile(vehicleid,toggle);

IsToggleVehicleBomberMissile(vehicleid);

Float:GetVehicleBomberMissileSpeed(vehicleid);

SetVehicleBomberMissileSpeed(vehicleid,Float:speed);

GetVehicleBomberMissileReload(vehicleid);

SetVehicleBomberMissileReload(vehicleid,time);

Float:GetVehicleBomberMissileDistance(vehicleid);

SetVehicleBomberMissileDistance(vehicleid,Float:distance);

GetVehicleBomberMissileKey(vehicleid);

SetVehicleBomberMissileKey(vehicleid,key);

GetVehicleBomberMissileAmmo(vehicleid);

SetVehicleBomberMissileAmmo(vehicleid,ammo);

Float:GetVehicleBomberMissileDMG(vehicleid);

SetVehicleBomberMissileDMG(vehicleid,Float:damage);

Float:GetVehicleBomberMissileVehDMG(vehicleid);

SetVehicleBomberMissileVehDMG(vehicleid,Float:damage);



//Functions Mortar Missile:

ToggleVehicleMortarMissile(vehicleid,toggle);

IsToggleVehicleMortarMissile(vehicleid);

Float:GetVehicleMortarMissileSpeed(vehicleid);

SetVehicleMortarMissileSpeed(vehicleid,Float:speed);

GetVehicleMortarMissileReload(vehicleid);

SetVehicleMortarMissileReload(vehicleid,time);

Float:GetVehicleMortarMissileDistance(vehicleid);

SetVehicleMortarMissileDistance(vehicleid,Float:distance);

GetVehicleMortarMissileKey(vehicleid);

SetVehicleMortarMissileKey(vehicleid,key);

Float:GetVehicleMortarMissileHeight(vehicleid);

SetVehicleMortarMissileHeight(vehicleid,Float:height);

Float:GetVehicleMortarMissileRotation(vehicleid);

SetVehicleMortarMissileRotation(vehicleid,Float:rotation);

GetVehicleMortarMissileAmmo(vehicleid);

SetVehicleMortarMissileAmmo(vehicleid,ammo);

GetVehicleMortarMissileAimSys(vehicleid);

SetVehicleMortarMissileAimSys(vehicleid,toggle);

Float:GetVehicleMortarMissileDMG(vehicleid);

SetVehicleMortarMissileDMG(vehicleid,Float:damage);

Float:GetVehicleMortarMissileVehDMG(vehicleid);

SetVehicleMortarMissileVehDMG(vehicleid,Float:damage);



//Functions Mega Missile:

ToggleVehicleMegaMissile(vehicleid,toggle);

IsToggleVehicleMegaMissile(vehicleid);

Float:GetVehicleMegaMissileSpeed(vehicleid);

SetVehicleMegaMissileSpeed(vehicleid,Float:speed);

GetVehicleMegaMissileReload(vehicleid);

SetVehicleMegaMissileReload(vehicleid,time);

Float:GetVehicleMegaMissileDistance(vehicleid);

SetVehicleMegaMissileDistance(vehicleid,Float:distance);

GetVehicleMegaMissileKey(vehicleid);

SetVehicleMegaMissileKey(vehicleid,key);

Float:GetVehicleMegaMissileHeight(vehicleid);

SetVehicleMegaMissileHeight(vehicleid,Float:height);

Float:GetVehicleMegaMissileRotation(vehicleid);

SetVehicleMegaMissileRotation(vehicleid,Float:rotation);

GetVehicleMegaMissileAmmo(vehicleid);

SetVehicleMegaMissileAmmo(vehicleid,ammo);

GetVehicleMegaMissileAimSys(vehicleid);

SetVehicleMegaMissileAimSys(vehicleid,toggle);

Float:GetVehicleMegaMissileDMG(vehicleid);

SetVehicleMegaMissileDMG(vehicleid,Float:damage);

Float:GetVehicleMegaMissileVehDMG(vehicleid);

SetVehicleMegaMissileVehDMG(vehicleid,Float:damage);



//Functions Congreve Rocket:

ToggleVehicleCongreve(vehicleid,toggle);

IsToggleVehicleCongreve(vehicleid);

Float:GetVehicleCongreveSpeed(vehicleid);

SetVehicleCongreveSpeed(vehicleid,Float:speed);

GetVehicleCongreveReload(vehicleid);

SetVehicleCongreveReload(vehicleid,time);

Float:GetVehicleCongreveDistance(vehicleid);

SetVehicleCongreveDistance(vehicleid,Float:distance);

GetVehicleCongreveKey(vehicleid);

SetVehicleCongreveKey(vehicleid,key);

Float:GetVehicleCongreveSpread(vehicleid);

SetVehicleCongreveSpread(vehicleid,Float:spread);

GetVehicleCongreveSalvo(vehicleid);

SetVehicleCongreveSalvo(vehicleid,salvo);

GetVehicleCongreveAmmo(vehicleid);

SetVehicleCongreveAmmo(vehicleid,ammo);

Float:GetVehicleCongreveDMG(vehicleid);

SetVehicleCongreveDMG(vehicleid,Float:damage);

Float:GetVehicleCongreveVehDMG(vehicleid);

SetVehicleCongreveVehDMG(vehicleid,Float:damage);



//Functions Havoc Rocket:

ToggleVehicleHavoc(vehicleid,toggle);

IsToggleVehicleHavoc(vehicleid);

Float:GetVehicleHavocSpeed(vehicleid);

SetVehicleHavocSpeed(vehicleid,Float:speed);

GetVehicleHavocReload(vehicleid);

SetVehicleHavocReload(vehicleid,time);

Float:GetVehicleHavocDistance(vehicleid);

SetVehicleHavocDistance(vehicleid,Float:distance);

GetVehicleHavocKey(vehicleid);

SetVehicleHavocKey(vehicleid,key);

Float:GetVehicleHavocSpread(vehicleid);

SetVehicleHavocSpread(vehicleid,Float:spread);

GetVehicleHavocSalvo(vehicleid);

SetVehicleHavocSalvo(vehicleid,salvo);

GetVehicleHavocAmmo(vehicleid);

SetVehicleHavocAmmo(vehicleid,ammo);

Float:GetVehicleHavocDMG(vehicleid);

SetVehicleHavocDMG(vehicleid,Float:damage);

Float:GetVehicleHavocVehDMG(vehicleid);

SetVehicleHavocVehDMG(vehicleid,Float:damage);



//Functions Flare:

ToggleVehicleFlare(vehicleid,toggle);

IsToggleVehicleFlare(vehicleid);

Float:GetVehicleFlareSpeed(vehicleid);

SetVehicleFlareSpeed(vehicleid,Float:speed);

GetVehicleFlareReload(vehicleid);

SetVehicleFlareReload(vehicleid,time);

Float:GetVehicleFlareDistance(vehicleid);

SetVehicleFlareDistance(vehicleid,Float:distance);

GetVehicleFlareKey(vehicleid);

SetVehicleFlareKey(vehicleid,key);

GetVehicleFlareSalvo(vehicleid);

SetVehicleFlareSalvo(vehicleid,salvo);

GetVehicleFlareAmmo(vehicleid);

SetVehicleFlareAmmo(vehicleid,ammo);

GetVehicleFlareType(vehicleid);

SetVehicleFlareType(vehicleid,type);



//Functions Ground Bomb:

ToggleVehicleGroundBomb(vehicleid,toggle);

IsToggleVehicleGroundBomb(vehicleid);

Float:GetVehicleGroundBombSpeed(vehicleid);

SetVehicleGroundBombSpeed(vehicleid,Float:speed);

GetVehicleGroundBombReload(vehicleid);

SetVehicleGroundBombReload(vehicleid,time);

Float:GetVehicleGroundBombDistance(vehicleid);

SetVehicleGroundBombDistance(vehicleid,Float:distance);

GetVehicleGroundBombKey(vehicleid);

SetVehicleGroundBombKey(vehicleid,key);

GetVehicleGroundBombAmmo(vehicleid);

SetVehicleGroundBombAmmo(vehicleid,ammo);

Float:GetVehicleGroundBombDMG(vehicleid);

SetVehicleGroundBombDMG(vehicleid,Float:damage);

Float:GetVehicleGroundBombVehDMG(vehicleid);

SetVehicleGroundBombVehDMG(vehicleid,Float:damage);



//Functions Ground Bomb (Extended Grenade):

GetVehicleGroundBombType(vehicleid);

SetVehicleGroundBombType(vehicleid,special_weaponid);

GetVehicleGroundBombEffect(vehicleid);

SetVehicleGroundBombEffect(vehicleid,effectid);

Float:GetVehicleGroundBombEffectDMG(vehicleid);

SetVehicleGroundBombEffectDMG(vehicleid,Float:damage);

Float:GetVehicleGroundBombEffectVDMG(vehicleid);

SetVehicleGroundBombEffectVDMG(vehicleid,Float:veh_damage);

GetVehicleGroundBombEffectTime(vehicleid);

SetVehicleGroundBombEffectTime(vehicleid,seconds);



//Player Functions:

GetMiniMissileRemainingTime(playerid);

GetHeavyMissileRemainingTime(playerid);

GetRhinoMissileRemainingTime(playerid);

GetBomberMissileRemainingTime(playerid);

GetMortarMissileRemainingTime(playerid);

GetMegaMissileRemainingTime(playerid);

GetCongreveRemainingTime(playerid);

GetHavocRemainingTime(playerid);

GetGroundBombRemainingTime(playerid);

GetFlareRemainingTime(playerid);

IsVehicleMissileAimSysReady(playerid);

SetVehicleMissileAimTarget(playerid,Float:x=0.0,Float:y=0.0);



//Extended Functions:

Float:GetMissileStreamDistance();

SetMissileStreamDistance(Float:streamdistance);

DisarmVehicleMissile(vehicleid);

SetVehicleMissileDefaultConfig(vehicleid);

ToggleMissileAutoDisarm(bool:toggle);

bool:IsToggleMissileAutoDisarm();

OnVehicleShot(playerid,type);

OnVehicleMissileInit();

GetMissileRemainingTime(playerid,type);

GetVehicleMissileAmmo(vehicleid,type);

SetVehicleMissileAmmo(vehicleid,type,ammo);



//Callbacks:

OnVehicleArmed(playerid,vehicleid);

OnVehicleMissileRequestLaunch(playerid,type,vehicleid);

OnVehicleMissileLaunched(playerid,type,vehicleid);



Default control:

Code:
Mini Missile - LALT

Rhino Missile - LALT

Heavy Missile - ALT GR / LCTRL / NUM0

Bomber Missile - Y

Mortar Missile - Y

Mega Missile - Y

Congreve Rocket - N

Havoc Rocket - Y

Ground Bomb - Y



Definitions:

Code:
//Vehicle Missile Types:

VEHICLE_MISSILE_TYPE_MINI

VEHICLE_MISSILE_TYPE_HEAVY

VEHICLE_MISSILE_TYPE_BOMBER

VEHICLE_MISSILE_TYPE_RHINO

VEHICLE_MISSILE_TYPE_MORTAR

VEHICLE_MISSILE_TYPE_MEGA

VEHICLE_MISSILE_TYPE_CON

VEHICLE_MISSILE_TYPE_HAVOC

VEHICLE_MISSILE_TYPE_BOMB

VEHICLE_MISSILE_TYPE_FLARE



//default projectile speed

VEHICLE_MISSILE_SPEED_MINI

VEHICLE_MISSILE_SPEED_HEAVY

VEHICLE_MISSILE_SPEED_BOMBER

VEHICLE_MISSILE_SPEED_MORTAR

VEHICLE_MISSILE_SPEED_MEGA

VEHICLE_MISSILE_SPEED_CON

VEHICLE_MISSILE_SPEED_HAVOC

VEHICLE_MISSILE_SPEED_BOMB

VEHICLE_MISSILE_SPEED_FLARE



//default reload time in milisecond

VEHICLE_MISSILE_RELOAD_MINI

VEHICLE_MISSILE_RELOAD_HEAVY

VEHICLE_MISSILE_RELOAD_BOMBER

VEHICLE_MISSILE_RELOAD_RHINO

VEHICLE_MISSILE_RELOAD_MORTAR

VEHICLE_MISSILE_RELOAD_MEGA

VEHICLE_MISSILE_RELOAD_CON

VEHICLE_MISSILE_RELOAD_HAVOC

VEHICLE_MISSILE_RELOAD_BOMB

VEHICLE_MISSILE_RELOAD_FLARE



//default maximum distance that can be overcome missile

VEHICLE_MISSILE_DISTANCE_MINI

VEHICLE_MISSILE_DISTANCE_HEAVY

VEHICLE_MISSILE_DISTANCE_BOMBER

VEHICLE_MISSILE_DISTANCE_RHINO

VEHICLE_MISSILE_DISTANCE_MORTAR

VEHICLE_MISSILE_DISTANCE_MEGA

VEHICLE_MISSILE_DISTANCE_CON

VEHICLE_MISSILE_DISTANCE_HAVOC

VEHICLE_MISSILE_DISTANCE_BOMB

VEHICLE_MISSILE_DISTANCE_FLARE



//default key

VEHICLE_MISSILE_KEY_MINI

VEHICLE_MISSILE_KEY_HEAVY

VEHICLE_MISSILE_KEY_BOMBER

VEHICLE_MISSILE_KEY_RHINO

VEHICLE_MISSILE_KEY_MORTAR

VEHICLE_MISSILE_KEY_MEGA

VEHICLE_MISSILE_KEY_CON

VEHICLE_MISSILE_KEY_HAVOC

VEHICLE_MISSILE_KEY_BOMB

VEHICLE_MISSILE_KEY_FLARE



VEHICLE_MISSILE_HEIGHT_MORTAR? // default arc height for Mortar Missile

VEHICLE_MISSILE_HEIGHT_MEGA? ? // default arc height for Mega Missile



VEHICLE_MISSILE_ROTATION? ? ? ? // default mortar/mega rotation



VEHICLE_MISSILE_SPREAD_CON? ? ? // default spread for Congreve Rocket

VEHICLE_MISSILE_SALVO_CON? ? ? // default salvo (number of projectiles) for Congreve Rocket



VEHICLE_MISSILE_SPREAD_HAVOC? ? // default spread for Havoc Missile

VEHICLE_MISSILE_SALVO_HAVOC? ? // default salvo (number of projectiles) for Havoc Missile



VEHICLE_MISSILE_SALVO_FLARE? ? // default salvo (number of projectiles) for Flare



//infinity ammo

VEHICLE_WEAPON_AMMO_INFINITY



Weapon Vehicle Recommendation:

Code:
VEHICLE_MISSILE_TYPE_MINI - Any vehicle

VEHICLE_MISSILE_TYPE_HEAVY - All air vehicles (Causes turbulence)

VEHICLE_MISSILE_TYPE_BOMBER - All air vehicles

VEHICLE_MISSILE_TYPE_RHINO - Recommended for use only RC Tiger

VEHICLE_MISSILE_TYPE_MORTAR - Any vehicle (Recomended Air Vehicle)

VEHICLE_MISSILE_TYPE_MEGA - Any vehicle (Recomended Air Vehicle)

VEHICLE_MISSILE_TYPE_CON - Hydra

VEHICLE_MISSILE_TYPE_HAVOC - Andromada

VEHICLE_MISSILE_TYPE_BOMB - Rustler

VEHICLE_MISSILE_TYPE_FLARE - Hydra



Example Code:

Code:
public OnGameModeInit(){



ToggleMissileAutoDisarm(true);



return 1;

}



public OnVehicleArmed(playerid,vehicleid){



SetVehicleMiniMissileDMG(vehicleid,100.0);

SetVehicleMiniMissileVehDMG(vehicleid,500.0);



SetVehicleHeavyMissileDMG(vehicleid,200.0);

SetVehicleHeavyMissileVehDMG(vehicleid,1000.0);



SetVehicleBomberMissileDMG(vehicleid,100.0);

SetVehicleBomberMissileVehDMG(vehicleid,500.0);



SetVehicleRhinoMissileDMG(vehicleid,50.0);

SetVehicleRhinoMissileVehDMG(vehicleid,500.0);



SetVehicleMortarMissileDMG(vehicleid,100.0);

SetVehicleMortarMissileVehDMG(vehicleid,1000.0);



SetVehicleMegaMissileDMG(vehicleid,200.0);

SetVehicleMegaMissileVehDMG(vehicleid,2000.0);



SetVehicleCongreveDMG(vehicleid,50.0);

SetVehicleCongreveVehDMG(vehicleid,1500.0);



SetVehicleHavocDMG(vehicleid,500.0);

SetVehicleHavocVehDMG(vehicleid,5000.0);



SetVehicleGroundBombDMG(vehicleid,500.0);

SetVehicleGroundBombVehDMG(vehicleid,5000.0);





switch(GetVehicleModel(vehicleid)){

case 564: { //rc tiger

ToggleVehicleRhinoMissile(vehicleid,1);

}

case 553: { //nevada

ToggleVehicleBomberMissile(vehicleid,1);

}

case 592: { //andromada

ToggleVehicleBomberMissile(vehicleid,1);

SetVehicleBomberMissileSpeed(vehicleid,60.0);

SetVehicleBomberMissileReload(vehicleid,500);

}

case 520: { //hydra

ToggleVehicleBomberMissile(vehicleid,1);

SetVehicleBomberMissileSpeed(vehicleid,80.0);

SetVehicleBomberMissileReload(vehicleid,500);



ToggleVehicleHeavyMissile(vehicleid,1);

SetVehicleHeavyMissileSpeed(vehicleid,90.0);

SetVehicleHeavyMissileKey(vehicleid,KEY_CROUCH);

}

case 476: { //rustler

ToggleVehicleMiniMissile(vehicleid,1);

SetVehicleMiniMissileSpeed(vehicleid,80.0);



ToggleVehicleBomberMissile(vehicleid,1);

SetVehicleBomberMissileSpeed(vehicleid,80.0);

SetVehicleBomberMissileReload(vehicleid,500);

}

case 548, 497, 469: { //Cargobob, Police Maverik, Sparrow

ToggleVehicleMiniMissile(vehicleid,1);

ToggleVehicleBomberMissile(vehicleid,1);

}

case 512: { //Cropduster

ToggleVehicleBomberMissile(vehicleid,1);

}

case 513: { //stuntplane

ToggleVehicleBomberMissile(vehicleid,1);

}

case 519: { //shamal

ToggleVehicleMiniMissile(vehicleid,1);

SetVehicleMiniMissileSpeed(vehicleid,80.0);

}

case 432: { //rhino

ToggleVehicleMegaMissile(vehicleid,1);

SetVehicleMegaMissileSpeed(vehicleid,50.0);

SetVehicleMegaMissileHeight(vehicleid,VEHICLE_MISSILE_HEIGHT_MEGA);

SetVehicleMegaMissileDistance(vehicleid,VEHICLE_MISSILE_DISTANCE_MEGA);

SetVehicleMegaMissileAimSys(vehicleid,1);

}

}

return 1;

}



Remaining Time / Ammo detection:

Code:
public OnVehicleMissileRequestLaunch(playerid,type,vehicleid){



new c_time = GetMissileRemainingTime(playerid,type);

if(c_time > 0){

new buffer[32];

format(buffer,sizeof(buffer),"Remaining Time~n~~w~%.2f second",c_time / 1000.0);

GameTextForPlayer(playerid,buffer,2500,4);

} else if(GetVehicleMissileAmmo(vehicleid,type) == 0){

new buffer[32];

format(buffer,sizeof(buffer),"No ammunition");

GameTextForPlayer(playerid,buffer,2500,4);

}

if((type == VEHICLE_MISSILE_TYPE_MORTAR && GetVehicleMortarMissileAimSys(vehicleid)) || (type == VEHICLE_MISSILE_TYPE_MEGA && GetVehicleMegaMissileAimSys(vehicleid))){

if(!IsVehicleMissileAimSysReady(playerid)){

GameTextForPlayer(playerid,"Select target in map",2500,4);

}

}

return 1;

}



public OnVehicleMissileLaunched(playerid,type,vehicleid){

new ammo = GetVehicleMissileAmmo(vehicleid,type);

if(ammo != VEHICLE_WEAPON_AMMO_INFINITY){

new buffer[32];

format(buffer,sizeof(buffer),"Vehicle Ammo~n~~w~%d",ammo);

GameTextForPlayer(playerid,buffer,2500,4);

}

return 1;

}



Advanced Mortar Control (if AimSys is disabled):

Code:
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){

if(IsToggleVehicleMegaMissile(GetPlayerVehicleID(playerid))){

if(KEY_PRESSED(KEY_ANALOG_UP)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMegaMissileDistance(vid), buf[128];

val = 5.0;

if(val > 800.0) val = 800.0;

SetVehicleMegaMissileDistance(vid,val);

format(buf,sizeof buf,"Mortar Distance: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_DOWN)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMegaMissileDistance(vid), buf[128];

val -= 5.0;

if(val < 50.0) val = 50.0;

SetVehicleMegaMissileDistance(vid,val);

format(buf,sizeof buf,"Mortar Distance: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_RIGHT)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMegaMissileHeight(vid), buf[128];

val = 5.0;

if(val > 400.0) val = 400.0;

SetVehicleMegaMissileHeight(vid,val);

format(buf,sizeof buf,"Mortar Height: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_LEFT)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMegaMissileHeight(vid), buf[128];

val -= 5.0;

if(val < 25.0) val = 25.0;

SetVehicleMegaMissileHeight(vid,val);

format(buf,sizeof buf,"Mortar Height: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

}

} else if(IsToggleVehicleMortarMissile(GetPlayerVehicleID(playerid))){

if(KEY_PRESSED(KEY_ANALOG_UP)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMortarMissileDistance(vid), buf[128];

val = 5.0;

if(val > 600.0) val = 600.0;

SetVehicleMortarMissileDistance(vid,val);

format(buf,sizeof buf,"Mortar Distance: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_DOWN)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMortarMissileDistance(vid), buf[128];

val -= 5.0;

if(val < 50.0) val = 50.0;

SetVehicleMortarMissileDistance(vid,val);

format(buf,sizeof buf,"Mortar Distance: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_RIGHT)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMortarMissileHeight(vid), buf[128];

val = 5.0;

if(val > 300.0) val = 300.0;

SetVehicleMortarMissileHeight(vid,val);

format(buf,sizeof buf,"Mortar Height: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

} else if(KEY_PRESSED(KEY_ANALOG_LEFT)){

new vid = GetPlayerVehicleID(playerid), Float:val = GetVehicleMortarMissileHeight(vid), buf[128];

val -= 5.0;

if(val < 25.0) val = 25.0;

SetVehicleMortarMissileHeight(vid,val);

format(buf,sizeof buf,"Mortar Height: ~g~%.0f",val);

GameTextForPlayer(playerid,buf,1000,4);

}

}

return 1;

}



Download:

VehicleMissileCol.inc

Missile.inc

3DTryg.inc

ExtendedGrenade.inc

ColAndreas Plugin



Notice:

Filterscript not exist because filterscripts have limits.

This has been replaced by include, having automatic installation, efficient GameMode/FilterScript.


  Hyperion Mega Ship Battle
Posted by: AbyssMorgan - 2021-04-18, 01:27 PM - Forum: Filterscripts - No Replies

Hello, I would like to present you the Hyperion Mega Ship Battle.

It is a war of two large warships in which between 6 and 42 players can participate (21 per ship)



[Image: lDN2lRH.png]



Video:

https://www.youtube.com/watch?v=Ut7iBj7SRGk



Installation:

Code:
#include <streamer>

#include <colandreas>

#include <3DTryg>

#include <Missile>

#include <progress>



//#define HYPERION_START_TIME 90

//#define HYPERION_VW 0

#include <Hyperion>



public IsAllowedToJoinHyperion(playerid){

    

    return 1;

}



public OnHyperionPlayerDeath(playerid,killerid){

    SendDeathMessage(killerid,playerid,51);

    return 1;

}



public OnHyperionHelpPresented(playerid){

    ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"Hyperion Mega Ship","Control:\nUse your mouse to aim\nUse LMB or Ctrl to shot","OK","");

    return 1;

}



public OnPlayerEnteringHyperion(playerid,teamid){

    //player teleported to Hyperion Battle

    return 1;

}



public OnPlayerExitHyperion(playerid){

    //player death on hyperion or battle is finished

    return 1;

}



public OnHyperionStateChange(hyperion_state){

    switch(hyperion_state){

        case HYPERION_STATE_OFF: { //attention this state cannot call when Hyperion battle finish

            SendClientMessageToAll(0xFFFFFFFF,"Hyperion Battle cannot start due to lack of players.");

        }

        case HYPERION_STATE_STARTING: {

            new buffer[128];

            format(buffer,sizeof(buffer),"Hyperion Battle will start in %d seconds.",HYPERION_START_TIME);

            SendClientMessageToAll(0xFFFFFFFF,buffer);

        }

        case HYPERION_STATE_ON: {

            SendClientMessageToAll(0xFFFFFFFF,"Hyperion Battle has been started.");

        }

    }

    return 1;

}



public OnHyperionBattleFinished(teamid){

    switch(teamid){

        case HYPERION_TEAM_BLUE: {

            SendClientMessageToAll(0xFFFFFFFF,"Hyperion Battle was finished the blue team wins.");

        }

        case HYPERION_TEAM_GREEN: {

            SendClientMessageToAll(0xFFFFFFFF,"Hyperion Battle was finished the green team wins.");

        }

        case HYPERION_TEAM_INTERRUPT: {

            SendClientMessageToAll(0xFFFFFFFF,"Hyperion Battle was interrupted due to a lack of players.");

        }

    }

    return 1;

}



public OnHyperionBattleResults(playerid,isdead,iswinner){

    switch(iswinner){

        case 0: {

            SendClientMessage(playerid,0xFFFFFFFF,"You team lose the Hyperion Battle.");

        }

        case 1: {

            SendClientMessage(playerid,0xFFFFFFFF,"You team win the Hyperion Battle.");

        }

    }

    return 1;

}



CMD:hyperion(playerid){

    if(!CallLocalFunction("IsAllowedToJoinHyperion","d",playerid)) return 1;

    if(Hyperion::IsPlayerSaved(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"You are already queued for Hyperion Battle.");

    if(Hyperion::CountPlayers() >= HYPERION_MAX_QUEUE) return SendClientMessage(playerid,0xFFFFFFFF,"Queue for Hyperion Battle is already full.");

    Hyperion::SavePlayer(playerid,true);

    SendClientMessage(playerid,0xFFFFFFFF,"You have signed up for Hyperion Battle Queue.");

    return 1;

}



CMD:hyperionexit(playerid){

    if(!Hyperion::IsPlayerSaved(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"You are not queued for Hyperion Battle.");

    Hyperion::SavePlayer(playerid,false);

    SendClientMessage(playerid,0xFFFFFFFF,"You left the Hyperion Battle queue.");

    return 1;

}



Functions:

Code:
Hyperion::IsPlayerSaved(playerid);

Hyperion::SavePlayer(playerid,bool:state);

Hyperion::IsPlayerOnArea(playerid);

Hyperion::CountPlayers();



Callbacks:

Code:
IsAllowedToJoinHyperion(playerid);

OnHyperionBattleResults(playerid,isdead,iswinner);

OnPlayerEnteringHyperion(playerid,teamid);

OnPlayerExitHyperion(playerid);

OnHyperionStateChange(hyperion_state);

OnHyperionBattleFinished(teamid);

OnHyperionHelpPresented(playerid);



Download:

Hyperion.inc

3DTryg.inc

Missile.inc

progress.inc

ColAndreas Plugin



Notice:

Filterscript not exist because filterscripts have limits.

This has been replaced by include, having automatic installation, efficient GameMode/FilterScript.


  Faction Missions
Posted by: AbyssMorgan - 2021-04-18, 01:23 PM - Forum: Filterscripts - Replies (1)

Hello, I would like to present you the Faction Mini Missions.



Video:

https://www.youtube.com/watch?v=uMpS2SaWmB0



Example Code:

Code:
#include <Streamer>

#include <colandreas>

#include <route_rand>

#include <3DTryg>

#include <Missions>



public OnPlayerEnterPatrol(playerid,mobid){

if(GetPlayerTeam(playerid) == TEAM_POLICEMAN) return 1; //policeman clear unsafe zone

return 0; //player get robbed

}



public OnPlayerDestroyPatrol(playerid,mobid){

//give mission prize

GivePlayerMoney(playerid,100);

return 1;

}



public OnPlayerRobbed(playerid,mobid,mission_state){

switch(mission_state){

case MISSIONS_STATE_FAIL_ROBBERY: {

SendClientMessage(playerid,0xFFFFFFFF,"The thief stumbled and you managed to escape :)");

}

case MISSIONS_STATE_ROBBED: {

SendClientMessage(playerid,0xFFFFFFFF,"You lose $100 by robbers");

GivePlayerMoney(playerid,-100);

}

}

return 1;

}



public OnPlayerFoundCorpse(playerid,mobid){

if(GetPlayerTeam(playerid) == TEAM_MEDIC) return 1;

return 0; //player able hit corpse (if in vehicle)

}



public OnPlayerHitCorpse(playerid,mobid){

SendClientMessage(playerid,0xFFFFFFFF,"You hit corpse by vehicle, you got mandate $100");

GivePlayerMoney(playerid,-100);

return 1;

}



public OnPlayerHealCorpse(playerid,mobid){

if(GetPlayerTeam(playerid) == TEAM_MEDIC){

SendClientMessage(playerid,0xFFFFFFFF,"You healed the corpse");

return 1;

}

return 0;

}



public OnPlayerFoundScrap(playerid,mobid){

if(GetPlayerTeam(playerid) == TEAM_METAL_SCRAPPER) return 1; //player able to pickup Scrap (Only for vehicle 578)

return 0;

}



public OnPlayerTakeScrap(playerid,mobid,mission_state,count_items){

switch(mission_state){

case MISSIONS_SCRAP_FULL: {

SendClientMessage(playerid,0xFFFFFFFF,"Your vehicle cargo is full");

}

case MISSIONS_SCRAP_LOADED: {

SendClientMessage(playerid,0xFFFFFFFF,"You picked up scrap metal");

}

}

return 1;

}



public OnPlayerExceededSpeed(playerid,mobid,Float:speed,Float:max_speed){

new buffer[256];

format(buffer,sizeof(buffer),"You exceeded the maximum speed %.1f mph you were driving %.1f mph",max_speed,speed);

SendClientMessage(playerid,0xFFFFFFFF,buffer);

//mandate or something :D

return 1;

}



public OnPlayerPutOutFire(playerid,mobid){

SendClientMessage(playerid,0xFFFFFFFF,"You put out fire");

return 1;

}



public OnPlayerVehicleDamagedByRoad(playerid,mobid,old_health,new_health,veh_damage){



return 1;

}



public OnPlayerDestroyedTreeOnRoad(playerid,mobid){

SendClientMessage(playerid,0xFFFFFFFF,"You destroyed tree on road");

return 1;

}



public OnPlayerUnloadingScrap(playerid,count_items){

if(Item::InCircle(playerid,item_player,0.0,0.0,10.0)){

SendClientMessage(playerid,0xFFFFFFFF,"You unloading scrap");

return 1;

}

return 0;

}



public OnPlayerTryDisarmBomb(playerid,mobid){

if(GetPlayerTeam(playerid) == TEAM_ARMY) return 1;

return 0;

}



public OnPlayerDisarmBomb(playerid,mobid,mission_state){

switch(mission_state){

case MISSIONS_BOMB_DISARM_FAIL: {

SendClientMessage(playerid,0xFFFFFFFF,"Failed to disarm bomb !!!");

}

case MISSIONS_BOMB_DISARM_SUCCESS: {

SendClientMessage(playerid,0xFFFFFFFF,"Bomb disarmed");

}

case MISSIONS_BOMB_DISARM_TOO_LATE: {

SendClientMessage(playerid,0xFFFFFFFF,"Is too late to disarm bomb !!!");

}

}

return 1;

}



public OnPlayerFixedRoad(playerid,mobid){

SendClientMessage(playerid,0xFFFFFFFF,"Road fixed");

return 1;

}



public OnGameModeInit(){



Missions::SetMissionsScrapKey(KEY_YES);

Missions::SetMissionsCorpseKey(KEY_YES);

Missions::SetMissionsBombKey(KEY_YES);



Missions::Enable(MISSIONS_TYPE_BOMB);

Missions::Enable(MISSIONS_TYPE_WOOD);

Missions::Enable(MISSIONS_TYPE_SCRAP);

Missions::Enable(MISSIONS_TYPE_CORPSE);

Missions::Enable(MISSIONS_TYPE_DMGROUTE);

Missions::Enable(MISSIONS_TYPE_FIRE);

Missions::Enable(MISSIONS_TYPE_PATROL);



Missions::SetSpawnRectangle(MISSIONS_TYPE_BOMB,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_CORPSE,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_FIRE,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_WOOD,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_SCRAP,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_DMGROUTE,-3000.0,-3000.0,3000.0,3000.0);

Missions::SetSpawnRectangle(MISSIONS_TYPE_PATROL,-3000.0,-3000.0,3000.0,3000.0);



Missions::Generate(); //force mission generate after server restart



return 1;

}



CMD:speedcamera_del(playerid,params[]){

if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Leave vehicle");

new mobid;

if(sscanf(params,"d",mobid)) return SendClientMessage(playerid,0xFFFFFFFF,"Usage /speedcamera_del <id>");

if(mobid < 0 || mobid >= MISSIONS_MAX_RADAR) return SendClientMessage(playerid,0xFFFFFFFF,"Wrong speed camera ID (0 - 99)");

if(!Missions::RadarData[mobid][f_active]) return SendClientMessage(playerid,0xFFFFFFFF,"Speed camera is not active");

Missions::DestroyRadar(mobid);

SendClientMessage(playerid,0xFFFFFFFF,"Speed camera deleted");

return 1;

}



CMD:speedcamera_add(playerid,params[]){

if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,0xFFFFFFFF,"Leave vehicle");

new Float:speed;

if(sscanf(params,"f",speed)) return SendClientMessage(playerid,0xFFFFFFFF,"Uzywaj /speedcamera_add <max_speed>");

new Float:x,Float:y,Float:z,Float:z_angle;

GetPlayerPos(playerid,x,y,z);

GetPointInFrontOfPlayer(playerid,x,y,1.0);

GetPlayerFacingAngle(playerid,z_angle);

if(Missions::CreateRadar(x,y,z,z_angle,0,0,speed)){

SendClientMessage(playerid,0xFFFFFFFF,"Speed camera added");

ApplyAnimation(playerid,"BOMBER","BOM_Plant",4.1,0,0,0,0,0);

} else {

SendClientMessage(playerid,0xFFFFFFFF,"Unable to add speed camera (limit exceeded)");

}

return 1;

}



Functions:

Code:
Missions::SetMissionsScrapKey(key);

Missions::SetMissionsCorpseKey(key);

Missions::SetMissionsBombKey(key);

Missions::CountVehicleScrap(vehicleid);

Missions::DropScrap(vehicleid);

Missions::HealCorpse(playerid);

Missions::CreateRadar(Float:x,Float:y,Float:z,Float:rz,worldid=0,interiorid=0,Float:speed=80.0);

Missions::DestroyRadar(mobid);

Missions::SetSpawnRectangle(mission_type,Float:minx,Float:miny,Float:maxx,Float:maxy,bool:spawn_validation=true);

Missions::SetSpawnPolygon(mission_type,Float:points[],maxpoints=sizeof(points),bool:spawn_validation=true);



Callbacks:

Code:
OnPlayerEnterPatrol(playerid,mobid);

OnPlayerDestroyPatrol(playerid,mobid);

OnPlayerRobbed(playerid,mobid,mission_state);

OnPlayerFoundCorpse(playerid,mobid);

OnPlayerHitCorpse(playerid,mobid);

OnPlayerFoundScrap(playerid,mobid);

OnPlayerTakeScrap(playerid,mobid,mission_state,count_items);

OnPlayerExceededSpeed(playerid,mobid,Float:speed,Float:max_speed);

OnPlayerPutOutFire(playerid,mobid);

OnPlayerVehicleDamagedByRoad(playerid,mobid,old_health,new_health,veh_damage);

OnPlayerDestroyedTreeOnRoad(playerid,mobid);

OnPlayerUnloadingScrap(playerid,count_items);

OnPlayerHealCorpse(playerid,mobid);

OnPlayerTryDisarmBomb(playerid,mobid);

OnPlayerDisarmBomb(playerid,mobid,mission_state);

OnPlayerFixedRoad(playerid,mobid);



Download:

Missions.inc

route_rand.inc

route_rand.bin (put in /scriptfiles)

3DTryg.inc

ColAndreas Plugin



Notice:

Filterscript not exist because filterscripts have limits.

This has been replaced by include, having automatic installation, efficient GameMode/FilterScript.