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

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,224
» Latest member: tiktokusa479
» Forum threads: 2,374
» Forum posts: 12,328

Full Statistics

Online Users
There are currently 163 online users.
» 1 Member(s) | 160 Guest(s)
Bing, Google, ruzky

Latest Threads
Liberty City map
Forum: Pawn Scripting
Last Post: ziyadprogamer
11 hours ago
» Replies: 2
» Views: 2,109
GameText styles in open.m...
Forum: Pawn Scripting
Last Post: Miki
Yesterday, 01:25 PM
» Replies: 1
» Views: 22
Very Basic SAMP UCP
Forum: Videos and Screenshots
Last Post: bullyalina
Yesterday, 12:43 PM
» Replies: 49
» Views: 12,716
Script[gamemodes/gamemode...
Forum: Pawn Scripting
Last Post: Miki
2025-06-27, 05:08 PM
» Replies: 1
» Views: 421
NFPA 318 Guidelines for C...
Forum: Videos and Screenshots
Last Post: elvishparker277
2025-06-27, 11:05 AM
» Replies: 0
» Views: 38
Want to edit my profile n...
Forum: Chat
Last Post: Hera.
2025-06-26, 08:41 PM
» Replies: 1
» Views: 528
Farsi
Forum: Other
Last Post: acc.gangbeni
2025-06-25, 08:21 AM
» Replies: 2
» Views: 3,050
Las Venturas Gang Wars - ...
Forum: Advertisements
Last Post: lvgwgta
2025-06-22, 06:47 PM
» Replies: 0
» Views: 43
[Request] Linko Gaming Ro...
Forum: General Discussions
Last Post: JamesC
2025-06-20, 07:34 PM
» Replies: 0
» Views: 58
RevolutionX DM/Stunt/Race...
Forum: Advertisements
Last Post: DerekZ905
2025-06-18, 03:12 PM
» Replies: 0
» Views: 79

 
  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.


  Santa Gifts
Posted by: AbyssMorgan - 2021-04-18, 01:07 PM - Forum: Filterscripts - No Replies

Hello, I would like to present a simple script to automatically deploy gifts on the map.



Description:

- On the map there is a prescribed amount of gifts. (Default 100)

- They appear in random locations on the map, in addition to water.

- What definite time reset location. (Default 2 hours)

- After collecting gifts a player receives award. (To set)

- After collecting gift changing locations.

- Nobody, not even the admin does not know gift location.



The script can be used to:

- Christmas

- Easter

- Halloween



Installation:

Code:
//#define SANTA_IS_EASTER_EVENT? ? //Change to Easter Event

//#define SANTA_IS_EASTER_HALLOWEEN //Change to Halloween Event

#include <streamer>

#include <ColAndreas>

#include <3DTryg>

#include <Santa>



public OnGameModeInit(){



//Santa::SetSpawnRectangle(Float:minx,Float:miny,Float:maxx,Float:maxy,bool:reset=true);

//Santa::SetSpawnPolygon(Float:points[],maxpoints=sizeof(points),bool:reset=true);



return 1;

}



public OnSantaPickupReward(playerid){



//edit this

GivePlayerMoney(playerid,250);



return 1;

}



Download:

Santa.inc

3DTryg.inc

ColAndreas Plugin



Notice:

Filterscript not exist because filterscripts have limits.

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


  Missile (Missile Launcher)
Posted by: AbyssMorgan - 2021-04-18, 01:03 PM - Forum: Libraries - No Replies

Hi I would like to present include for Missile Launcher.



Video:

- Sniper Missile

- Vehicle Missile (MapAndreas Version)

- Vehicle Missile (ColAndreas Update)

- Marica Mortar V1

- Heavy Marica Mortar

- Missile Launcher Aim Player

- Congreve Rocket

- Marica Mortar V2

- New Vehicle Missile

- Flares



Functions:

Code:
Missile::Launch(type,Float:detection_range,Float:explode_radius,Float:speed,Float:x,Float:y,Float:z,worldid,interiorid,playerid,Float:streamdistance,missile_object,Float:tx,Float:ty,Float:tz,byplayerid=INVALID_PLAYER_ID,teamid=ANY_TEAM,bool:remote=false,remote_count=MAX_MISSILE_REMOTE_TARGET,remote_height=1.0,Float:arc_roll=0.0,Float:damage=-1.0,Float:vehicle_damage=-1.0);



type - explosion type //https://wiki.sa-mp.com/wiki/Explosion_List

Float:detection_range - detection range player/vehicle

Float:explode_radius - the explosion range (the same as in CreateExplosion)

Float:speed - projectile speed

Float:x, Float:y, Float:z - Starting position

worldid, interiorid, playerid, Float:streamdistance - the same as in CreateDynamicObject

missile_object: MISSILE_OBJECT_NORMAL / MISSILE_OBJECT_BIG / MISSILE_OBJECT_HYDRA / MISSILE_OBJECT_BOMB / MISSILE_OBJECT_BOMB_STATIC / MISSILE_OBJECT_FLARE

Float:tx, Float:ty, Float:tz - Target position

byplayerid - selected player will be immune to detection range

teamid - player team will be immune to detection range

remote - enable remote targeting (for Vehicle Missile Mortar)

remote_count - number of remote targeting 1 - 32

remote_height - arc height

arc_roll - rotation Y axis

Float:damage - player damage on explosion created

Float:vehicle_damage - vehicle damage on explosion created



Rotation: Auto!



Missile::LaunchAimPlayer(targetid,type,Float:detection_range,Float:explode_radius,Float:speed,Float:x,Float:y,Float:z,worldid,interiorid,playerid,Float:streamdistance,missile_object,Float:tx,Float:ty,Float:tz,byplayerid=INVALID_PLAYER_ID,teamid=ANY_TEAM,Float:damage=-1.0,Float:vehicle_damage=-1.0);



Missile::StopAimPlayer(mobid);

Missile::Destroy(mobid,type,playerid);

Missile::RemoteTarget(mobid,Float:tx,Float:ty,Float:tz,Float:speed = 0.0);

Missile::GetExplodeVisibility();

Missile::SetExplodeVisibility(Float:explode_stream);

Missile::DisableAllAim(playerid);



Misile::GetObject(mobid);

Misile::GetArea(mobid);

Misile::GetType(mobid);

Misile::GetExplode(mobid);

Misile::GetPlayer(mobid);

Misile::GetTeamID(mobid);

Misile::GetVehicle(mobid);

Misile::GetRemoteCount(mobid);

Misile::GetRemoteID(mobid);

Misile::GetSpeed(mobid);

Misile::GetTargetID(mobid);

Misile::GetDamage(mobid);

Misile::GetVehicleDamage(mobid);



Callbacks:

Code:
OnMissileDestroy(mobid,Float:x,Float:y,Float:z,type,killerid,byplayerid);



types:

MISSILE_DESTROY_TYPE_TARGET? //When rocket reaches its destination (always killerid=INVALID_PLAYER_ID)

MISSILE_DESTROY_TYPE_DETECT? //When rocket has been destroyed by detection range

MISSILE_DESTROY_TYPE_KILL? ? //When rocket has been destroyed by player



OnMissileDetectPlayer(playerid,killerid); //called when a player is within range of detection range



OnMissileRequestLaunch(Float:x,Float:y,Float:z,playerid,targetid);



Example Code:

Code:
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ){

if(weaponid == 34){

new Float:x, Float:y, Float:z,

Float:tx, Float:ty, Float:tz,

Float:rx, Float:rz,

vw, int, Float:dist;



GetPlayerPos(playerid,x,y,z);

GetRotationFor2Point3D(x,y,z,fX,fY,fZ,rx,rz);



dist = GetDistanceBetweenPoints3D(x,y,z,fX,fY,fZ);

vw = GetPlayerVirtualWorld(playerid);

int = GetPlayerInterior(playerid);



GetPointInFront3D(x,y,z,rx,rz,4.0,tx,ty,tz);

Missile::Launch(MISSILE_TYPE_EXPLODE_HUGE,4.0,25.0,35.0,tx,ty,tz,vw,int,-1,300.0,MISSILE_OBJECT_HYDRA,fX,fY,fZ,playerid,.damage=100.0,.vehicle_damage=1000.0);



GetPointInFront3D(x,y,z,rx,rz,3.0,tx,ty,tz);

Missile::Launch(MISSILE_TYPE_EXPLODE_HUGE,4.0,25.0,35.0,tx,ty,tz.0,vw,int,-1,300.0,MISSILE_OBJECT_HYDRA,fX,fY,fZ.0,playerid,.damage=100.0,.vehicle_damage=1000.0);

Missile::Launch(MISSILE_TYPE_EXPLODE_HUGE,4.0,25.0,35.0,tx,ty,tz-3.0,vw,int,-1,300.0,MISSILE_OBJECT_HYDRA,fX,fY,fZ-3.0,playerid,.damage=100.0,.vehicle_damage=1000.0);



GetPointInFront3D(tx,ty,tz,rx,rz.0,3.0,x,y,z);

GetPointInFront3D(x,y,z,rx,rz,dist,fX,fY,fZ);

Missile::Launch(MISSILE_TYPE_EXPLODE_HUGE,4.0,25.0,35.0,x,y,z,vw,int,-1,300.0,MISSILE_OBJECT_HYDRA,fX,fY,fZ,playerid,.damage=100.0,.vehicle_damage=1000.0);

GetPointInFront3D(tx,ty,tz,rx,rz-90.0,3.0,x,y,z);

GetPointInFront3D(x,y,z,rx,rz,dist,fX,fY,fZ);

Missile::Launch(MISSILE_TYPE_EXPLODE_HUGE,4.0,25.0,35.0,x,y,z,vw,int,-1,300.0,MISSILE_OBJECT_HYDRA,fX,fY,fZ,playerid,.damage=100.0,.vehicle_damage=1000.0);



}

return 1;

}



Bullet example:

Code:
Missile::Launch(MISSILE_TYPE_EXPLODE_NONE,1.0,1.0,20.0,Float:x,Float:y,Float:z,worldid,interiorid,playerid,Float:streamdistance,MISSILE_OBJECT_BULLET,Float:tx,Float:ty,Float:tz,byplayerid=INVALID_PLAYER_ID,teamid=ANY_TEAM,.damage=5.0,.vehicle_damage=25.0);



How to check is player kill by missile (this is not required if you using custom missile damage):

Code:
enums:

last_missile_shot

last_missile_player



public OnMissileDestroy(mobid,Float:x,Float:y,Float:z,type,killerid,byplayerid){

if(type == MISSILE_DESTROY_TYPE_DETECT && killerid != INVALID_PLAYER_ID){

PlayerInfo[killerid][last_missile_shot] = GetTickCount();

PlayerInfo[killerid][last_missile_player] = byplayerid;

}

return 1;

}



public OnMissileDetectPlayer(playerid,killerid){

if(killerid != INVALID_PLAYER_ID){

PlayerInfo[playerid][last_missile_shot] = GetTickCount();

PlayerInfo[playerid][last_missile_player] = killerid;

}

? ? return 1;

}



public OnPlayerDeath(playerid, killerid, reason){

if(PlayerInfo[playerid][last_missile_player] != INVALID_PLAYER_ID && reason > 46 && playerid != killerid){

if(GetTickCount()-PlayerInfo[playerid][last_missile_shot] < 2000){

killerid = PlayerInfo[playerid][last_missile_player];

reason = 51;

}

}



//your code

return 1;

}



Download:

Missile.inc

3DTryg.inc

ColAndreas Plugin


  Hunting System
Posted by: AbyssMorgan - 2021-04-18, 12:54 PM - Forum: Filterscripts - Replies (1)

Hello, I would like to present you the Hunting System.



Video:

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



Functions:

Code:
Hunting::Create(type,Float:x,Float:y,Float:z,Float:health,respawntime,worldid=-1,interiorid=-1,playerid=-1,Float:streamdistance=200.0,moving_area = 0);

Hunting::Destroy(mobid);

Hunting::Respawn(mobid);

Hunting::ForceRespawn(mobid,Float:x,Float:y,Float:z);

Hunting::Kill(mobid,playerid=INVALID_PLAYER_ID);

Hunting::Stop(mobid,delay=-1);

Hunting::GoTo(mobid,Float:x,Float:y,bool:disable_moving=false);

Hunting::GetDrop(mobid);

Hunting::SetDrop(mobid,drop);

Hunting::GetPos(mobid,Float:x,Float:y,Float:z);

Hunting::SetPos(mobid,Float:x,Float:y,Float:z,bool:disable_moving=false);

Hunting::GetScaredRange(mobid);

Hunting::SetScaredRange(mobid,Float:range);

Hunting::GetHealth(mobid);

Hunting::SetHealth(mobid,Float:health);

Hunting::GetSpawnHealth(mobid);

Hunting::SetSpawnHealth(mobid,Float:health);

Hunting::GetRespawnTime(mobid);

Hunting::SetRespawnTime(mobid,respawntime);

Hunting::GetSpawn(mobid,&Float:x,&Float:y,&Float:z);

Hunting::SetSpawn(mobid,Float:x,Float:y,Float:z);

Hunting::GetInterior(mobid);

Hunting::SetInterior(mobid,interiorid);

Hunting::GetVirtualWorld(mobid);

Hunting::SetVirtualWorld(mobid,worldid);

Hunting::GetSpeed(mobid);

Hunting::SetSpeed(mobid,Float:speed);

Hunting::GetPressTime(mobid);

Hunting::SetPressTime(mobid,miliseconds);

Hunting::GetFacingAngle(mobid);

Hunting::SetCalmTime(mobid,time=0);

Hunting::IsPlayerInRange(playerid,mobid,Float:range);

Hunting::IsToggledMoving(mobid);

Hunting::ToggleMoving(mobid,toggle);

Hunting::IsValid(mobid);

Hunting::IsSpawned(mobid);

Hunting::IsDead(mobid);

Hunting::IsScared(mobid);

Hunting::IsStopped(mobid);

Hunting::IsMoving(mobid);



Extended Functions:

Code:
Hunting::Count();

Hunting::GetKey();

Hunting::SetKey(key);

Hunting::GetFreeID();

Hunting::GetActiveMob(playerid,mob_state);



Callbacks:

Code:
OnPlayerTakeHuntDrop(playerid,mobid,drop);

OnPlayerKillHuntAnimal(playerid,mobid);

OnPlayerApproachingAnimal(playerid,mobid,mob_state);

OnPlayerExitApproachingAnimal(playerid,mobid,mob_state);

OnAnimalTakeDamage(mobid,playerid,Float:amount,weaponid);

OnHuntAnimalRespawn(mobid);

OnAnimalScareStateChanged(mobid,playerid,isscared);

OnPlayerHuntDropStateChange(playerid,mobid,drop_state); //only called if press time > 0



Definitions:

Code:
//Config

MAX_HUNTING_ANIMALS? ? //default is 100 allowed to redefine

HUNTING_UPDATE_INTERVAL //default is 500 allowed to redefine



//Animal types

HUNTING_TYPE_COW

HUNTING_TYPE_DEER



//Animal state

HUNTING_STATE_DESTROYED //animal not exist

HUNTING_STATE_SPAWNED? //animal is spawned

HUNTING_STATE_DEAD? ? ? //animal is dead



//Drop State

HUNTING_DROP_STATE_FINISH

HUNTING_DROP_STATE_START

HUNTING_DROP_STATE_INTERRUPT



//Other

INVALID_HUNTING_ID

HUNTING_NO_AUTO_RESPAWN //disable auto respawn (respawntime param)



Example Pawn Code:

Code:
#include <a_samp>

#include <streamer>

#include <ColAndreas>

#include <3DTryg>

#include <Hunting>



public OnFilterScriptInit(){



new my_zone = CreateDynamicRectangle(-100.0,-100.0,100.0,100.0);

for(new i = 0; i < 5; i){

Hunting::Create(HUNTING_TYPE_COW,0.0,0.0,3.0,55.0,30,.moving_area=my_zone);



Hunting::Create(HUNTING_TYPE_DEER,5.0,0.0,3.0,55.0,30,.moving_area=my_zone);

}



return 1;

}



public OnPlayerTakeHuntDrop(playerid,mobid,drop){



if(drop){

SendClientMessage(playerid,-1,"You received $2500");

GivePlayerMoney(playerid,2500);

}

return 0; //set drop flag 0

}



public OnPlayerKillHuntAnimal(playerid,mobid){



SendClientMessage(playerid,-1,"Animal has been killed !");



return 1;

}



public OnPlayerApproachingAnimal(playerid,mobid,mob_state){



if(mob_state == HUNTING_STATE_DEAD){

SendClientMessage(playerid,-1,"Press Y to raise prize.");

}



return 1;

}



public OnPlayerExitApproachingAnimal(playerid,mobid,mob_state){



return 1;

}



public OnAnimalTakeDamage(mobid,playerid,Float:amount,weaponid){



if(weaponid != 34) return 0; //sniper only :D



return 1;

}



public OnHuntAnimalRespawn(mobid){



return 1;

}



public OnAnimalScareStateChanged(mobid,playerid,isscared){



return 1;

}



//only called if press time > 0

public OnPlayerHuntDropStateChange(playerid,mobid,drop_state){

switch(drop_state){

case HUNTING_DROP_STATE_FINISH: {

//your code

}

case HUNTING_DROP_STATE_START: {

//your code

}

case HUNTING_DROP_STATE_INTERRUPT: {

//your code

}

}

return 1;

}



Download:

Hunting.inc

3DTryg.inc

ColAndreas Plugin



Notice:

Filterscript not exist because filterscripts have limits.

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