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

Username
  

Password
  





Search Forums



(Advanced Search)

Forum Statistics
» Members: 7,621
» Latest member: Dilshad
» Forum threads: 2,338
» Forum posts: 12,275

Full Statistics

Online Users
There are currently 353 online users.
» 0 Member(s) | 349 Guest(s)
Bing, Google, Yandex, Applebot

Latest Threads
Need To Hire Pawno Coder....
Forum: General Discussions
Last Post: Dilshad
3 hours ago
» Replies: 1
» Views: 764
Original Godfather
Forum: Pawn Scripting
Last Post: NmE
Yesterday, 11:48 AM
» Replies: 3
» Views: 136
What would you start?
Forum: Life
Last Post: vuongtrungnu13
Yesterday, 01:55 AM
» Replies: 4
» Views: 9,783
People who have one of th...
Forum: Tech
Last Post: vuongtrungnu13
Yesterday, 01:39 AM
» Replies: 2
» Views: 5,141
After School Community
Forum: Advertisements
Last Post: cosminupgaming
2025-10-19, 12:42 PM
» Replies: 0
» Views: 64
[SDK] SDK C++ MODERNO
Forum: Portuguese/Portugu?s
Last Post: Crazy_ArKzX
2025-10-19, 02:18 AM
» Replies: 0
» Views: 29
[SDK] SDK C++ MODERN
Forum: Tech
Last Post: Crazy_ArKzX
2025-10-19, 02:17 AM
» Replies: 0
» Views: 35
Need assistance
Forum: Pawn Scripting
Last Post: Cappsy
2025-10-18, 02:29 AM
» Replies: 1
» Views: 73
Magyar
Forum: Hungarian/Magyar
Last Post: Cappsy
2025-10-18, 02:19 AM
» Replies: 33
» Views: 62,890
United Gaming Life Rolepl...
Forum: Advertisements
Last Post: Cruncher
2025-10-17, 08:33 PM
» Replies: 1
» Views: 426

 
  Knife Shot / Throwing knife
Posted by: AbyssMorgan - 2021-04-18, 12:23 PM - Forum: Filterscripts - No Replies

Hello, I would like to present you the Knife Shot Script



Video:

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

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



Download:

Knife.inc

3DTryg.inc

ColAndreas Plugin



Installation:

Code:
#include <colandreas>

#include <3DTryg>

#include <Knife>



Functions:

Code:
Knife::ToggleUseTeam(bool:toggle);            //default: false

Knife::IsToggleUseTeam();

Knife::ToggleForAll(bool:toggle);             //default: false

Knife::IsToggleForAll();

Knife::ToggleForPlayer(playerid,bool:toggle); //default: false

Knife::IsToggleForPlayer(playerid);

Knife::GetDamage(playerid);

Knife::SetDamage(playerid,Float:amount);

Knife::GetSpeed(playerid);

Knife::SetSpeed(playerid,Float:speed);

Knife::GetRange(playerid);

Knife::SetRange(playerid,Float:range);

Knife::GetAmmo(playerid);

Knife::SetAmmo(playerid,ammo);

Knife::TogglePoisoning(playerid,bool:toggle);

Knife::IsTogglePoisoning(playerid);

Knife::GetPoisoningTime(playerid);

Knife::SetPoisoningTime(playerid,seconds);

Knife::GetPoisoningDamage(playerid);

Knife::SetPoisoningDamage(playerid,Float:damage);



Callbacks:

Code:
OnPlayerRequestKnifeShot(playerid,targetid); //return 0 - prevent to use knife shoot (this callback is called also if ammo is 0)



Definitions:

Code:
KNIFE_SPEED

KNIFE_MAX_RADIUS

KNIFE_REFRESH_ACTION

KNIFE_REFRESH_MISS

KNIFE_DAMAGE

KNIFE_WEAPON_AMMO_INFINITY

KNIFE_DOT_POISONING

KNIFE_POISONING_TIME



WEAPON_KNIFE_THROWN

WEAPON_KNIFE_POISONING



Activation:

Code:
Weapon: Knife



Step 1: Right Mouse Button

Step 2: Left Mouse Button



Notice:

Filterscript not exist because filterscripts have limits.

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


  VehPara (Vehicle parachute)
Posted by: AbyssMorgan - 2021-04-18, 12:14 PM - Forum: Filterscripts - Replies (4)

Hello, I would like to present you the Vehicle Parachute Script



Video:

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



Download:

VehPara.inc

3DTryg.inc

ColAndreas Plugin



Installation:

Code:
#include <ColAndreas>

#include <3DTryg>

#include <VehPara>



Functions:

Code:
bool:IsPlayerUsingVehPara(playerid);

bool:IsToggleVehicleParachute(vehicleid);

ToggleVehicleParachute(vehicleid,bool:toggle);

SetVehicleParachuteKey(key);



Callbacks:

Code:
OnVehicleParachuteThrown(playerid,vehicleid);

OnVehicleParachuteOpened(playerid,vehicleid);

OnVehicleParachuteOpenFail(playerid,vehicleid);



Activation:

Code:
H - Open/thrown parachute



Example Code:

Code:
CMD:vehpara(playerid){



new vid = GetPlayerVehicleID(playerid);

if(IsToggleVehicleParachute(vid)) return SendClientMessage(playerid,0xCC0000FF,"Your vehicle already has a parachute");

if(!IsVehicleFlag(GetVehicleFlags(vid),VF_STREET)) return SendClientMessage(playerid,0xCC0000FF,"For this vehicle can not be mounted parachute");



ToggleVehicleParachute(vid,true);

return 1;

}



//Callbacks:

public OnVehicleParachuteThrown(playerid,vehicleid){

GameTextForPlayer(playerid,"~g~Parachute has been thrown",2500,3);

return 1;

}



public OnVehicleParachuteOpened(playerid,vehicleid){

GameTextForPlayer(playerid,"~g~Parachute has been opened",2500,3);

return 1;

}



public OnVehicleParachuteOpenFail(playerid,vehicleid){

GameTextForPlayer(playerid,"~g~Cannot use parachute",2500,3);

return 1;

}



Notice:

Filterscript not exist because filterscripts have limits.

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


  ExtendedGrenade
Posted by: AbyssMorgan - 2021-04-18, 12:11 PM - Forum: Libraries - No Replies

Hello, I would like to present you the Extended Granade.



Video:

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



Functions:

Code:
Grenade::IsWeaponEnable(playerid,special_weaponid);

Grenade::WeaponEnable(playerid,special_weaponid,bool:enable);

Grenade::GetSpecialAmmo(playerid,special_weaponid);

Grenade::SetSpecialAmmo(playerid,special_weaponid,ammo);

Grenade::GetEffectID(playerid,special_weaponid);

Grenade::SetEffectID(playerid,special_weaponid,effectid);

Grenade::GetDamage(playerid,special_weaponid);

Grenade::SetDamage(playerid,special_weaponid,Float:damage);

Grenade::GetVehicleDamage(playerid,special_weaponid);

Grenade::SetVehicleDamage(playerid,special_weaponid,Float:damage);

Grenade::GetTime(playerid,special_weaponid);

Grenade::SetTime(playerid,special_weaponid,seconds);

Grenade::IsToggleGasMask(playerid);

Grenade::ToggleGasMask(playerid,bool:toggle);

Grenade::GetSpecialWeaponID(weaponid);

Grenade::GrenadeEffectByPlayer(playerid,special_weaponid,Float:x,Float:y,Float:z);

Grenade::CreateGrenadeEffect(special_weaponid,effectid,Float:x,Float:y,Float:z,worldid,interiorid,playerid,Float:streamdistance,Float:damage,Float:veh_damage,active_time=25,byplayerid=INVALID_PLAYER_ID);

Grenade::DestroyEffect(mobid);



Definitions:

Code:
MAX_GRENADE_EFFECT



GRENADE_DOT_TEAR_GAS

GRENADE_DOT_FIRE



GRENADE_EFFECT_TIME



GRENADE_DEFAULT_PLAYER_DAMAGE

GRENADE_DEFAULT_VEHICLE_DAMAGE



INVALID_GRENADE_ID



//death reason

WEAPON_SUFFOCATION

WEAPON_NAPALM



GRENADE_MAX_SPECIAL_WEAPON



GRENADE_SPECIAL_WEAPON_NONE

GRENADE_SPECIAL_WEAPON_GRENADE

GRENADE_SPECIAL_WEAPON_TEARGAS

GRENADE_SPECIAL_WEAPON_MOLTOV



GRENADE_EFFECT_NONE



GRENADE_EFFECT_CLUSTER_BOMB_1

GRENADE_EFFECT_CLUSTER_BOMB_2

GRENADE_EFFECT_CLUSTER_BOMB_3

GRENADE_EFFECT_CLUSTER_BOMB_4

GRENADE_EFFECT_BANG_GRENADE



GRENADE_EFFECT_SMALL_SMOKE

GRENADE_EFFECT_HUGE_SMOKE_1

GRENADE_EFFECT_HUGE_SMOKE_2

GRENADE_EFFECT_HUGE_SMOKE_3



GRENADE_EFFECT_NAPALM



Download:

ExtendedGrenade.inc

3DTryg.inc

ColAndreas Plugin


  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