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

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,034
» Latest member: HELLHOUND
» Forum threads: 2,346
» Forum posts: 12,233

Full Statistics

Online Users
There are currently 155 online users.
» 1 Member(s) | 152 Guest(s)
Google, Bing, HELLHOUND

Latest Threads
will open.mp supports hig...
Forum: Questions and Suggestions
Last Post: HELLHOUND
2 minutes ago
» Replies: 1
» Views: 379
Discord server - Ban Appe...
Forum: Chat
Last Post: joshcoconutard
Yesterday, 06:42 PM
» Replies: 0
» Views: 24
I know Kalcor left the bu...
Forum: Questions and Suggestions
Last Post: NoxxeR
Yesterday, 02:22 PM
» Replies: 4
» Views: 125
Sponsors and Donations
Forum: Questions and Suggestions
Last Post: NoxxeR
2025-04-20, 05:48 AM
» Replies: 0
» Views: 45
Best practices for conver...
Forum: Tech
Last Post: Mido
2025-04-19, 09:53 PM
» Replies: 1
» Views: 107
What got you into SA-MP a...
Forum: Chat
Last Post: alecnia
2025-04-17, 01:17 AM
» Replies: 1
» Views: 165
I would like to know abou...
Forum: General Discussions
Last Post: Wriney
2025-04-15, 07:14 AM
» Replies: 0
» Views: 75
Mini Games
Forum: Advertisements
Last Post: Voldy
2025-04-15, 03:59 AM
» Replies: 9
» Views: 1,924
help
Forum: Programming
Last Post: J0nathan550
2025-04-14, 06:10 PM
» Replies: 1
» Views: 184
help with hotdog vendor s...
Forum: Programming
Last Post: J0nathan550
2025-04-14, 06:09 PM
» Replies: 4
» Views: 347

 
  vnpc (Visible FCNPC HP Bar)
Posted by: AbyssMorgan - 2021-04-18, 12:02 PM - Forum: Libraries - Replies (6)

This include allowing to enable/disable FCNPC HP Nick Bars



Screen:

https://i.imgur.com/BEyhX5d.png



Functions:

Code:
ShowNPCInTabList(npcid);

HideNPCInTabList(npcid);



Issues:

- Sometimes, npc need respawn after visible toggling.



Notice:

- This function don't display an NPC on player list in SA:MP application.



Download:

vnpc.inc


  #hashtag
Posted by: AbyssMorgan - 2021-04-18, 12:00 PM - Forum: Libraries - Replies (1)

Include contain function for chat #hashtag system



Code:
hashtag.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: None



Website: https://adm.ct8.pl



Plugins: SScanf

Modules: RGB



File Version: 1.2.1



Functions:

GetHashTag(playerid,text[],hashtag_color=0xCC0000FF,back_color=0xFFFFFFFF,max_len=sizeof(text));

GetAllowedHashTag();

SetAllowedHashTag(number);

HashTag::name(playerid);



Callbacks:

OnHashTagPresented(hashtag[]);



Example:

Code:
//I want #suicide now :D

HashTag::suicide(playerid){

    SetPlayerHealth(playerid,0.0);

    return 1;

}



HashTag::banned(playerid){

    PlayAudioStreamForPlayer(playerid,"example.com");

    return 1;

}



public OnPlayerText(playerid,text[]){

    GetHashTag(playerid,text,0xCC0000FF,0x00AA00FF,2048); //back_color the same as first chat color

    SendClientMessageToAll(0x00AA00FF,text);

    return 0;

}



Download:

hashtag.inc

RGB.inc

DataConvert.inc


  BitFunctions
Posted by: AbyssMorgan - 2021-04-18, 11:54 AM - Forum: Libraries - No Replies

Include contains functions for manipulating bits / cells.



Code:
BitFunctions.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.



Website: https://adm.ct8.pl



Plugins: None

Modules: None



File Version: 1.8.0



bit 0 - 31:

(bit 31) --> 11111111000000001111010001010000 <-- (bit 0)



Example cell mode:

Mode 2 (cell id 15) --> 11 11 11 11 00 00 00 00 11 11 01 00 01 01 00 00 <-- (cell id 0)

Mode 4 (cell id 7) --> 1111 1111 0000 0000 1111 0100 0101 0000 <-- (cell id 0)

Mode 8 (cell id 3) --> 11111111 00000000 11110100 01010000 <-- (cell id 0)

Mode 16 (cell id 1) --> 1111111100000000 1111010001010000 <-- (cell id 0)



General Macros:

GetValueBit(value,bit);

SetValueBit(&value,bit,power);? //power 0 or 1

SetValueBitTrue(&value,bit);

SetValueBitFalse(&value,bit);

GetCellValue(value,cellid,mode);

SetCellValue(&value,cellid,mode,power);

GetCellValueEx(value,offset,cellsize);

SetCellValueEx(&value,offset,cellsize,power);

InvertValue(value);

InvertValueEx(value,key); //default key 0xFFFFFFFF

bool:CheckValue(value,&count=0); //even - false,uneven - true



File Byte Macros:

ExtractValue(value,&byte1,&byte2,&byte3,&byte4);

ExtractFloat(Float:value,&byte1,&byte2,&byte3,&byte4);

MergeValue(&value,byte1,byte2,byte3,byte4);

MergeFloat(&Float:value,byte1,byte2,byte3,byte4);

MergeValueEx(byte1,byte2,byte3,byte4);

Float:MergeFloatEx(byte1,byte2,byte3,byte4);



Dynamic Toggle Config Macros:

GetConfigAddress(itemid);

GetConfigBit(itemid);

GetConfigSize(max_items);

IsToggleConfigInformation(variable,itemid);

ToggleConfigInformation(variable,itemid,value); //values: 1/0



Download:

BitFunctions.inc



Example:

Code:
new ExampleConfig[GetConfigSize(MAX_PLAYERS)];

//get:

IsToggleConfigInformation(ExampleConfig,playerid);

//set:

ToggleConfigInformation(ExampleConfig,playerid,1);



Value Extract/Merge:

Code:
new val = 0x89ABCDEF;

new a, b, c, d;

ExtractValue(val,a,b,c,d);

printf("%x %x %x %x",a,b,c,d); //prints 89 AB CD EF

new tmp = 0;

MergeValue(tmp,a,b,c,d);

printf("%x",tmp); //prints 89ABCDEF


  LY (Unsigned Long)
Posted by: AbyssMorgan - 2021-04-18, 11:52 AM - Forum: Libraries - No Replies

Hello, I would like to present the function to use the "unsigned long", or at least to increase the limit of numbers to

2 147 483 647 000 000 000



Code:
LY.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.



Website: https://adm.ct8.pl



Plugins: None

Modules: None



File Version: 1.6.1



Pawn Unsigned Long for 32 Bit language (precision 61-bit)

Available limit:

0 - 2 147 483 647 000 000 000

0 - 2 000 000 000 000 000 000



Functions:

IsValueContainLY(prefix,suffix,value);

GetLYString(prefix,suffix,string[],maxdest = sizeof(string));

LYStringToLY(&prefix,&suffix,const string[]); //Reverse to GetLYString

UpdateLY(&prefix,&suffix,value,limitprefix = DEFAULT_MAX_LY_PREFIX);

AddSeparatorLY(string[],const separator[]);

DeleteSeparatorLY(const string[],const separator[]);

CalculatePercentLY(&prefix,&suffix,Float:percent = 0.0,increase = true,limitprefix = DEFAULT_MAX_LY_PREFIX);

GetPercentLY(prefix,suffix,&o_prefix,&o_suffix,Float:percent = 0.0,limitprefix = DEFAULT_MAX_LY_PREFIX);



Operators:

IsLYEqual(prefix,suffix,from_prefix,from_suffix);

IsLYSmallerThan(prefix,suffix,from_prefix,from_suffix);

IsLYSmallerThanOrEqual(prefix,suffix,from_prefix,from_suffix);

IsLYBiggerThan(prefix,suffix,from_prefix,from_suffix);

IsLYBiggerThanOrEqual(prefix,suffix,from_prefix,from_suffix);



Example for bank system:

Code:
pVar[playerid][pMoney] - your variable suffix

pVar[playerid][pMoneyLY] - your variable prefix

//adding money to the bank

UpdateLY(pVar[playerid][pMoneyLY], pVar[playerid][pMoney], amount); //<-- set your amount

GivePlayerMoney(playerid,-amount);

//the payment from the bank

if(IsValueContainLY(pVar[playerid][pMoneyLY], pVar[playerid][pMoney], amount)){ //<-- set your amount

? ? UpdateLY(pVar[playerid][pMoneyLY], pVar[playerid][pMoney], -amount);

? ? GivePlayerMoney(playerid,amount);

} else {

? ? //you do not have enough money

}

//The amount of money in bank

new mymoney[LY_STRING_LEN], buffer[128];

GetLYString(pVar[playerid][pMoneyLY], pVar[playerid][pMoney], mymoney);

format(buffer,sizeof buffer,"You money in bank: %s",mymoney);

SendClientMessage(playerid,-1,buffer);?



Download:

LY.inc


  @mentiones
Posted by: AbyssMorgan - 2021-04-18, 08:02 AM - Forum: Libraries - Replies (4)

Include contain function for chat @mentiones system



Code:
mentiones.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: None



Website: https://adm.ct8.pl



Plugins: SScanf

Modules: RGB, DataConvert



File Version: 1.3.1



Functions:

GetMentiones(playerid,text[],mention_color=0xCC0000FF,back_color=0xFFFFFFFF,max_len=sizeof(text));

GetAllowedMentions();

SetAllowedMentions(number);



Callbacks:

OnPlayerMentioned(playerid,targetid);



Example:

Code:
public OnPlayerMentioned(playerid,targetid){

    //create your own notice with TextDraw/sound

    return 1;

}



public OnPlayerText(playerid,text[]){

    new chat_text[2048], p_name[MAX_PLAYER_NAME];

    GetPlayerName(playerid,p_name,MAX_PLAYER_NAME);

    format(chat_text,sizeof(chat_text),"%s: %s",p_name,text);

    GetMentiones(playerid,chat_text,0xCC0000FF,0x00AA00FF,2048); //back_color the same as first chat color

    SendClientMessageToAll(0x00AA00FF,chat_text);

    return 0;

}

//Hi @Johny and @Alena how are you ?

//Two existing players got notice and nick color has been changed to 0xCC0000FF



Screenshot:

https://i.imgur.com/dhkbMWV.png



Download:

mentiones.inc

RGB.inc

DataConvert.inc


  RGB
Posted by: AbyssMorgan - 2021-04-18, 08:01 AM - Forum: Libraries - No Replies

Include contain functions for color conversion



Code:
RGB.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.



Website: https://adm.ct8.pl



Plugins: None

Modules: None



File Version: 2.5.0



Functions:

RGB::RGBAToHex(color,&red,&green,&blue,&alpha);

RGB::RGBToHex(color,&red,&green,&blue);

RGB::HexToRGBA(red,green,blue,alpha);

RGB::HexToARGB(red,green,blue,alpha);

RGB::HexToRGB(red,green,blue);

RGB::RGBAToRGB(color);

RGB::RGBToRGBA(color,alpha);

RGB::RGBToARGB(color,alpha);

RGB::ARGBToRGB(color);

RGB::RGBAToARGB(color);

RGB::ARGBToRGBA(color);

RGB::GetRFromRGBA(color);? ? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF R:0xFA000000

RGB::GetGFromRGBA(color);? ? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF G:0x00B00000

RGB::GetBFromRGBA(color);? ? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF B:0x0000A000

RGB::GetAFromRGBA(color);? ? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF A:0x000000FF

RGB::GetRHexFromRGBA(color);? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF R:0xFA

RGB::GetGHexFromRGBA(color);? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF G:0xB0

RGB::GetBHexFromRGBA(color);? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF B:0xA0

RGB::GetAHexFromRGBA(color);? ? ? ? ? ? ? ? ? ? //RGBA:0xFAB0A0FF A:0xFF

RGB::GetColorRGBA(color);? ? ? ? ? ? ? ? ? ? ? //Return {RGB}

RGB::GetColorRGB(color);? ? ? ? ? ? ? ? ? ? ? ? //Return {RGB}

RGB::GetColorARGB(color);? ? ? ? ? ? ? ? ? ? ? //Return {RGB}

RGB::AdjustColorLuminance(color,Float:adjust);



Download:

RGB.inc



Example 1:

Code:
new col = RGB::RGBAToARGB(0xFF6600FF); //return 0xFFFF6600;



Example 2:

Code:
new red, green, blue, alpha;

RGB::RGBAToHex(0xFF6600AA,red,green,blue,alpha); //return red = 0xFF; green = 0x66; blue = 0x00; alpha = 0xAA;



Example 3:

Code:
new r = RGB::GetRHexFromRGBA(0xFF6600AA); //return 0xFF;



Example 4:

Code:
new r = RGB::GetRFromRGBA(0xFF6600AA); //return 0xFF000000;


  DataConvert
Posted by: AbyssMorgan - 2021-04-18, 07:49 AM - Forum: Libraries - Replies (2)

Hello, I would like to present a simple include to convert numbers between systems, decimal, hexadecimal, binary, octal.



Code:
DataConvert.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: Crayder, Shiny



Website: https://adm.ct8.pl



Plugins: SScanf

Modules: None



File Version: 2.2.0

SScanf Version: 2.8.2



Definitions:

FIRST_FILE_ADDRESS

INVALID_FILE_ID

INVALID_FILE_HANDLE

INT_NUMBER_LEN

HEX_NUMBER_LEN

BIN_NUMBER_LEN

OCT_NUMBER_LEN



Functions:

strcopy(const input[],output[]);  //string copy for warning 224: indeterminate array size

fstrcopy(const input[],output[],maxdest = sizeof(output));   //fast string copy

ABCToCBA(const input[],output[]);

AnyToInt(string[],type,&bool:flag);

IntToAny(value,output[],type);

rot13(string[]);

code128(const input[],output[]);

swap_int({Float,_}:int1,{Float,_}:int2);

swap_string(string1[], string2[], dest1 = sizeof(string1), dest2 = sizeof(string2));

ContainInSeries(value,...);

ContainInSeriesFloat(Float:value,Float:...);

StringEqual(string1[],string2[],ignorecase);

StringNotEqual(string1[],string2[],ignorecase);

base64_decode(const input[],output[]); //d:base64

base64_encode(const input[],output[]); //e:base64

StripNewLine(string[]);

strreplace(string[],const search[],const replacement[],bool:ignorecase = false,pos = 0,limit = -1,maxlength = sizeof(string));

strlower(string[]);

strupper(string[]);

DataConvert::InvertString(const input[], output[], maxdest = sizeof(output));

DataConvert::StringToHexString(const input[], output[], maxdest = sizeof(output));

DataConvert::HexStringToString(const input[], output[], maxdest = sizeof(output));



File functions:

GetFileHandleID(File:handle);

GetFileID(File:handle);

fcopy(const input[],output[]);

frename(oldname[],newname[]);

DataConvert::FileCreate(const name[]);

DataConvert::MergeFile(const first_file[],const second_file[],bool:erase_second=false);

DataConvert::MergeFileGroup(const group_name[],const output[],upperbound_index,bool:erase_input=false);

DataConvert::SplitFile(const input[],const output[],max_size,&upperbound_index=0);



Validators:

IsDecimalNumber(const string[]);

IsHexNumber(const string[]);

IsBinaryNumber(const string[]);

IsOctalNumber(const string[]);

IsFloatNumber(const string[]);



Convert to Bool:

StringToBool(const string[]);

IntToBool(value);



Convert to Int:

StringToInt(const string[]);

BoolToInt(bool:boolean);

HexToInt(const string[]);

BinToInt(const string[]);

OctToInt(const string[]);



Convert to Hex:

IntToHex(value);

IntToHexEx(value);

BinToHex(const string[]);

BinToHexEx(const string[]);

OctToHex(const string[]);



Convert to Bin:

IntToBin(value);

HexToBin(const string[]);

OctToBin(const string[]);



Convert to Oct:

IntToOct(value);

HexToOct(const string[]);

BinToOct(const string[]);



Binary Data Convert:

FloatToInt(Float:value); //Convert Float binary data to Integer binary data !

IntToFloat(value); //Convert Integer binary data to Float binary data !



Examples:

Code:
new File:edi = fopen("test.txt",io_readwrite);

new id = GetFileID(edi); //returns the number of open file: 1, 2, 3, 4, ...



new a = BinToInt("1010"); //return 10



new hex[10];

hex = IntToHex(15); //return 00000F

hex = IntToHexEx(15); //return F



new g = 15, Float:h = 15.0;

if(IsIdentical(g,h)){ //This operator can only be used on variables

    printf("YES");

} else {

    printf("NO"); //<-- print this

}



new buf[128];

ABCToCBA("Hello",buf);

printf(buf); //print: olleH



new v1 = 15, v2 = 19;

swap_int(v1,v2); //swapvars by Crayder

//after operation: v1 = 19, v2 = 15



new test = FloatToInt(25666.000000); //return 1187546112



new Float:test2 = IntToFloat(1084227584); //return 5.0



//http://www.rot13.com

new rot[64];

rot = rot13("San Andreas Multiplayer"); //return "Fna Naqernf Zhygvcynlre"



//ContainInSeries(Float)



new myvalue = 431;

    

//if(myvalue == 425 || myvalue == 430 || myvalue == 432 || myvalue == 447 || myvalue == 464 || myvalue == 476 || myvalue == 520)

if(ContainInSeries(myvalue,425,430,432,447,464,476,520)){ //millitary vehicles

    printf("#1 YES");

} else {

    printf("#1 NO"); //<-- print this

}



//if(myvalue != 425 && myvalue != 430 && myvalue != 432 && myvalue != 447 && myvalue != 464 && myvalue != 476 && myvalue != 520)

if(!ContainInSeries(myvalue,425,430,432,447,464,476,520)){

    printf("#2 YES"); //<-- print this

} else {

    printf("#2 NO");

}



new Float:myfloatvalue = 15.0;

if(ContainInSeriesFloat(myfloatvalue,12.0,1.0)){

    printf("#3 YES");

} else {

    printf("#3 NO"); //<-- print this

}



Download:

DataConvert.inc


  EVF
Posted by: AbyssMorgan - 2021-04-18, 07:41 AM - Forum: Libraries - Replies (1)

Include contains additional functions for vehicles.



New Extended Vehicle Functions (EVF V3)

Simple functions for GetVehicleDamageStatus, UpdateVehicleDamageStatus and more.



Code:
EVF.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: Emmet_, Pottus, kvann, Hanger, Freaksken, Gammix, Yashas, Admigo, RIDE2DAY, Unrea1, Katarina Calzaghe



Website: https://adm.ct8.pl



Plugins: Streamer

Modules: None



File Version: 3.3.3

Streamer Version: 2.9.4



Functions:

IsValidVehicleModelID(modelid);

GetVehiclePanels(vehicleid,&front_left,&front_right,&rear_left,&rear_right,&windshield,&front_bumper,&rear_bumper);

SetVehiclePanels(vehicleid,front_left,front_right,rear_left,rear_right,windshield,front_bumper,rear_bumper);

GetVehicleLights(vehicleid,&front_left_light,&front_right_light,&back_lights);

SetVehicleLights(vehicleid,front_left_light,front_right_light,back_lights);

GetVehicleDoors(vehicleid,&bonnet,&boot,&driver_door,&passenger_door);

SetVehicleDoors(vehicleid,bonnet,boot,driver_door,passenger_door);

GetVehicleTires(vehicleid,&front_left,&front_right,&rear_left,&rear_right);

SetVehicleTires(vehicleid,front_left,front_right,rear_left,rear_right);

GetVehicleWindowState(vehicleid,doorid);

SetVehicleWindowState(vehicleid,doorid,window_state);

GetVehicleDoorState(vehicleid,doorid);

SetVehicleDoorState(vehicleid,doorid,door_state);

IsValidVehicleDoor(vehicleid,doorid);

GetVehicleModelDoorAmount(modelid);

GetVehicleDoorAmount(vehicleid);

SwitchVehicleEngine(vehicleid,bool:engine_status);

SwitchVehicleLight(vehicleid,bool:light_status);

SwitchVehicleAlarm(vehicleid,bool:alarm_status);

SwitchVehicleDoors(vehicleid,bool:doors_status);

SwitchVehicleBonnet(vehicleid,bool:bonnet_status);

SwitchVehicleBoot(vehicleid,bool:boot_status);

SwitchVehicleObjective(vehicleid,bool:objective_status);

GetVehicleParams(vehicleid,type);

SetVehicleParams(vehicleid,type,status,delay = 0);

GetVehicleRandomColors(modelid,&color1,&color2);

GetNearestVehicleToPos(Float:x,Float:y,Float:z,worldid=-1,interiorid=-1,Float:maxdist=0.0,bool:fast=true,except_vid=0);

GetNearestVehicleToPlayer(playerid,Float:maxdist=0.0,bool:fast=false);

GetVehicleDriver(vehicleid);

Float:GetVehicleModelTopSpeed(modelid);

Float:GetVehicleTopSpeed(vehicleid);

SetVehicleInterior(vehicleid,interiorid);

GetVehicleSeats(vehicleid);

GetVehicleModelSeats(modelid);

IsVehicleSeatOccupied(vehicleid,seatid);

IsValidVehicle(vehicleid);

RemoveVehiclePaintjob(vehicleid);

SetVehicleHorn(vehicleid,soundid);

GetVehicleHorn(vehicleid);

RestoreVehicleHorn(vehicleid);

GetVehicleBomb(vehicleid);

IsVehicleBombed(vehicleid);

RemoveVehicleBomb(vehicleid);

SetVehicleBomb(vehicleid,time = 1000);

IsVehicleBombActivated(vehicleid);

Float:EVF::GetVehicleSpeed(vehicleid);

SetVehicleSpeedCap(vehicleid,Float:maxspeed);

Float:GetVehicleSpeedCap(vehicleid);

DisableVehicleSpeedCap(vehicleid);

SetVehicleFuel(vehicleid,fuel);

GetVehicleFuel(vehicleid);

ToggleVehicleFuel(vehicleid,bool:toggle);

IsVehicleFuelToggled(vehicleid);

ToggleVehicleSticky(vehicleid,bool:toggle);

IsVehicleSticky(vehicleid);

ToggleUnoccupiedVehicleDamage(vehicleid,bool:toggle);

IsUnoccupiedDamageToggled(vehicleid);

IsVehicleDamageToggled(vehicleid,type);

ToggleVehicleDamageUpdate(vehicleid,type,toggle);

GetVehicleNextSeat(vehicleid,passenger = 1);

TeleportVehicle(vehicleid,Float:x,Float:y,Float:z,Float:angle,worldid = -1,interiorid = -1);

GetVehicleSlotAttachedObject(vehicleid,slot);

IsObjectAttachedToVehicle(objectid,vehicleid);

EVF::UpdateVehicleDamage(vehicleid,type);

EVF::UpdateVehicleDamageStatus(vehicleid,type,update);

EVF::GetVehicleDamageStatus(vehicleid,type);

SetVehicleNeonLights(vehicleid,bool:enable = true,color = RED_NEON,slotid = 0);

VehicleSupportsNeonLights(modelid);

GetVehicleNeonLightsState(vehicleid,slotid = 0);

IsToggledVehicleBulletproof(vehicleid);

ToggleVehicleBulletproof(vehicleid,bool:toggle);

GetComponentName(componentid,name[],len = sizeof(name));

GetComponentTypeName(component);

EVF::IsPlayerInModShop(playerid);

IsValidComponentForVehicle(vehicleid,componentid);

GetVehicleComponentPrice(componentid);

GetVehicleName(vehicleid);

GetVehicleModelName(modelid);

EVF::IsTrailer(vehicleid);

EVF::IsCarBlinking(vehicleid);

EVF::DisableCarBlinking(vehicleid);

EVF::SetCarBlinking(vehicleid,side,bool:skip=false);

EVF::ToggleVehicleBlinking(bool:toggle);

EVF::IsToggledVehicleBlinking();



Remote functions:

EVF_ImportVehicle(vehicleid,modelid,Float:x,Float:y,Float:z,Float:angle,color1,color2,worldid,interiorid,unoccupied_damage);

EVF_RemoveVehicle(vehicleid);



Compatible with YSF Functions:

GetVehicleColor(vehicleid,&color1,&color2);

GetVehiclePaintjob(vehicleid);

GetVehicleInterior(vehicleid);

EVF::GetVehicleSpawnInfo(vehicleid,&Float:x,&Float:y,&Float:z,&Float:rotation,&worldid,&interiorid);

EVF::SetVehicleSpawnInfo(vehicleid,Float:x,Float:y,Float:z,Float:rotation,worldid,interiorid);

IsVehicleOccupied(vehicleid);



Callbacks:

OnVehicleCreated(vehicleid);? ? ? ? ? ? ? ? ? ? ? //Called when a vehicle is created.

OnVehicleDestroyed(vehicleid);? ? ? ? ? ? ? ? ? ? //Called when a vehicle is deleted.

OnTrailerHooked(playerid,vehicleid,trailerid);? ? //Called when a trailer is hooked.

OnTrailerUnhooked(playerid,vehicleid,trailerid);? //Called when a trailer is unhooked.

OnPlayerShotVehicle(playerid,vehicleid,weaponid,Float:amount,EVF::VehicleBodyPart:bodypart);

OnVehiclePosChange(vehicleid,Float:newx,Float:newy,Float:newz,Float:newangle,Float:oldx,Float:oldy,Float:oldz,Float:oldangle);

OnVehicleVelocityChange(vehicleid,Float:newx,Float:newy,Float:newz,Float:oldx,Float:oldy,Float:oldz);

OnVehicleHealthChange(vehicleid,Float:newhealth,Float:oldhealth);

OnVehicleFuelChange(vehicleid,newfuel,oldfuel);

OnVehicleBombDeactivate(vehicleid);

OnVehicleBombExplode(vehicleid);

OnPlayerEditVehicle(playerid,vehicleid,response,Float:fX,Float:fY,Float:fZ,Float:fRotZ);

OnPlayerEditVehicleObject(playerid,vehicleid,response,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz);

OnPlayerReachSpeedCapLimit(playerid,vehicleid,Float:speed);

OnVehicleBombActivate(vehicleid);

OnVehicleModEx(playerid,vehicleid,componentid,price,illegal);



Definitions:

INVALID_SEAT_ID

INVALID_PAINTJOB_ID

VEHICLE_UPDATE_INTERVAL

MAX_VEHICLE_ATTACHED_OBJECTS

RESET_PAINTJOB_ID

MAX_VEHICLE_PARAMS

MAX_VEHICLE_MODELS

DEFAULT_VEHICLE_FUEL

VEHICLE_SPEED_MULTIPLIER

MULTIPLIER_FUEL_SYSTEM



BONNET_HEALTHY_CLOSED

BONNET_HEALTHY_OPENED

BONNET_DAMAGED_CLOSED

BONNET_DAMAGED_OPENED

BONNET_MISSING



BOOT_HEALTHY_CLOSED

BOOT_HEALTHY_OPENED

BOOT_DAMAGED_CLOSED

BOOT_DAMAGED_OPENED

BOOT_MISSING



DOOR_HEALTHY_CLOSED

DOOR_HEALTHY_OPENED

DOOR_DAMAGED_CLOSED

DOOR_DAMAGED_OPENED

DOOR_MISSING



BUMPER_HEALTHY

BUMPER_CRUSHED

BUMPER_HANGING

BUMPER_MISSING



WINDSHIELD_HEALTHY

WINDSHIELD_DAMAGED

WINDSHIELD_MISSING



LIGHT_ENABLE

LIGHT_DISABLE



TIRE_HEALTHY

TIRE_DAMAGED



DOOR_DRIVER

DOOR_PASSENGER

DOOR_BACKLEFF

DOOR_BACKRIGHT



VEHICLE_DAMAGE_PANELS

VEHICLE_DAMAGE_DOORS

VEHICLE_DAMAGE_LIGHTS

VEHICLE_DAMAGE_TIRES



RED_NEON

BLUE_NEON

GREEN_NEON

YELLOW_NEON

PINK_NEON

WHITE_NEON



EVF_CAR_BLINK_NONE

EVF_CAR_BLINK_LEFT

EVF_CAR_BLINK_RIGHT

EVF_CAR_BLINK_EMERGENCY



MIN_VEHICLE_COMPONENT_ID

MAX_VEHICLE_COMPONENT_ID



Enums:

enum 'EVF::VehicleProperties'

# e_VEHICLE_PAINTJOB

# e_VEHICLE_INTERIOR

# e_VEHICLE_COLOR_1

# e_VEHICLE_COLOR_2

# e_VEHICLE_HORN

# e_VEHICLE_SPAWN_X

# e_VEHICLE_SPAWN_Y

# e_VEHICLE_SPAWN_Z

# e_VEHICLE_SPAWN_A

# e_VEHICLE_SPAWN_VW

# e_VEHICLE_SPAWN_INT

# e_VEHICLE_SPEED_CAP

# e_VEHICLE_FUEL_USE

# e_VEHICLE_FUEL

# e_VEHICLE_STICKY

# e_VEHICLE_UNO_DAMAGE

# e_VEHICLE_EDITOR

# e_VEHICLE_DAMAGE_PANELS

# e_VEHICLE_DAMAGE_DOORS

# e_VEHICLE_DAMAGE_LIGHTS

# e_VEHICLE_DAMAGE_TIRES

# e_VEHICLE_BOMB

# e_VEHICLE_BOMB_TIMER

# e_VEHICLE_BULLETPROOF

# e_VEHICLE_STORED



enum 'EVF::VehicleBodyPart'

# VEHICLE_BODYPART_UNKNOWN

# VEHICLE_BODYPART_FL_WHEEL? ? - Front Left

# VEHICLE_BODYPART_FR_WHEEL? ? - Front Right

# VEHICLE_BODYPART_BL_WHEEL? ? - Back Left

# VEHICLE_BODYPART_BR_WHEEL? ? - Back Right

# VEHICLE_BODYPART_PETROLCAP



enum 'EVF::ParamTypes'

# VEHICLE_TYPE_ENGINE

# VEHICLE_TYPE_LIGHTS

# VEHICLE_TYPE_ALARM

# VEHICLE_TYPE_DOORS

# VEHICLE_TYPE_BONNET

# VEHICLE_TYPE_BOOT

# VEHICLE_TYPE_OBJECTIVE



Some options will only work if the player is in a vehicle.



Download:

EVF.inc



Available for:

Code:
SA:MP 0.3.7

SA:MP 0.3 DL


  StreamerFunction
Posted by: AbyssMorgan - 2021-04-18, 07:34 AM - Forum: Libraries - Replies (2)

Include contain additional functions for Incognito Streamer Plugin



Code:
StreamerFunction.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: Katarina Calzaghe



Website: https://adm.ct8.pl



Plugins: Streamer

Modules: None



File Version: 3.0.0

Streamer Version: 2.9.4



Compiler Options:

DISABLE_STREAMER_SPEC_CHECK? //Turn off check streamer version

ENABLE_BULLET_DYNAMIC_OBJECT //Turn on call OnPlayerWeaponShot when we shoot in a dynamic object

DISABLE_STREAMER_SPEC_FIXES? //Turn off fixes (not recommended)



Objects Functions:

GetDynamicObjectModel(objectid);

SetDynamicObjectModel(objectid,modelid);

GetDynamicObjectVW(objectid);

SetDynamicObjectVW(objectid,worldid);

GetDynamicObjectINT(objectid);

SetDynamicObjectINT(objectid,interiorid);

GetDynamicObjectSD(objectid,&Float:streamdistance);

SetDynamicObjectSD(objectid,Float:streamdistance);

GetDynamicObjectDD(objectid,&Float:drawdistance);

SetDynamicObjectDD(objectid,Float:drawdistance);

GetDynamicObjectPosAndRot(objectid,&Float:x,&Float:y,&Float:z,&Float:rx,&Float:ry,&Float:rz);

SetDynamicObjectPosAndRot(objectid,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz);

GetDynamicObjectMoveSpeed(objectid,&Float:speed);

SetDynamicObjectMoveSpeed(objectid,Float:speed);

GetDynamicObjectMovePos(objectid,&Float:x,&Float:y,&Float:z);

GetDynamicObjectMoveRot(objectid,&Float:rx,&Float:ry,&Float:rz);

GetDynamicObjectMoveTime(objectid,&objstate,&rtime=0);

SetDynamicObjectAttachSync(objectid,syncrotation);

RemoveDynamicObjectMaterial(objectid,materialindex);

RemoveDynamicObjectMaterialAll(objectid);

DeattachObjectDynamicObject(objectid);

DeattachDynamicObjectComponent(objectid,type);

DestroyDynamicObjectComponent(objectid,type);

GetDynamicObjectArea(objectid);

SetDynamicObjectArea(objectid,areaid);

GetDynamicObjectPriority(objectid);

SetDynamicObjectPriority(objectid,priority);

GetDynamicObjectDatagram(objectid,data[]);

SetDynamicObjectDatagram(objectid,data[]);

RemoveDynamicObjectDatagram(objectid);

bool:IsSetDynamicObjectDatagram(objectid);

GetDynamicObjectInvertArea(objectid);

SetDynamicObjectInvertArea(objectid,toggle);



SAMP Functions:

GetObjectPosAndRot(objectid,&Float:x,&Float:y,&Float:z,&Float:rx,&Float:ry,&Float:rz);

SetObjectPosAndRot(objectid,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz);

CountObjects();

CountPlayerObjects(playerid,bool:streamer = false);

DestroyObjects();

DestroyPlayerObjects(playerid,bool:streamer = false);

GangZoneDestroyAll();



Vehicle Functions:

CountVehicles();

DestroyVehicles();

DestroyVehicleDynamicObject(vehicleid);

DeattachVehicleDynamicObject(vehicleid);

GetVehicleDatagram(vehicleid,data[]);

SetVehicleDatagram(vehicleid,data[]);

RemoveVehicleDatagram(vehicleid);

IsSetVehicleDatagram(vehicleid);



Check Point Functions:

GetDynamicCPPos(checkpointid,&Float:x,&Float:y,&Float:z);

SetDynamicCPPos(checkpointid,Float:x,Float:y,Float:z);

GetDynamicCPSize(checkpointid,&Float:size);

SetDynamicCPSize(checkpointid,Float:size);

GetDynamicCPVW(checkpointid);

SetDynamicCPVW(checkpointid,worldid);

GetDynamicCPINT(checkpointid);

SetDynamicCPINT(checkpointid,interiorid);

GetDynamicCPSD(checkpointid,&Float:streamdistance);

SetDynamicCPSD(checkpointid,Float:streamdistance);

GetDynamicCPArea(checkpointid);

SetDynamicCPArea(checkpointid,areaid);

GetDynamicCPPriority(checkpointid);

SetDynamicCPPriority(checkpointid,priority);

GetDynamicCPDatagram(checkpointid,data[]);

SetDynamicCPDatagram(checkpointid,data[]);

RemoveDynamicCPDatagram(checkpointid);

bool:IsSetDynamicCPDatagram(checkpointid);

GetDynamicCPInvertArea(checkpointid);

SetDynamicCPInvertArea(checkpointid,toggle);



Race Check Point Functions:

GetDynamicRaceCPPos(checkpointid,&Float:x,&Float:y,&Float:z);

SetDynamicRaceCPPos(checkpointid,Float:x,Float:y,Float:z);

GetDynamicRaceCPNext(checkpointid,&Float:nextx,&Float:nexty,&Float:nextz);

SetDynamicRaceCPNext(checkpointid,Float:nextx,Float:nexty,Float:nextz);

GetDynamicRaceCPType(checkpointid);

SetDynamicRaceCPType(checkpointid,type);

GetDynamicRaceCPSize(checkpointid,&Float:size);

SetDynamicRaceCPSize(checkpointid,Float:size);

GetDynamicRaceCPVW(checkpointid);

SetDynamicRaceCPVW(checkpointid,worldid);

GetDynamicRaceCPINT(checkpointid);

SetDynamicRaceCPINT(checkpointid,interiorid);

GetDynamicRaceCPSD(checkpointid,&Float:streamdistance);

SetDynamicRaceCPSD(checkpointid,Float:streamdistance);

GetDynamicRaceCPArea(checkpointid);

SetDynamicRaceCPArea(checkpointid,areaid);

GetDynamicRaceCPPriority(checkpointid);

SetDynamicRaceCPPriority(checkpointid,priority);

GetDynamicRaceCPDatagram(checkpointid,data[]);

SetDynamicRaceCPDatagram(checkpointid,data[]);

RemoveDynamicRaceCPDatagram(checkpointid);

bool:IsSetDynamicRaceCPDatagram(checkpointid);

GetDynamicRaceCPInvertArea(checkpointid);

SetDynamicRaceCPInvertArea(checkpointid,toggle);



Player Functions:

DestroyPlayerDynamicObject(playerid);

DeattachPlayerDynamicObject(playerid);



MapIcon Functions:

GetDynamicMapIconPos(iconid,&Float:x,&Float:y,&Float:z);

SetDynamicMapIconPos(iconid,Float:x,Float:y,Float:z);

GetDynamicMapIconType(iconid);

SetDynamicMapIconType(iconid,type);

GetDynamicMapIconStyle(iconid);

SetDynamicMapIconStyle(iconid,style);

GetDynamicMapIconVW(iconid);

SetDynamicMapIconVW(iconid,worldid);

GetDynamicMapIconINT(iconid);

SetDynamicMapIconINT(iconid,interiorid);

GetDynamicMapIconSD(iconid,&Float:streamdistance);

SetDynamicMapIconSD(iconid,Float:streamdistance);

SetDynamicMapIconColor(iconid,color);

GetDynamicMapIconColor(iconid);

GetDynamicMapIconArea(iconid);

SetDynamicMapIconArea(iconid,areaid);

GetDynamicMapIconPriority(iconid);

SetDynamicMapIconPriority(iconid,priority);

GetDynamicMapIconDatagram(iconid,data[]);

SetDynamicMapIconDatagram(iconid,data[]);

RemoveDynamicMapIconDatagram(iconid);

bool:IsSetDynamicMapIconDatagram(iconid);

GetDynamicMapIconInvertArea(iconid);

SetDynamicMapIconInvertArea(iconid,toggle);



Pickup Functions:

GetDynamicPickupPos(pickupid,&Float:x,&Float:y,&Float:z);

SetDynamicPickupPos(pickupid,Float:x,Float:y,Float:z);

GetDynamicPickupModel(pickupid);

SetDynamicPickupModel(pickupid,modelid);

GetDynamicPickupVW(pickupid);

SetDynamicPickupVW(pickupid,worldid);

GetDynamicPickupINT(pickupid);

SetDynamicPickupINT(pickupid,interiorid);

GetDynamicPickupSD(pickupid,&Float:streamdistance);

SetDynamicPickupSD(pickupid,Float:streamdistance);

GetDynamicPickupType(pickupid);

SetDynamicPickupType(pickupid,type);

GetDynamicPickupArea(pickupid);

SetDynamicPickupArea(pickupid,areaid);

GetDynamicPickupPriority(pickupid);

SetDynamicPickupPriority(pickupid,priority);

GetDynamicPickupDatagram(pickupid,data[]);

SetDynamicPickupDatagram(pickupid,data[]);

RemoveDynamicPickupDatagram(pickupid);

bool:IsSetDynamicPickupDatagram(pickupid);

GetDynamicPickupInvertArea(pickupid);

SetDynamicPickupInvertArea(pickupid,toggle);



3DText Functions:

GetDynamic3DTextPos(id,&Float:x,&Float:y,&Float:z);

SetDynamic3DTextPos(id,Float:x,Float:y,Float:z);

GetDynamic3DTextDD(id,Float:drawdistance);

SetDynamic3DTextDD(id,Float:drawdistance);

GetDynamic3DTextSD(id,&Float:streamdistance);

SetDynamic3DTextSD(id,Float:streamdistance);

GetDynamic3DTextVW(id);

SetDynamic3DTextVW(id,worldid);

GetDynamic3DTextINT(id);

SetDynamic3DTextINT(id,interiorid);

GetDynamic3DTextColor(id);

SetDynamic3DTextColor(id,color);

GetDynamic3DTextArea(id);

SetDynamic3DTextArea(id,areaid);

GetDynamic3DTextPriority(id);

SetDynamic3DTextPriority(id,priority);

SetDynamic3DTextTestLos(id,testlos);

AttachDynamic3DTextToPlayer(id,attachedplayer);

AttachDynamic3DTextToVehicle(id,attachedvehicle);

GetDynamic3DTextDatagram(id,data[]);

SetDynamic3DTextDatagram(id,data[]);

RemoveDynamic3DTextDatagram(id);

bool:IsSetDynamic3DTextDatagram(id);

GetDynamic3DTextInvertArea(id);

SetDynamic3DTextInvertArea(id,toggle);



Area Functions:

GetDynamicCirclePos(areaid,&Float:x,&Float:y);

SetDynamicCirclePos(areaid,Float:x,Float:y);

GetDynamicCylinderPos(areaid,&Float:x,&Float:y,&Float:minz,&Float:maxz);

SetDynamicCylinderPos(areaid,Float:x,Float:y,Float:minz,Float:maxz);

GetDynamicSpherePos(areaid,&Float:x,&Float:y,&Float:z);

SetDynamicSpherePos(areaid,Float:x,Float:y,Float:z);

GetDynamicRectanglePos(areaid,&Float:minx,&Float:miny,&Float:maxx,&Float:maxy);

SetDynamicRectanglePos(areaid,Float:minx,Float:miny,Float:maxx,Float:maxy);

GetDynamicCubePos(areaid,&Float:minx,&Float:miny,&Float:minz,&Float:maxx,&Float:maxy,&Float:maxz);

SetDynamicCubePos(areaid,Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz);

GetDynamicCuboidPos(areaid,&Float:minx,&Float:miny,&Float:minz,&Float:maxx,&Float:maxy,&Float:maxz);

SetDynamicCuboidPos(areaid,Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz);

GetDynamicAreaVW(areaid);

SetDynamicAreaVW(areaid,worldid);

GetDynamicAreaINT(areaid);

SetDynamicAreaINT(areaid,interiorid);

GetDynamicAreaSize(areaid,Float:size);

SetDynamicAreaSize(areaid,Float:size);

GetDynamicAreaDatagram(areaid,data[]);

SetDynamicAreaDatagram(areaid,data[]);

RemoveDynamicAreaDatagram(areaid);

bool:IsSetDynamicAreaDatagram(areaid);



Actor Functions:

GetDynamicActorModel(actorid);

SetDynamicActorModel(actorid,modelid);

GetDynamicActorArea(actorid);

SetDynamicActorArea(actorid,areaid);

GetDynamicActorPriority(actorid);

SetDynamicActorPriority(actorid,priority);

GetDynamicActorSD(actorid,&Float:streamdistance);

SetDynamicActorSD(actorid,Float:streamdistance);

GetDynamicActorDatagram(actorid,data[]);

SetDynamicActorDatagram(actorid,data[]);

RemoveDynamicActorDatagram(actorid);

IsSetDynamicActorDatagram(actorid);

GetDynamicActorInterior(actorid);

SetDynamicActorInterior(actorid,interiorid);

DestroyAllDynamicActors();

CountDynamicActors();

GetDynamicActorInvertArea(actorid);

SetDynamicActorInvertArea(actorid,toggle);



Dynamic Vehicle Functions:

SetDynamicVehicleModel(vehicleid,modelid);

GetDynamicVehicleSiren(vehicleid);

SetDynamicVehicleSiren(vehicleid,siren);

GetDynamicVehicleRespawnTime(vehicleid);

SetDynamicVehicleRespawnTime(vehicleid,respawndelay);

GetDynamicVehicleArea(vehicleid);

SetDynamicVehicleArea(vehicleid,areaid);

GetDynamicVehiclePriority(vehicleid);

SetDynamicVehiclePriority(vehicleid,priority);

GetDynamicVehicleSD(vehicleid,&Float:streamdistance);

SetDynamicVehicleSD(vehicleid,Float:streamdistance);

GetDynamicVehicleInvertArea(vehicleid);

SetDynamicVehicleInvertArea(vehicleid,toggle);

GetDynamicVehicleDatagram(vehicleid,data[]);

SetDynamicVehicleDatagram(vehicleid,data[]);

RemoveDynamicVehicleDatagram(vehicleid);

IsSetDynamicVehicleDatagram(vehicleid);

DestroyAllDynamicVehicles();

CountDynamicVehicles();



Anti Area Functions:

IsPointInAntiArea(areaid,Float:x,Float:y,Float:z);

IsPlayerInAntiArea(playerid,areaid,recheck = 0);

IsPlayerInAnyAntiArea(playerid,recheck = 0);

IsAnyPlayerInAntiArea(areaid,recheck = 0);

IsAnyPlayerInAnyAntiArea(recheck = 0);



Anti Area Callbacks:

OnPlayerEnterAntiArea(playerid,areaid);

OnPlayerLeaveAntiArea(playerid,areaid);



Pool Size Functions:

GetDynamicObjectPoolSize();

GetDynamicPickupPoolSize();

GetDynamicCPPoolSize();

GetDynamicRaceCPPoolSize();

GetDynamicMapIconPoolSize();

GetDynamic3DTextPoolSize();

GetDynamicAreaPoolSize();

GetDynamicActorPoolSize();

GetDynamicVehiclePoolSize();



Update Functions:

UpdateAllDynamicItem(type);

UpdateAllDynamicElements();

UpdateAllDynamicObjects();

UpdateAllDynamicPickups();

UpdateAllDynamicCPs();

UpdateAllDynamicRaceCPs();

UpdateAllDynamicMapIcons();

UpdateAllDynamic3DTextLabels();

UpdateAllDynamicAreas();

UpdateAllDynamicActors();

UpdateAllDynamicVehicles();



Foreach Functions:

ForDynamicObjects(variable);

ForDynamicPickups(variable);

ForDynamicCPs(variable);

ForDynamicRaceCPs(variable);

ForDynamicMapIcons(variable);

ForDynamic3DTextLabels(variable);

ForDynamicAreas(variable);

ForDynamicActors(variable);

ForDynamicVehicles(variable);



Nearest Item Functions:

GetNearestVisibleItem(playerid,type);

GetNearestVisibleObject(playerid);

GetNearestVisiblePickup(playerid);

GetNearestVisibleCP(playerid);

GetNearestVisibleRaceCP(playerid);

GetNearestVisibleMapIcon(playerid);

GetNearestVisible3DText(playerid);

GetNearestVisibleArea(playerid);

GetNearestVisibleActor(playerid);

GetNearestVisibleVehicle(playerid);



Extended Functions:

bool:IsValidStreamer(version);

GetStreamerVersion();

GetValidStreamerVersion();

GetStreamerVersionName(name[], value = GET_STREAMER_VERSION, maxdest = sizeof name);

CheckStreamerVersion();

GetStreamerDatagram(type,itemid,data[]);

SetStreamerDatagram(type,itemid,data[]);

RemoveStreamDatagram(type,itemid);

bool:IsSetStreamerDatagram(type,itemid);

GetStreamerSpecActiveCount();



Definitions:

DEFAULT_VISIBLE_OBJECT

DEFAULT_VISIBLE_PICKUP

DEFAULT_VISIBLE_MAP_ICON

DEFAULT_VISIBLE_3D_TEXT

DEFAULT_VISIBLE_ACTOR

INVALID_DYNAMIC_OBJECT_ID

INVALID_DYNAMIC_PICKUP_ID

INVALID_DYNAMIC_CP_ID

INVALID_DYNAMIC_RACE_CP_ID

INVALID_DYNAMIC_MAP_ICON_ID

INVALID_DYNAMIC_3D_TEXT_ID

INVALID_DYNAMIC_AREA_ID

INVALID_DYNAMIC_ACTOR_ID

INVALID_DYNAMIC_VEHICLE_ID

INVALID_PICKUP_ID

INVALID_STREAMER_COMPONENT

MAX_STREAM_SIZE



Fixes:

DestroyDynamicObject? ? ? ? -> Resets the variable after the destruction of the DynamicObject.

DestroyDynamicPickup? ? ? ? -> Resets the variable after the destruction of the DynamicPickup.

DestroyDynamicCP? ? ? ? ? ? -> Resets the variable after the destruction of the DynamicCP.

DestroyDynamicRaceCP? ? ? ? -> Resets the variable after the destruction of the DynamicRaceCP.

DestroyDynamicMapIcon? ? ? ? -> Resets the variable after the destruction of the DynamicMapIcon.

DestroyDynamic3DTextLabel? ? -> Resets the variable after the destruction of the Dynamic3DTextLabel.

DestroyDynamicArea? ? ? ? ? -> Resets the variable after the destruction of the DynamicArea.

DestroyDynamicActor? ? ? ? ? -> Resets the variable after the destruction of the DynamicActor.

DestroyDynamicVehicle? ? ? ? -> Resets the variable after the destruction of the DynamicVehicle.

DestroyObject? ? ? ? ? ? ? ? -> Resets the variable after the destruction of the Object.

DestroyPlayerObject? ? ? ? ? -> Resets the variable after the destruction of the PlayerObject.

DestroyPickup? ? ? ? ? ? ? ? -> Resets the variable after the destruction of the Pickup.

Delete3DTextLabel? ? ? ? ? ? -> Resets the variable after the destruction of the 3DTextLabel.

DeletePlayer3DTextLabel? ? ? -> Resets the variable after the destruction of the Player3DTextLabel.

AttachDynamicObjectToObject? -> Changes the priority of the parent to be greater than the priority of sub-objects.



Download:

StreamerFunction.inc



Available for:

Code:
SA:MP 0.3.7

SA:MP 0.3 DL


  3DTryg
Posted by: AbyssMorgan - 2021-04-18, 07:24 AM - Forum: Libraries - Replies (11)

Include contain professional functions for manipulating (coordinates / rotations / vectors / arc / areas / offset) supported (2D / 3D)



Videos:

- Knife Shoot

- EngineV6

- EngineX

- Missile Launch

- Vehicle Missile Launch (ColAndreas Version)

- GetGroundRotation

- GetPlayerCollisionFlags (ColAndreas)

- Marica Mortar V1

- Heavy Marica Mortar

- Acid Renia (FCNPC)

- Beta Interceptor (FCNPC)

- GoToPlayerOnGroundCol (FCNPC)

- IsElementOnPlayerScreen (ColAndreas)

- Arc Points

- Missile Launcher Aim Player

- GetRandomPointOnSphericalSector

- Vehicle Missile Congreve Rocket

- Magic Wand

- Vehicle Parachute

- Portal Gun #1

- Portal Gun #2

- Marica Mortar V2

- Stingers (Cops and Robbers)

- NPC Driver Eye

- PET SAR v1.0

- Vehicle Speed Control

- Prototype Grenade Detection



Code:
3DTryg.inc

Copyright ? 2021 Abyss Morgan. All rights reserved.

Contributors: Crayder, IllidanS4, Nero_3D, RyDeR, Zoutdaxv, hesambia, Neil Lamoureux, Ivan_Ino, Ralfie, Unrea1, Katarina Calzaghe, $continue$

Mr.Reus



Website: https://adm.ct8.pl



Plugins: ColAndreas, YSF, Streamer, FCNPC, VehicleStreamer

Internal Modules: Actor, VehicleCollision, PlayerCollision, ActorCollision, Draw3D, CatchItems, GrenadeDetection



File Version: 5.3.0

ColAndreas Version: 1.5.0

YSF Version: R19 (kurta999)

Streamer Version: 2.9.5

VehicleStreamer Version: 2.9.4

FCNPC Version: 2.0.0



Foreach Types:

1. FoxForeach

2. StandaloneForeach

3. YSI Foreach

4. GetPlayerPoolSize



Compiler Options:

DISABLE_3D_TRYG_INIT            //Use before 3DTryg.inc for disable ColAndreas Auto Init

DISABLE_3D_TRYG_ACTOR           //Use before 3DTryg.inc for disable Actors Module

DISABLE_3D_TRYG_FOREACH_FOX     //Use before 3DTryg.inc for disable FoxForeach Module

DISABLE_3D_TRYG_FOREACH_STAND   //Use before 3DTryg.inc for disable StandaloneForeach Module

DISABLE_3D_TRYG_FOREACH_YSI     //Use before 3DTryg.inc for disable YSI Foreach Module

DISABLE_3D_TRYG_COLANDREAS      //Use before 3DTryg.inc for disable ColAndreas Module

DISABLE_3D_TRYG_YSF             //Use before 3DTryg.inc for disable YSF Module

DISABLE_3D_TRYG_STREAMER        //Use before 3DTryg.inc for disable Streamer Module

DISABLE_3D_TRYG_FCNPC           //Use before 3DTryg.inc for disable FCNPC Module

DISABLE_3D_TRYG_VEHSTREAMER     //Use before 3DTryg.inc for disable VehicleStreamer Module

ENABLE_3D_TRYG_YSI_SUPPORT      //Use before 3DTryg.inc for enable YSI Support (use only when 3DTryg say error for this)

ENABLE_3D_TRYG_DRAW3D           //Use before 3DTryg.inc for enable Draw3D Module

ENABLE_3D_TRYG_CATCH_ITEMS      //Use before 3DTryg.inc for enable CatchItems Module

ENABLE_3D_TRYG_GRENADEDETECTION //Use before 3DTryg.inc for enable GrenadeDetection Module

ENABLE_3D_TRYG_VEHICLECOL       //Use before 3DTryg.inc for enable VehicleCollision Module

ENABLE_3D_TRYG_PLAYERCOL        //Use before 3DTryg.inc for enable PlayerCollision Module

ENABLE_3D_TRYG_ACTORCOL         //Use before 3DTryg.inc for enable ActorCollision Module



Complementary Functions:

Float:sqrtN(Float:value,Float:exponent);

abs(value);

Float:fabs(Float:value);

power(value,Float:exponent);

IsEven(value);

Float:Tryg3D::RandomFloat(Float:min,Float:max,accuracy=4);



Internal Functions:

single_clock(max,id); //For Random::PointOnClock parameter rz

even_clock(max,id); //For Random::PointOnClock parameter rz

uneven_clock(max,id); //For Random::PointOnClock parameter rz

NLTZ(value); //NotLessThanZero

NMTZ(value); //NotMoreThanZero

NLTZF(Float:value); //NotLessThanZeroFloat

NMTZF(Float:value); //NotMoreThanZeroFloat

NLTV(value,min); //NotLessThanValue

NMTV(value,max); //NotMoreThanValue

NLTVF(Float:value,Float:min); //NotLessThanValueFloat

NMTVF(Float:value,Float:max); //NotMoreThanValueFloat

Tryg3D::CompressRotation(Float:rotation);

Tryg3D::DeCompressRotation(Float:rotation);

Tryg3D::IsRotationTest(Float:rotation,Float:r_min,Float:r_max);

Tryg3D::GivePlayerDamage(targetid,Float:amount,playerid,weaponid,bodypart);

Tryg3D::GetWeaponDamage(weaponid);

Tryg3D::SwapInt(variable1,variable2);

Tryg3D::IsPlayerSpawned(playerid);

Tryg3D::GetActiveTime();



General Functions:

CountPlayers(bool:isplayer=true,bool:isnpc=true);

CountActors();

CountVisibleActors(playerid);

CountVisibleVehicles(playerid);

CountVisiblePlayers(playerid,bool:isplayer=true,bool:isnpc=true);

RecoilFloat(Float:value,Float:recoil);

RecoilVector(&Float:vx,&Float:vy,&Float:vz,Float:sx,Float:sy,Float:sz);

Float:ShiftDegreeToRadian(Float:deg);

Float:ShiftDegreeToRadianEx(Float:deg);

Float:ShiftDegreeToGrades(Float:deg);

Float:ShiftRadianToDegree(Float:rad);

Float:ShiftRadianToDegreeEx(Float:rad);

Float:ShiftRadianToGrades(Float:rad);

Float:ShiftGradesToDegree(Float:grad);

Float:ShiftGradesToRadian(Float:grad);

GetRandomHit(Float:x,Float:y,Float:z,range,&Float:tx,&Float:ty,&Float:tz);

Float:GetDistanceBetweenPoints1D(Float:x1,Float:x2);

Float:GetDistanceBetweenPoints2D(Float:x1,Float:y1,Float:x2,Float:y2);

Float:GetDistanceBetweenPoints3D(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2);

GetPointInFront2D(Float:x,Float:y,Float:rz,Float:radius,&Float:tx,&Float:ty);

GetPointInFront3D(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

GetPointInFront3DEx(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Float:GetPointInFrontOfPlayer(playerid,&Float:tx,&Float:ty,Float:radius);

Float:GetPointInFrontOfCamera2D(playerid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfCamera3D(playerid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

GetRotationFor2Point2D(Float:x,Float:y,Float:tx,Float:ty,&Float:rz);

GetRotationFor2Point3D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:tz,&Float:rx,&Float:rz);

GetMoveTime(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:tz,Float:speed,&rtime=0);

GetSpeedForMoveTime(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:tz,&Float:speed,rtime);

GetVehicleRotation(vehicleid,&Float:rx,&Float:ry,&Float:rz);

Float:GetPointInFrontOfVehicle2D(vehicleid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfVehicle3D(vehicleid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

GetPlayerCameraRotation(playerid,&Float:rx,&Float:rz);

Float:GetPlayerCameraZAngle(playerid,&Float:rz=0.0);

GetPointFor2Point2D(Float:x1,Float:y1,Float:x2,Float:y2,Float:percent_size,&Float:tx,&Float:ty);

GetPointFor2Point3D(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,Float:percent_size,&Float:tx,&Float:ty,&Float:tz);

GetPointFor2Point2DEx(Float:x1,Float:y1,Float:x2,Float:y2,Float:distance,&Float:tx,&Float:ty);

GetPointFor2Point3DEx(Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2,Float:distance,&Float:tx,&Float:ty,&Float:tz);

ShiftVectorToRotation(Float:vx,Float:vy,Float:vz,&Float:rx,&Float:rz);

ShiftRotationToVector(Float:rx,Float:rz,&Float:vx,&Float:vy,&Float:vz);

GetPointToPointVector(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:tz,&Float:vx,&Float:vy,&Float:vz);

IsPointBetween2Points2D(Float:px,Float:py,Float:xA,Float:yA,Float:xB,Float:yB);

IsPointBetween2Points3D(Float:px,Float:py,Float:pz,Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB);

IsProbable(chance);

IsProbableEx(chance,poolsize); //by default IsProbable using 100

Float:CalculatePercent(Float:value,Float:maxvalue);

Float:GetPlayerTargetAngle(playerid,Float:x,Float:y,&Float:rz=0.0);

Float:SetPlayerTargetAngle(playerid,Float:x,Float:y,&Float:rz=0.0);

Float:GetPlayerTargetPlayerAngle(playerid,targetid,&Float:rz=0.0);

Float:SetPlayerTargetPlayerAngle(playerid,targetid,&Float:rz=0.0);

Float:GetVehicleSpeed(vehicleid);

SetVehicleSpeed(vehicleid,Float:speed);

Float:GetPlayerSpeed(playerid);

GetVehicleFlags(vehicleid);

GetVehicleDefaultFlagsByModel(modelid);

GetVehicleFlagsByModel(modelid);

SetVehicleFlagsByModel(modelid,value);

ToggleVehicleModelFlag(modelid,flag,bool:toggle);

IsVehicleFlag(value,flag);

GetWeaponShotPos(playerid,hittype,&Float:fx,&Float:fy,&Float:fz);

GetPlayerCameraLookAt(playerid,&Float:x,&Float:y,&Float:z);

IsPlayerLookAtSky(playerid);

GetQuatUpVector(Float:qw,Float:qx,Float:qy,Float:qz,&Float:vx,&Float:vy,&Float:vz);

Float:GetLineSize2D(Float:points[][2],maxpoints=sizeof(points));

Float:GetLineSize3D(Float:points[][3],maxpoints=sizeof(points));

IsVehicleInRangeOfPoint(vehicleid,Float:range,Float:x,Float:y,Float:z);

IsActorInRangeOfPoint(actorid,Float:range,Float:x,Float:y,Float:z);

ShiftLineRotation(Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,Float:rx,Float:ry,Float:rz,&Float:nX,&Float:nY,&Float:nZ);

ShiftLineRotationVector(Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,Float:rx,Float:ry,Float:rz,&Float:nX,&Float:nY,&Float:nZ);

Float:GetEllipseRadius(Float:x,Float:y,Float:angle);

GetArcPoints3D(Float:x,Float:y,Float:z,Float:tx,Float:ty,Float:tz,Float:ry,Float:height,Float:points[][3],max_points=sizeof(points));

Float:GetDistanceFromPointToLine(Float:px,Float:py,Float:pz,Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,&Float:iX=0.0,&Float:iY=0.0,&Float:iZ=0.0);

Float:GetDistanceFromPointToLineEx(Float:px,Float:py,Float:pz,Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,&Float:iX=0.0,&Float:iY=0.0,&Float:iZ=0.0);

GetNearest2DPointOnPolygon(const Float:polygon_points[],Float:x,Float:y,&Float:tx,&Float:ty,maxpoints = sizeof(polygon_points));

ShiftOffsetToPosition(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:offset_x,Float:offset_y,Float:offset_z,&Float:tx,&Float:ty,&Float:tz);

ShiftPositionToOffset(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,&Float:offset_x,&Float:offset_y,&Float:offset_z,Float:tx,Float:ty,Float:tz);

Tryg3D::EulerToQuat(Float:rx,Float:ry,Float:rz,&Float:qw,&Float:qx,&Float:qy,&Float:qz);

Tryg3D::QuatToEuler(&Float:rx,&Float:ry,&Float:rz,Float:qw,Float:qx,Float:qy,Float:qz);

ShiftVectorRotation(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,&Float:tx,&Float:ty,&Float:tz);

GetCube3DPoint(OrientationCube3D:orientation,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z,&Float:tx,&Float:ty,&Float:tz);

IsPlayerFakeSpectating(playerid,bool:force_disable=true);

GenerateGangZone(Float:x,Float:y,Float:radius,&Float:minx,&Float:miny,&Float:maxx,&Float:maxy);

Float:GetCameraTargetDistance(Float:CamX,Float:CamY,Float:CamZ,Float:ObjX,Float:ObjY,Float:ObjZ,Float:FrX,Float:FrY,Float:FrZ);

IsPlayerAimingAt(playerid,Float:x,Float:y,Float:z,Float:radius);

IPL_CreateObject(modelid,Float:x,Float:y,Float:z,Float:qx,Float:qy,Float:qz,Float:qw,Float:drawdistance=0.0);

bool:IsPolygonClosed(const Float:points[],maxpoints = sizeof(points));

bool:IsValidPolygon(const Float:points[],maxpoints = sizeof(points));

Tryg3D::GetOrientation(Float:angle);

Tryg3D::GetOrientationName(orientation_name[],Float:angle,bool:as_compass=false,maxdest = sizeof(orientation_name));



Cast3D functions:

Cast3D::Explosion(Float:x,Float:y,Float:z,type,Float:radius,worldid=-1,interiorid=-1,playerid=-1,Float:distance=200.0);

Cast3D::ExplosionDMG(Float:x,Float:y,Float:z,type,Float:radius,worldid=-1,interiorid=-1,playerid=-1,Float:distance=200.0,Float:damage=82.5,Float:vehicle_damage=82.5,byplayerid=INVALID_PLAYER_ID,ignore_vehicle = INVALID_VEHICLE_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_NONE);

Cast3D::ExplosionRangeDMG(Float:x,Float:y,Float:z,type,Float:radius,worldid = -1,interiorid = -1,playerid = -1,Float:distance = 200.0,Float:min_damage=10.0,Float:max_damage=82.5,Float:min_vehicle_damage=50.0,Float:max_vehicle_damage=250.0,byplayerid=INVALID_PLAYER_ID,ignore_vehicle = INVALID_VEHICLE_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_NONE);

Cast3D::Damage(weaponid,bodypart,Float:damage,Float:vehicle_damage,Float:x,Float:y,Float:z,Float:radius,worldid=-1,interiorid=-1,playerid=-1,byplayerid=INVALID_PLAYER_ID);

Cast3D::Gravity(Float:x,Float:y,Float:z,Float:radius,Float:power = 1.0,worldid = -1,interiorid = -1,playerid = -1,byplayerid = INVALID_PLAYER_ID);



Area check functions:

Area::PointInCircle(Float:px,Float:py,Float:x,Float:y,Float:radius);

Area::PointInCylinder2D(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:minz,Float:maxz,Float:radius);

Area::PointInCylinder3D(Float:px,Float:py,Float:pz,Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius);

Area::PointInSphere(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:radius);

Area::PointInRectangle(Float:x,Float:y,Float:minx,Float:miny,Float:maxx,Float:maxy);

Area::PointInCube(Float:x,Float:y,Float:z,Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz);

Area::PointInPolygon(Float:x,Float:y,Float:points[],maxpoints=sizeof(points));

Area::PointInCircularSector(Float:px,Float:py,Float:x,Float:y,Float:rz,Float:radius,Float:view_angle);

Area::PointInSphericalSector(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz);

Area::PointInCone2D(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:minz,Float:maxz,Float:radius_a,Float:radius_b);

Area::PointInCone3D(Float:px,Float:py,Float:pz,Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius_a,Float:radius_b);

Area::PointInCube3D(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z);

Area::PointInEllipse(Float:px,Float:py,Float:cx,Float:cy,Float:size_x,Float:size_y);

Area::PointInEllipticalCylinder(Float:px,Float:py,Float:pz,Float:cx,Float:cy,Float:minz,Float:maxz,Float:size_x,Float:size_y);

Area::PointInSphericalSectorEx(Float:px,Float:py,Float:pz,Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);



Area get random point functions (IN)

Random::PointInCircle(Float:x,Float:y,Float:radius,&Float:tx,&Float:ty);

Random::PointInCylinder2D(Float:x,Float:y,Float:minz,Float:maxz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointInCylinder3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointInSphere(Float:x,Float:y,Float:z,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointInRectangle(Float:minx,Float:miny,Float:maxx,Float:maxy,&Float:tx,&Float:ty);

Random::PointInCube(Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz,&Float:tx,&Float:ty,&Float:tz);

Random::PointInPolygon(Float:points[],&Float:tx,&Float:ty,maxpoints = sizeof(points), max_iterations = 10000);

Random::PointInCircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle,&Float:tx,&Float:ty);

Random::PointInSphericalSector(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,&Float:tx,&Float:ty,&Float:tz);

Random::PointInCone2D(Float:x,Float:y,Float:minz,Float:maxz,Float:radius_a,Float:radius_b,&Float:tx,&Float:ty,&Float:tz)

Random::PointInCone3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius_a,Float:radius_b,&Float:tx,&Float:ty,&Float:tz);

Random::PointInCube3D(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z,&Float:tx,&Float:ty,&Float:tz);

Random::PointInEllipse(Float:cx,Float:cy,Float:size_x,Float:size_y,&Float:tx,&Float:ty);

Random::PointInEllipticalCyl2D(Float:cx,Float:cy,Float:minz,Float:maxz,Float:size_x,Float:size_y,&Float:tx,&Float:ty,&Float:tz);



Area get random point functions (ON)

Random::PointOnCircle(Float:x,Float:y,Float:radius,&Float:tx,&Float:ty);

Random::PointOnCylinder2D(Float:x,Float:y,Float:minz,Float:maxz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnCylinder3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnSphere(Float:x,Float:y,Float:z,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnRectangle(Float:minx,Float:miny,Float:maxx,Float:maxy,&Float:tx,&Float:ty);

Random::PointOnCube(Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnCircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle,&Float:tx,&Float:ty);

Random::PointOnSphericalSector(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnCone3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius_a,Float:radius_b,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnCube3D(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnEllipse(Float:cx,Float:cy,Float:size_x,Float:size_y,&Float:tx,&Float:ty);

Random::PointOnEllipticalCyl2D(Float:cx,Float:cy,Float:minz,Float:maxz,Float:size_x,Float:size_y,&Float:tx,&Float:ty,&Float:tz);

Random::PointOnClock(Float:x,Float:y,Float:radius,&Float:tx,&Float:ty,&Float:trz,Float:rz=INVALID_ROTATION);



Universal Functions:

Item::GetInvalidID(Item3D_Type:item_type);

Item::GetPos(elementid,Item3D_Type:element_type,&Float:x,&Float:y,&Float:z);

Item::GetVirtualWorld(elementid,Item3D_Type:element_type);

Item::GetInterior(elementid,Item3D_Type:element_type);

Item::GetRotationQuat(elementid,Item3D_Type:element_type,&Float:qw,&Float:qx,&Float:qy,&Float:qz);

Item::GetUpVector(elementid,Item3D_Type:element_type,&Float:vx,&Float:vy,&Float:vz);

Item::GetUpPos(elementid,Item3D_Type:element_type,Float:radius,&Float:x,&Float:y,&Float:z,bool:reverse=false);

Item::GetDistance(elementid,Item3D_Type:element_type,targetid,Item3D_Type:target_type);

Item::GetDistanceFromPoint(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:z);

Item::GetToPointVector(elementid,Item3D_Type:element_type,Float:tx,Float:ty,Float:tz,&Float:vx,&Float:vy,&Float:vz);

Item::GetRotatedVector(elementid,Item3D_Type:element_type,Float:tx,Float:ty,Float:tz,&Float:vx,&Float:vy,&Float:vz,bool:return_vector=true,Float:rx=0.0,Float:ry=0.0,Float:rz=0.0);

Item::GetOrientationPos(elementid,Item3D_Type:element_type,element_orientation:orientation,Float:distance,&Float:tx,&Float:ty,&Float:tz);

Item::OnPlayerScreen(playerid,targetid,Item3D_Type:target_type=item_player,element_orientation:orientation=o_front,Float:rx=INVALID_ROTATION,Float:rz=INVALID_ROTATION,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,bool:testVW=true,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);

Item::OnFakeScreen(Float:x,Float:y,Float:z,targetid,Item3D_Type:target_type,Float:rx,Float:rz,Float:vrx=VERTICAL_CAMERA_RADIUS,Float:vrz=HORIZONTAL_CAMERA_RADIUS,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_OBJECT);

Item::InCircle(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:radius);

Item::InCylinder3D(elementid,Item3D_Type:element_type,Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius);

Item::InCylinder2D(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:minz,Float:maxz,Float:radius);

Item::InSphere(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:z,Float:radius);

Item::InRectangle(elementid,Item3D_Type:element_type,Float:minx,Float:miny,Float:maxx,Float:maxy);

Item::InCube(elementid,Item3D_Type:element_type,Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz);

Item::InPolygon(elementid,Item3D_Type:element_type,Float:points[],maxpoints=sizeof(points));

Item::InCircularSector(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:rz,Float:radius,Float:view_angle);

Item::InSphericalSector(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz);

Item::InCone2D(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:minz,Float:maxz,Float:radius_a,Float:radius_b);

Item::InCone3D(elementid,Item3D_Type:element_type,Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius_a,Float:radius_b);

Item::InCube3D(elementid,Item3D_Type:element_type,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z);

Item::InEllipse(elementid,Item3D_Type:element_type,Float:cx,Float:cy,Float:size_x,Float:size_y);

Item::InEllipticalCylinder2D(elementid,Item3D_Type:element_type,Float:cx,Float:cy,Float:minz,Float:maxz,Float:size_x,Float:size_y);

Item::InRangeOfPoint(Float:x,Float:y,Float:z,Float:range,targetid,Item3D_Type:target_type=item_player,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_NONE);

Item::IsPlayerInRange(playerid,Float:range,targetid,Item3D_Type:target_type=item_player,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_NONE);

Item::InRangeOfItem(elementid,Item3D_Type:element_type,Float:range,targetid,Item3D_Type:target_type=item_player,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_NONE);



Universal Functions (ColAndreas):

Item::ToItemIsWall(elementid,Item3D_Type:element_type,targetid,Item3D_Type:target_type);

Item::ToPointIsWall(Float:x,Float:y,Float:z,targetid,Item3D_Type:target_type);

Item::GetCollisionFlags(elementid,Item3D_Type:element_type);

Item::GetOrientationPosCol(elementid,Item3D_Type:element_type,element_orientation:orientation,Float:distance,&Float:tx,&Float:ty,&Float:tz);

Item::IsPointInWaterOrient(elementid,Item3D_Type:element_type,Float:radius,element_orientation:orientation=o_front);

Item::CollisionToPoint(Float:x,Float:y,Float:z,targetid,Item3D_Type:target_type,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_ALL);

Item::CollisionToItem(elementid,Item3D_Type:element_type,targetid,Item3D_Type:target_type,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_ALL);





Universal Functions (Streamer):

Item::InDynamicArea(elementid,Item3D_Type:element_type,STREAMER_TAG_AREA:areaid);

Item::GetInDynamicArea(STREAMER_TAG_AREA:areaid,Item3D_Type:element_type,element_list[],max_element=sizeof(element_list));



Draw3D Module functions:

Draw3D::Circle3D(Float:x,Float:y,Float:z,Float:radius,Float:points[][3],max_sector = 36,Float:rx = 90.0,Float:ry = 0.0,max_points = sizeof(points));

Draw3D::Cylinder3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius,Float:points[][3],max_sector = 36,max_circles = 5,max_points = sizeof(points));

Draw3D::Sphere(Float:x,Float:y,Float:z,Float:radius,Float:points[][3],max_sector = 36,max_circles = 5,max_points = sizeof(points));

Draw3D::Cone3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius,Float:points[][3],max_sector = 36,max_circles = 5,max_points = sizeof(points));

Draw3D::Rectangle2D(Float:minx,Float:miny,Float:maxx,Float:maxy,Float:points[][2],points_per_wall = 36,max_points = sizeof(points));

Draw3D::Cube2D(Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz,Float:points[][3],points_per_wall = 36,max_points = sizeof(points));

Draw3D::Polygon2D(const Float:polygon_points[],Float:points[][2],points_per_line = 36,max_polygon_points = sizeof(polygon_points),max_points = sizeof(points));



Catch Module functions:

CatchItems::Circle(Float:x,Float:y,Float:radius,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Cylinder2D(Float:x,Float:y,Float:minz,Float:maxz,Float:radius,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Cylinder3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:radius,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Sphere(Float:x,Float:y,Float:z,Float:radius,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Rectangle(Float:minx,Float:miny,Float:maxx,Float:maxy,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::StreamCube(Float:minx,Float:miny,Float:minz,Float:maxx,Float:maxy,Float:maxz,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Polygon(const Float:points[],Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list),maxpoints = sizeof(points));

CatchItems::CircularSector(Float:x,Float:y,Float:rz,Float:radius,Float:view_angle,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::SphericalSector(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Cone2D(Float:x,Float:y,Float:minz,Float:maxz,Float:radius_a,Float:radius_b,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Cone3D(Float:xA,Float:yA,Float:zA,Float:xB,Float:yB,Float:zB,Float:pointA_radius,Float:pointB_radius,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Cube3D(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:size_x,Float:size_y,Float:size_z,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::Ellipse(Float:cx,Float:cy,Float:size_x,Float:size_y,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::EllipticalCylinder2D(Float:cx,Float:cy,Float:minz,Float:maxz,Float:size_x,Float:size_y,Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::SphericalSectorEx(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,Float:vrx,Float:vrz,Item3D_Type:element_type,element_list[],ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_OBJECT,worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::PointInStream(Float:x,Float:y,Float:z,const Stream:AreaData[Stream3D]);

CatchItems::InStream(TRYG3D_ELEMENT_TAG:elementid,Item3D_Type:element_type,const Stream:AreaData[Stream3D],worldid = -1,interiorid = -1);

CatchItems::GetInStream(const Stream:AreaData[Stream3D],Item3D_Type:element_type,element_list[],worldid = -1,interiorid = -1,max_element=sizeof(element_list));

CatchItems::GetStreamType(Stream:data);

CatchItems::IsValidStream(Stream:data);



ScreenToWorld Functions:

ScreenToWorld(playerid,Float:screenX,Float:screenY,&Float:vX,&Float:vY,&Float:vZ);

WorldToScreen(playerid,Float:x,Float:y,Float:z,&Float:screenX,&Float:screenY);

ScreenToWorldCol(playerid,Float:distance,Float:screenX,Float:screenY,&Float:vX,&Float:vY,&Float:vZ);

Tryg3D::NormCrossProduct(&Float:x,&Float:y,&Float:z,Float:v1x,Float:v1y,Float:v1z,Float:v2x,Float:v2y,Float:v2z);



Nero_3D Rotations Functions:

Tryg3D::GetRotationMatrixEuler(Float:matrix[][],Float:rx,Float:ry,Float:rz);

Tryg3D::GetRotationMatrixEulerEx(Float:matrix[][],Float:rx,Float:ry,Float:rz,T3D:eulermode:mode=T3D:euler_default);

Tryg3D::MatrixRotate(Float:matrix[][],Float:oX,Float:oY,Float:oZ,&Float:x,&Float:y,&Float:z);

Tryg3D::QuatRotate(Float:qw,Float:qx,Float:qy,Float:qz,Float:oX,Float:oY,Float:oZ,&Float:tx,&Float:ty,&Float:tz);

Tryg3D::GetQuatFromEuler(Float:rx,Float:ry,Float:rz,&Float:qw,&Float:qx,&Float:qy,&Float:qz,T3D:eulermode:mode=T3D:euler_default);

Tryg3D::EulerRotate(Float:rX,Float:rY,Float:rZ,Float:oX,Float:oY,Float:oZ,&Float:tx,&Float:ty,&Float:tz);

Tryg3D::EulerRotateEx(Float:rX,Float:rY,Float:rZ,Float:oX,Float:oY,Float:oZ,&Float:tx,&Float:ty,&Float:tz,T3D:eulermode:mode=T3D:euler_default);



VehiclePartPosition Functions:

GetVehiclePartPos(vehicleid,partid,&Float:tx,&Float:ty,&Float:tz,Float:offset_x=0.0,Float:offset_y=0.0,Float:offset_z=0.0);

GetDynamicVehiclePartPos(vehicleid,partid,&Float:tx,&Float:ty,&Float:tz,Float:offset_x=0.0,Float:offset_y=0.0,Float:offset_z=0.0);



VehicleCollision Functions:

IsVehicleCollisionEnabled();

Tryg3D::InitVehicleCollision(); //OnGameModeInit / OnFilterScriptInit

Tryg3D::ExitVehicleCollision();

Tryg3D::SyncVehicleCollision(vehicleid); //EVF -> OnVehicleCreated

IsToggledVehicleCollision(vehicleid);

ToggleVehicleCollision(vehicleid,bool:toggle);



PlayerCollision Functions:

IsPlayerCollisionEnabled();

Tryg3D::InitPlayerCollision(); //OnGameModeInit / OnFilterScriptInit

Tryg3D::ExitPlayerCollision();

Tryg3D::SyncPlayerCollision(playerid); //auto called after player spawn

IsToggledPlayerCollision(playerid);

TogglePlayerCollision(playerid,bool:toggle);



ActorCollision Functions:

IsActorCollisionEnabled();

Tryg3D::InitActorCollision(); //OnGameModeInit / OnFilterScriptInit

Tryg3D::ExitActorCollision();

Tryg3D::SyncActorCollision(actorid); //After create/change actor position

IsToggledActorCollision(actorid);

ToggleActorCollision(actorid,bool:toggle);



Extended Functions:

randomex(min,max);

Tryg3D::GetErrorCount();

Tryg3D::ResetErrorCount();

Tryg3D::SetStreamDistance(Float:streamdistance); //default 300.0

Tryg3D::GetStreamDistance();

Tryg3D::GetActiveCount();

Tryg3D::GetVersion(value);

Tryg3D::KeyPressed(key);

Tryg3D::KeyReleased(key);

Tryg3D::KeyHolding(key);

Tryg3D::SecToTimeDay(second);      //Use: %d:%02d:%02d:%02d

Tryg3D::MSToTimeDay(millisecond);  //Use: %d:%02d:%02d:%02d

Tryg3D::SecToTime(second);         //Use: %02d:%02d:%02d

Tryg3D::MSToTime(millisecond);     //Use: %02d:%02d:%02d

Tryg3D::SecToTimeMini(second);     //Use: %02d:%02d

Tryg3D::MSToTimeMini(millisecond); //Use: %02d:%02d



Animation Functions:

Animation::IsPlayerSkydiving(playerid);

Animation::IsPlayerUsingParachute(playerid);

Animation::IsPlayerAiming(playerid);

Animation::IsPlayerStay(playerid);

Animation::IsPlayerRunning(playerid);

Animation::IsPlayerSwim(playerid);

Animation::IsPlayerJump(playerid);

Animation::IsPlayerParaFall(playerid);

Animation::IsPlayerParaGlide(playerid);

Animation::IsPlayerFall(playerid);



Streamer Functions:

SetPlayerAbsolutePosition(playerid,Float:x,Float:y,Float:z,Float:angle,worldid=-1,interiorid=-1,compensatedtime=-1,freezeplayer=1);

SetPlayerAbsolutePositionVeh(playerid,Float:x,Float:y,Float:z,Float:angle,worldid=-1,interiorid=-1,compensatedtime=-1,freezeplayer=1);

IsDynamicActorInRangeOfPoint(actorid,Float:range,Float:x,Float:y,Float:z);

IsVehicleFullyInDynamicArea(vehicleid,areaid);

Random::PointInDynamicArea(STREAMER_TAG_AREA:areaid,&Float:tx,&Float:ty,&Float:tz);

IPL_CreateDynamicObject(modelid,Float:x,Float:y,Float:z,Float:qx,Float:qy,Float:qz,Float:qw,worldid=-1,interiorid=-1,playerid=-1,Float:streamdistance=STREAMER_OBJECT_SD,Float:drawdistance=STREAMER_OBJECT_DD,STREAMER_TAG_AREA:areaid=STREAMER_TAG_AREA:-1,priority=0);



ColAndreas Functions:

MovePointCol(Float:StartX,Float:StartY,Float:StartZ,Float:EndX,Float:EndY,Float:EndZ,&Float:x,&Float:y,&Float:z);

MovePointColCutLine(Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,&Float:x,&Float:y,&Float:z,Float:cut_size=0.0);

MovePointColCutLineEx(Float:sX,Float:sY,Float:sZ,Float:eX,Float:eY,Float:eZ,&Float:x,&Float:y,&Float:z,Float:cut_size=0.0);

GetPointInFront3DCol(Float:x,Float:y,Float:z,Float:rx,Float:rz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

GetPointInFront3DColEx(Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz,Float:radius,&Float:tx,&Float:ty,&Float:tz);

Float:GetPointInFrontOfPlayerCol(playerid,&Float:tx,&Float:ty,Float:radius);

Float:GetPointInFrontOfCamera2DCol(playerid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfCamera3DCol(playerid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

Float:GetPointInFrontOfVehicle2DCol(vehicleid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfVehicle3DCol(vehicleid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

GetGroundRotation(Float:x,Float:y,Float:size,&Float:rx,&Float:ry);

GetPointCollisionFlags(Float:x,Float:y,Float:z,interiorid=0);

IsCollisionFlag(value,flag);

UndergroundFindZ(Float:x,Float:y,&Float:z);

InteriorFindZ(Float:px,Float:py,Float:pz,Float:size=2.0,&Float:z=0.0);

IsPointInWater(Float:x,Float:y,Float:z=0.0);

IsPointInUnderwater(Float:x,Float:y,Float:z);

IsPointInUnderground(Float:x,Float:y,Float:z);

IsPointInAir(Float:x,Float:y,Float:z,bool:interior=false,Float:max_distance=2.2);

IsPointInGround(Float:x,Float:y,Float:z,bool:interior=false,Float:max_distance=2.2);

IsBetweenPlayersIsWall(playerid,targetid);

IsBetweenPlayerToPointIsWall(playerid,Float:x,Float:y,Float:z);

GetPointInWallForPoint(Float:x,Float:y,Float:z,Float:radius,&Float:tx,&Float:ty,&Float:tz,Float:sector=90.0);

SetPlayerCameraDirectionLookAt(playerid,Float:x,Float:y,Float:z,Float:distance = 5.0,Float:rx=20.0,Float:sector=90.0);

GetWallRotation(Float:sx,Float:sy,Float:sz,Float:ex,Float:ey,Float:ez,&Float:rx,&Float:rz,&Float:px=0.0,&Float:py=0.0,&Float:pz=0.0,Float:size=1.0,Float:cut_size=0.0);

ColAndreas::FindGroundZ(Float:x,Float:y,Float:z,&Float:gZ);

Tryg3D::CollisionCheck(Float:StartX,Float:StartY,Float:StartZ,Float:EndX,Float:EndY,Float:EndZ,&Float:x,&Float:y,&Float:z,&Item3D_Type:item_type=Item3D_Type:0,&element_id=0,Float:cut_size=0.0,ignore_vehicle = INVALID_VEHICLE_ID,ignore_player = INVALID_PLAYER_ID,ignore_actor = INVALID_ACTOR_ID,collision_flags = TRYG3D_COLLISION_FLAG_ALL);



ColAndreas Extended Functions:

Tryg3D::IsColAndreasInit();

Tryg3D::SafeColAndreasInit();



ColAndreas Callbacks:

OnColAndreasRemoveBuilding();



Grenade Detection Callbacks (ColAndreas):

OnPlayerDroppingGrenade(playerid,weaponid,Float:x,Float:y,Float:z);



YSF Functions:

Float:GetPlayerHydraReactorRX(playerid);

IsPlayerHydraReactorBoost(playerid);

GetPlayerRotation(playerid,&Float:rx,&Float:ry,&Float:rz);

CountTextDraw();

CountPlayerTextDraw(playerid);

CountVisibleTextDraw(playerid);

CountVisiblePlayerTextDraw(playerid);

CountGangZone();

CountVisibleGangZone(playerid);

CountPlayerGangZone(playerid);

CountVisiblePlayerGangZone(playerid);

IsVehicleOnSpawn(vehicleid,Float:check_radius=1.0);

IsPlayerOnSpawn(playerid,Float:check_radius=1.0);

Random::PointInGangZone(zoneid,&Float:tx,&Float:ty);

Random::PointInPlayerGangZone(playerid,zoneid,&Float:tx,&Float:ty);



FCNPC Functions:

FCNPC::GetPointInFront(npcid,&Float:tx,&Float:ty,Float:radius);

FCNPC::InRangeOfPoint(npcid,Float:range,Float:x,Float:y,Float:z);

FCNPC::GetTargetAngle(npcid,Float:x,Float:y,&Float:rz=0.0);

FCNPC::SetTargetAngle(npcid,Float:x,Float:y,&Float:rz=0.0);

FCNPC::SetVehicleRotation(npcid,Float:rx,Float:ry,Float:rz);

FCNPC::SetVehicleTargetRotation(npcid,Float:tx,Float:ty,Float:tz,Float:ry=0.0);

FCNPC::GoToAir(npcid,Float:x,Float:y,Float:z,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,Float:min_distance=0.0,stopdelay=250);



FCNPC Functions (ColAndreas):

FCNPC::GetPointInFrontCol(npcid,&Float:tx,&Float:ty,Float:radius);

FCNPC::GoToCol(npcid,Float:x,Float:y,Float:z,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,mode = FCNPC_MOVE_MODE_AUTO,Float:cut_size=0.0,bool:set_angle=true,Float:min_distance=0.0,stopdelay=250);

FCNPC::GoToPlayerCol(npcid,playerid,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,mode = FCNPC_MOVE_MODE_AUTO,Float:cut_size=0.0,bool:set_angle=true,Float:min_distance=0.0,stopdelay=250);

FCNPC::GoToPlayerOnGroundCol(npcid,playerid,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,mode = FCNPC_MOVE_MODE_AUTO,Float:cut_size=1.0,Float:climbing=2.0,bool:set_angle=true,Float:min_distance=0.0,stopdelay=250);

FCNPC::GoToPlayerOnGroundColVeh(npcid,playerid,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,mode = FCNPC_MOVE_MODE_AUTO,Float:cut_size=1.0,Float:climbing=2.0,bool:set_angle=true,Float:min_distance=0.0,stopdelay=250);

FCNPC::GoToAirCol(npcid,Float:x,Float:y,Float:z,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,Float:cut_size=0.0,Float:min_distance=0.0,stopdelay=250);

FCNPC::RandomMoveInDynamicArea(npcid,STREAMER_TAG_AREA:areaid,Float:climbing=2.0,type=FCNPC_MOVE_TYPE_AUTO,Float:speed=FCNPC_MOVE_SPEED_AUTO,mode = FCNPC_MOVE_MODE_AUTO,bool:set_angle=true,Float:min_distance=0.0,stopdelay=250);

FCNPC::SetAbsolutePosition(npcid,Float:x,Float:y,Float:z,Float:angle,worldid=-1,interiorid=-1,compensatedtime=-1,freezeplayer=1);

FCNPC::SetFloorPos(npcid);



VehicleStreamer Functions:

GetDynamicVehicleFlags(vehicleid);

Float:GetDynamicVehicleSpeed(vehicleid);

Float:GetPointInFrontOfDynVeh2D(vehicleid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfDynVeh3D(vehicleid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

IsDynVehInRangeOfPoint(vehicleid,Float:range,Float:x,Float:y,Float:z);

IsDynVehFullyInDynamicArea(vehicleid,areaid);

Float:GetPointInFrontOfDynVeh2DCol(vehicleid,&Float:tx,&Float:ty,Float:radius);

GetPointInFrontOfDynVeh3DCol(vehicleid,&Float:tx,&Float:ty,&Float:tz,Float:radius,&Float:rx=0.0,&Float:rz=0.0);

IsDynamicVehicleOnSpawn(vehicleid,Float:check_radius=1.0);

GetDynamicVehicleRotation(vehicleid,&Float:rx,&Float:ry,&Float:rz);



Deprecated Functions:

GetDistanceBetweenPoints       -> GetDistanceBetweenPoints3D

GetPlayersDistance             -> Item::GetDistance

GetVehiclesDistance            -> Item::GetDistance

GetObjectsDistance             -> Item::GetDistance

GetActorDistanceFromPoint      -> Item::GetDistanceFromPoint

GetDistanceBetweenPlayers      -> Item::GetDistance

GetDistanceBetweenVehicles     -> Item::GetDistance

GetDistanceBetweenObjects      -> Item::GetDistance

GetPlayerActorDistance         -> Item::GetDistance

GetPlayerVehicleDistance       -> Item::GetDistance

GetPlayerObjectDistance        -> Item::GetDistance

IsPlayerInCircle               -> Item::In...

IsPlayerInSphere               -> Item::In...

IsPlayerInRectangle            -> Item::In...

IsPlayerInCube                 -> Item::In...

IsPlayerInPolygon              -> Item::In...

GetPlayerCollisionFlags        -> Item::GetCollisionFlags

GetVehicleCollisionFlags       -> Item::GetCollisionFlags

IsPointInWaterFrontOfPlayer    -> Item::IsPointInWaterOrient

MovePointColWithVehicle        -> Tryg3D::CollisionCheck

MovePointColWithVehicleCut     -> Tryg3D::CollisionCheck

Item::ToPointIsVeh             -> Item::CollisionToPoint

Item::ToItemIsVeh              -> Item::CollisionToItem



Symbols:

FLOAT_PI                       - pi constant value

FLOAT_EULER                    - Euler number

FLOAT_NAN                      - Float NaN

FLOAT_DEFECT                   - Float defect (Arc Test)

FLOAT_INFINITY                 - Float Infinity

VBTP                           - Value Bigger Than Possible

VLTP                           - Value Lower Than Possible



Definitions:                  

VERTICAL_CAMERA_RADIUS         - (modifiable)

HORIZONTAL_CAMERA_RADIUS       - (modifiable)

INVALID_ROTATION               - (modifiable)

MAX_POLYGON_POINTS             - (modifiable)

VEHICLE_SPEED_MULTIPLIER       - (modifiable)

PLAYER_SPEED_MULTIPLIER        - (modifiable)

INVALID_MOVE_TIME              - (modifiable)

INVALID_MOVE_SPEED             - (modifiable)

INVALID_VIRTUAL_WORLD          - (modifiable)

CHARACTER_GROUND_Z_DIFF        - (modifiable)

TRYG3D_MAX_AREA_CHECK          - Define area check limit when using Vehicle/Player/Actor collision system (modifiable)

TRYG3D_RANDOM_MAX_ANGLE

WEAPON_DYNAMIC_EXPLOSION_DMG   - deatch reason by using Cast3D::ExplosionDMG

WEAPON_DYNAMIC_EXPLOSION_RANGE - deatch reason by using Cast3D::ExplosionRangeDMG



Position Flags:

POSITION_FLAG_WORLD

POSITION_FLAG_INTERIOR

POSITION_FLAG_AIR

POSITION_FLAG_GROUND

POSITION_FLAG_WATER

POSITION_FLAG_UNDERWATER

POSITION_FLAG_UNDERGROUND



Tryg3D::CollisionCheck Flags:

TRYG3D_COLLISION_FLAG_NONE

TRYG3D_COLLISION_FLAG_OBJECT

TRYG3D_COLLISION_FLAG_VEHICLE

TRYG3D_COLLISION_FLAG_PLAYER

TRYG3D_COLLISION_FLAG_ACTOR

TRYG3D_COLLISION_FLAG_ALL



Vehicle Flags:

VF_STREET        VF_AIRBORNE      VF_NATATORIAL    VF_MILITARY      VF_TRAIN         VF_RC            VF_CARRIAGE

VF_AIRPLANE      VF_HELICOPTER    VF_BIKES         VF_TRAILER       VF_TOWABLE       VF_POLICE



Vehicle Parts:

VEHICLE_PART_RFTIRE         - Right Front tire

VEHICLE_PART_LFTIRE         - Left Front tire

VEHICLE_PART_RRTIRE         - Right Rear tire

VEHICLE_PART_LRTIRE         - Left Rear tire

VEHICLE_PART_HOOD           - In Front

VEHICLE_PART_TRUNK          - Behind

VEHICLE_PART_ROOF           - Roof

VEHICLE_PART_CHASSIS        - Chassis

VEHICLE_PART_PETROLCAP      - Petrolcap



enum 'element_orientation'

# o_left                    - Orientation Left

# o_right                   - Orientation Right

# o_up                      - Orientation Up

# o_down                    - Orientation Down

# o_front                   - Orientation Front

# o_back                    - Orientation Back

# o_front_left              - Orientation Front left (diagonal)

# o_front_right             - Orientation Front right (diagonal)

# o_back_left               - Orientation Back left (diagonal)

# o_back_right              - Orientation Back right (diagonal)



enum 'Item3D_Type'

# item_player

# item_npc

# item_actor

# item_object

# item_vehicle

# item_dynamic_object

# item_dynamic_pickup

# item_dynamic_cp

# item_dynamic_racecp

# item_dynamic_mapicon

# item_dynamic_3dtext

# item_dynamic_actor

# item_dynamic_vehicle

# item_fcnpc



enum 'StreamType'

# s_invalid

# s_circle

# s_cylinder2d

# s_cylinder3d

# s_sphere

# s_rectangle

# s_cube2d

# s_cube3d

# s_polygon

# s_circularsector

# s_sphericalsector

# s_cone2d

# s_cone3d

# s_ellipse

# s_ellipticalcyl2d

# a_sphericalsectorex



enum 'Vectors3D'

# Float: T3D:X             - Position X

# Float: T3D:Y             - Position Y

# Float: T3D:Z             - Position Z

# Float: T3D:A             - Angle



enum 'Float3D'

# Float: T3D:X             - Position X

# Float: T3D:Y             - Position Y

# Float: T3D:Z             - Position Z

# Float: T3D:rX            - Rotation X

# Float: T3D:rY            - Rotation Y

# Float: T3D:rZ            - Rotation Z

# Float: T3D:tX            - Target Position X

# Float: T3D:tY            - Target Position Y

# Float: T3D:tZ            - Target Position Z

#        T3D:VW            - Virtual World ID

#        T3D:INT           - Interior ID

# Float: T3D:SPEED         - Speed



enum 'LongFloat3D'

# Float: T3D:X             - Position X

# Float: T3D:Y             - Position Y

# Float: T3D:Z             - Position Z

# Float: T3D:rX            - Rotation X

# Float: T3D:rY            - Rotation Y

# Float: T3D:rZ            - Rotation Z

# Float: T3D:tX            - Target Position X

# Float: T3D:tY            - Target Position Y

# Float: T3D:tZ            - Target Position Z

# Float: T3D:trX           - Target Rotation X

# Float: T3D:trY           - Target Rotation Y

# Float: T3D:trZ           - Target Rotation Z

# Float: T3D:VecX          - Vector Position X

# Float: T3D:VecY          - Vector Position Y

# Float: T3D:VecZ          - Vector Position Z

#        T3D:VW            - Virtual World ID

#        T3D:INT           - Interior ID

# Float: T3D:SPEED         - Speed



enum 'OrientationCube3D'

# o_left_back_down

# o_right_back_down

# o_right_front_down

# o_left_front_down

# o_left_back_up

# o_right_back_up

# o_right_front_up

# o_left_front_up



enum 'T3D:eulermode'

# T3D:euler_xzx - Proper / Classic Euler angles

# T3D:euler_xyx - Proper / Classic Euler angles

# T3D:euler_yxy - Proper / Classic Euler angles

# T3D:euler_yzy - Proper / Classic Euler angles

# T3D:euler_zyz - Proper / Classic Euler angles

# T3D:euler_zxz - Proper / Classic Euler angles

# T3D:euler_xzy - Tait-Bryan angles

# T3D:euler_xyz - Tait-Bryan angles

# T3D:euler_yxz - Tait-Bryan angles

# T3D:euler_yzx - Tait-Bryan angles

# T3D:euler_zyx - pitch roll yaw

# T3D:euler_zxy - sa-mp



Download:

3DTryg.inc



More functions available with plugins:

ColAndreas (Recommended 1GB RAM for server by using this plugin)

YSF

Streamer

FCNPC

VehicleStreamer



Compatibility includes:

rotation.inc by Nero_3D

i_quat.inc by IllidanS4

YSI Libraries (with #define ENABLE_3D_TRYG_YSI_SUPPORT if you got error)



Supported elements:

1. Character Elements:

- Player's

- NPC's

- Actor's

- FCNPC's



2. Static Elements:

- Object's

- Vehicle's

- GangZone's



3. Dynamic Elements:

- DynamicObject's

- DynamicPickup's

- DynamicCP's

- DynamicRaceCP's

- DynamicMapIcon's

- Dynamic3DText's

- DynamicActor's

- DynamicVehicles's



4. Areas 2D / 3D:

a) Geometric Figures:

- Circle

- Rectangle

- Polygon

- CircularSector

- Ellipse

- Cone2D



b) Chunk:

- Cylinder2D

- Sphere

- Cube

- EllipticalCylinder2D



c) Rotated Chunk:

- Cylinder3D

- SphericalSector

- Cube3D

- Cone3D