Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /***************************************************** Usefull Functions v1.1 ***
- *
- * Scriptname:
- * -» pFUNC
- *
- * Author:
- * -» Pablo_Borsellino
- *
- * Release Date:
- * -» 6th October 2011
- *
- * Version:
- * -» 1.1
- *
- * Need to use:
- * -» Sa:Mp 0.3d RC 1 or higher
- *
- * Language:
- * -» English
- *
- * Description:
- * -» Provides 34 usefull Functions + 1 usefull Public
- *
- * Functions:
- * -» listed below!
- *
- * Public's:
- * -» listed below!
- *
- * Copyright © 2011 by Pablo_Borsellino
- *******************************************************************************/
- #include a_samp
- //__________________________________________________________________Definition's
- #if !defined forEx
- #define forEx(%0,%1) for(new %1=0;%1<%0;%1++)
- #endif
- #if !defined dcmd
- #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
- #endif
- #if !defined MAX_ACTION_NAME
- #define MAX_ACTION_NAME 64 //At most lenght (cell size) for Action names
- #endif
- #if !defined INVALID_ACTION_ID
- #define INVALID_ACTION_ID -1 //Invalid Action ID under 0 or over normal 600
- #endif
- #if !defined INVALID_TIMER_ID
- #define INVALID_TIMER_ID -1 //Invalid Timer ID if a Timer is not set
- #endif
- #if !defined MAX_SERVER_ACTIONS
- #define MAX_SERVER_ACTIONS 100 //Actions for Server (outside of Player Actions)
- #endif
- //__________________________________________________________________Enumerator's
- enum Action_
- {
- _ActionN[MAX_ACTION_NAME], //Action Name
- _ActionT, //Action Time
- bool:_ActionE //Action exist
- }
- //_________________________________________________________________________New's
- new
- bool:_Cheat[MAX_PLAYERS][10],
- bool:_PlayerKey[17][MAX_PLAYERS],
- _Action[MAX_PLAYERS+MAX_SERVER_ACTIONS][Action_],
- _FreezeTimer[MAX_VEHICLES]=INVALID_TIMER_ID,
- _FreezeSteps[MAX_VEHICLES][2],
- _Update[MAX_PLAYERS],
- _Olddate[MAX_PLAYERS];
- /*¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯Declaration's
- | GetWeaponDamage(WeaponID)
- | • return: Damage from Weaponid in Healthpoints
- | • wrong Syntax: return Error Message
- | IsKeyDown(Player,const Key)
- | • return: true
- | • wrong Syntax: return Error Message
- | FreezeVehicle(vehid,time)
- | • return: true
- | • wrong Syntax: return Error Message
- | FreezeVehicleEx(vehid,Float:X,Float:Y,Float:Z,Float:)
- | • return: true
- | • wrong Syntax: -impossible-
- | SetVehicleParams(VehicleID,Engine,Light,Alarm,Locked,Boonet,Boot,Objective)
- | • return: true
- | • wrong Syntax: -impossible-
- | AddAction(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- | • return: true
- | • wrong Syntax: -impossible-
- | RemAction(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- | • return: true
- | • wrong Syntax: -impossible-
- | AddActionTime(time,const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- | • return: true
- | • wrong Syntax: false
- | RemActionTime(time,const Name[MAX_ACTION_NAME],playerid = INVALID_ACTION_ID)
- | • return: true
- | • wrong Syntax: false
- | GetSecondsBetweenAction(const Name[MAX_ACTION_NAME],playerid = INVALID_ACTION_ID)
- | • return: Player: playerid, Seconds / Server: Seconds
- | • wrong Syntax: false
- | IfActionExist(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- | • return: true
- | • wrong Syntax: false
- | GetActionID(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- | • return: Action ID
- | • wrong Syntax:INVALID_ACTION_ID
- | GetFreeActionID()
- | • return: Free Action ID
- | • wrong Syntax: INVALID_ACTION_ID
- | ToggleCheatForPlayer(playerid,Cheat[],bool:Allowed)
- | • return: true
- | • wrong Syntax: return Error Message
- | IsCheatAllowedForPlayer(playerid,Cheat[])
- | • return: true/false
- | • wrong Syntax: return Error Message
- | SendClientCommand(playerid,Command[])
- | • return: true
- | • wrong Syntax: -impossible-
- | GetNextFreePlayerID()
- | • return: free id/-1
- | • wrong Syntax: -impossible-
- | SetServerPassword(password[])
- | • return: true
- | • wrong Syntax: -impossible-
- | RemoveServerPassword()
- | • return: true
- | • wrong Syntax: -impossible-
- | ScrollText(Text[])
- | • return: scrolled text
- | • wrong Syntax: -impossible-
- | RemoveCranesForPlayer(playerid)
- | • return: true
- | • wrong Syntax: -impossible-
- | RemoveSodaMachinesForPlayer(playerid)
- | • return: true
- | • wrong Syntax: -impossible-
- | GetRandomNumber(...)
- | • return: one random entered number
- | • wrong Syntax: -unknown-
- | GetRandomColor()
- | • return: Colorcode like
- | • wrong Syntax: -unknown-
- | IsValidVehicle(VehicleID)
- | • return: true/false
- | • wrong Syntax: false
- | ReverseText(const Text[])
- | • return: reversed text
- | • wrong Syntax: -impossible-
- | GetRandomCode(Cells)
- | • return: Random Code
- | • wrong Syntax: return Error Message
- | GetPlayerIPEx(playerid)
- | • return: Player IP
- | • wrong Syntax: -imposssible-
- | SendClientMessageEx(Color,Text[],...)
- | • return: true
- | • wrong Syntax: -imposssible-
- | GetVehicleDriver(VehicleID)
- | • return: vehicle driver/-1
- | • wrong Syntax: -imposssible-
- | IsValidNosVehicle(VehicleID)
- | • return: true/false
- | • wrong Syntax: -imposssible-
- | Log(FileName[],FileType[],Text[])
- | • return: true
- | • wrong Syntax: return Error Message
- | KickEx(...)
- | • return: true
- | • wrong Syntax: -imposssible-
- | IsPlayerReloading(playerid)
- | • return: true/false
- | • wrong Syntax: -imposssible-
- | IsValidSkin(SkinID)
- | • return: true/false
- | • wrong Syntax: -imposssible-
- | GetVehicleMaxPassengers(VehicleID)
- | • return: vehicle seats
- | • wrong Syntax: -imposssible-
- | OnPlayerEnterCheat(playerid,Cheat[]);
- | • return: -nothing-
- | • wrong Syntax: -impossible-
- |_____________________________________________________________________________*/
- #define IsValidVehicle GetVehicleModel //by KoczkaHUN
- //______________________________________________________________________________
- forward FUNC_OnPlayerKeyStateChange(playerid,newkeys,oldkeys);
- public FUNC_OnPlayerKeyStateChange(playerid,newkeys,oldkeys)
- {
- if(newkeys&1)_PlayerKey[0][playerid]=true;else if(oldkeys&1)_PlayerKey[0][playerid]=false;
- if(newkeys&2)_PlayerKey[1][playerid]=true;else if(oldkeys&1)_PlayerKey[1][playerid]=false;
- if(newkeys&4)_PlayerKey[2][playerid]=true;else if(oldkeys&1)_PlayerKey[2][playerid]=false;
- if(newkeys&8)_PlayerKey[3][playerid]=true;else if(oldkeys&1)_PlayerKey[3][playerid]=false;
- if(newkeys&16)_PlayerKey[4][playerid]=true;else if(oldkeys&1)_PlayerKey[4][playerid]=false;
- if(newkeys&32)_PlayerKey[5][playerid]=true;else if(oldkeys&1)_PlayerKey[5][playerid]=false;
- if(newkeys&64)_PlayerKey[6][playerid]=true;else if(oldkeys&1)_PlayerKey[6][playerid]=false;
- if(newkeys&128)_PlayerKey[7][playerid]=true;else if(oldkeys&1)_PlayerKey[7][playerid]=false;
- if(newkeys&256)_PlayerKey[8][playerid]=true;else if(oldkeys&1)_PlayerKey[8][playerid]=false;
- if(newkeys&512)_PlayerKey[9][playerid]=true;else if(oldkeys&1)_PlayerKey[9][playerid]=false;
- if(newkeys&512)_PlayerKey[10][playerid]=true;else if(oldkeys&1)_PlayerKey[10][playerid]=false;
- if(newkeys&1024)_PlayerKey[11][playerid]=true;else if(oldkeys&1)_PlayerKey[11][playerid]=false;
- if(newkeys&128)_PlayerKey[12][playerid]=true;else if(oldkeys&1)_PlayerKey[12][playerid]=false;
- if(newkeys&2048)_PlayerKey[13][playerid]=true;else if(oldkeys&1)_PlayerKey[13][playerid]=false;
- if(newkeys&4096)_PlayerKey[14][playerid]=true;else if(oldkeys&1)_PlayerKey[14][playerid]=false;
- if(newkeys&8192)_PlayerKey[15][playerid]=true;else if(oldkeys&1)_PlayerKey[15][playerid]=false;
- if(newkeys&16384 )_PlayerKey[16][playerid]=true;else if(oldkeys&1)_PlayerKey[16][playerid]=false;
- return true;
- }
- //______________________________________________________________________________
- stock IsKeyDown(Player,Key)
- {
- if(Key==1&&_PlayerKey[0][Player]==true)return true; //KEY_ACTION
- if(Key==2&&_PlayerKey[1][Player]==true)return true; //KEY_CROUCH
- if(Key==4&&_PlayerKey[2][Player]==true)return true; //KEY_FIRE
- if(Key==8&&_PlayerKey[3][Player]==true)return true; //KEY_SPRINT
- if(Key==16&&_PlayerKey[4][Player]==true)return true; //KEY_SECONDARY_ATTACK
- if(Key==32&&_PlayerKey[5][Player]==true)return true; //KEY_JUMP
- if(Key==64&&_PlayerKey[6][Player]==true)return true; //KEY_LOOK_RIGHT
- if(Key==128&&_PlayerKey[7][Player]==true)return true; //KEY_HANDBRAKE
- if(Key==256&&_PlayerKey[8][Player]==true)return true; //KEY_LOOK_LEFT
- if(Key==512&&_PlayerKey[9][Player]==true)return true; //KEY_SUBMISSION
- if(Key==512&&_PlayerKey[10][Player]==true)return true; //KEY_LOOK_BEHIND
- if(Key==1024&&_PlayerKey[11][Player]==true)return true; //KEY_WALK
- if(Key==128&&_PlayerKey[12][Player]==true)return true; //KEY_AIM
- if(Key==2048&&_PlayerKey[13][Player]==true)return true; //KEY_ANALOG_UP
- if(Key==4096&&_PlayerKey[14][Player]==true)return true; //KEY_ANALOG_DOWN
- if(Key==8192&&_PlayerKey[15][Player]==true)return true; //KEY_ANALOG_LEFT
- if(Key==16384&&_PlayerKey[16][Player]==true)return true;//KEY_ANALOG_RIGHT
- return printf("Function Error: Unknown Key used (%d) in IsKeyDown!",Key);
- }
- //______________________________________________________________Weapon Functions
- stock GetWeaponDamage(WeaponID)
- {
- new FUNC_Damage;
- switch(WeaponID)
- { //ENGLISH / ENGLISCH || GERMAN / DEUTSCH
- case 0:FUNC_Damage=2; //Fist || Faust
- case 1:FUNC_Damage=2; //Brass knuckels || Schlagring
- case 2:FUNC_Damage=5; //Gold Club || Golfschläger
- case 3:FUNC_Damage=5; //Nightstick || Schlagstock
- case 4:FUNC_Damage=3; //Knife || Messer
- case 5:FUNC_Damage=5; //Baseball bat || Baseballschläger
- case 6:FUNC_Damage=5; //Shovel || Schaufel
- case 7:FUNC_Damage=5; //Poolque || Billiard Queue
- case 8:FUNC_Damage=3; //Katana || Katana
- case 9:FUNC_Damage=14; //Chainsaw || Kettensäge
- case 10:FUNC_Damage=5; //Short Vibrator || Kurzer Vibrator
- case 11:FUNC_Damage=5; //Purple Dildo || Lila Dildo
- case 12:FUNC_Damage=5; //White Dildo || Weißer Dildo
- case 13:FUNC_Damage=5; //Long Vibrator || Langer Vibrator
- case 14:FUNC_Damage=5; //Flowers || Blumen
- case 15:FUNC_Damage=5; //Cane || Gehstock
- case 16:FUNC_Damage=83; //Grenade || Granate
- case 17:FUNC_Damage=0; //Tear Grenade || Rauchgranate
- case 18:FUNC_Damage=42; //Molotov || Molotowcocktail
- case 22:FUNC_Damage=17; //9mm || 9mm Pistole
- case 23:FUNC_Damage=14; //SD Pistol || SD Pistole
- case 24:FUNC_Damage=47; //Deagle || Desert Eagle
- case 25:FUNC_Damage=50; //Shotgun || Shotgun
- case 26:FUNC_Damage=50; //Sawn Off Shotgun || Abgesägte Shotgun
- case 27:FUNC_Damage=40; //Combat Shotgun || Combat Shotgun
- case 28:FUNC_Damage=14; //UZI || UZI
- case 29:FUNC_Damage=9; //Mp5 || Mp5
- case 30:FUNC_Damage=10; //Ak47 || Ak47
- case 31:FUNC_Damage=10; //M4 || M4
- case 32:FUNC_Damage=14; //Tec9 || Tec9
- case 33:FUNC_Damage=25; //Country Rifle || Gewehr
- case 34:FUNC_Damage=42; //Sniper Rifle || Scharfschützengewehr
- case 35:FUNC_Damage=83; //RPG || Raketenwerfer
- case 36:FUNC_Damage=83; //Heat seeking rocket || Zielflugraketenwerfer
- case 37:FUNC_Damage=42; //Flame-thrower || Flammenwerfer
- case 38:FUNC_Damage=47; //Minigun || Minigun
- case 39:FUNC_Damage=83; //Satchel charges || Sprengladungen
- case 40:FUNC_Damage=0; //Detonator || Zünder
- case 41:FUNC_Damage=1; //Spray Can || Sprühdose
- case 42:FUNC_Damage=1; //Fire extinguisher || Feuerlöscher
- case 43:FUNC_Damage=0; //Night Vision || Nachtsichtgerät
- case 45:FUNC_Damage=0; //Thermal Goggles || Wärmesichtgerät
- case 46:FUNC_Damage=0; //Parachute || Fallschirm
- default:return printf("Function Error: Unknown Weapon used (%d) in GetWeaponDamage!",WeaponID);
- }
- return FUNC_Damage;
- }
- //_____________________________________________________________Vehicle Functions
- stock FreezeVehicle(vehid,time)
- {
- if(time>0)
- {
- new Float:FUNC_Pos[4];
- GetVehiclePos(vehid,FUNC_Pos[0],FUNC_Pos[1],FUNC_Pos[2]);
- GetVehicleZAngle(vehid,FUNC_Pos[3]);
- _FreezeSteps[vehid][0]=(time*1000)/500;
- _FreezeSteps[vehid][1]=1;
- _FreezeTimer[vehid]=SetTimerEx("FreezeVehicleEx",500,true,"dffff",vehid,FUNC_Pos[0],FUNC_Pos[1],FUNC_Pos[2],FUNC_Pos[3]);
- return true;
- }
- return printf("Function Error: Unknown Time used (%d) in FreezeVehicle!",time);
- }
- stock FreezeVehicleEx(vehid,Float:X,Float:Y,Float:Z,Float:A)
- {
- new Float:FUNC_Pos[4];
- GetVehiclePos(vehid,FUNC_Pos[0],FUNC_Pos[1],FUNC_Pos[2]);
- GetVehicleZAngle(vehid,FUNC_Pos[3]);
- if(FUNC_Pos[0]!=X||FUNC_Pos[1]!=Y||FUNC_Pos[2]!=Z)SetVehiclePos(vehid,X,Y,Z);
- if(FUNC_Pos[3]!=A)SetVehicleZAngle(vehid,A);
- _FreezeSteps[vehid][1]++;
- if(_FreezeSteps[vehid][1]>=_FreezeSteps[vehid][0])KillTimer(_FreezeTimer[vehid]);
- return true;
- }
- stock SetVehicleParams(VehicleID,Engine,Light,Alarm,Locked,Boonet,Boot,Objective)
- {
- new _Engine=Engine,_Light=Light,_Alarm=Alarm,_Locked=Locked,_Boonet=Boonet,_Boot=Boot,_Objective=Objective;
- if(Engine<-1||Engine>1)_Engine=-1;
- if(Light<-1||Light>1)_Light=-1;
- if(Alarm<-1||Alarm>1)_Alarm=-1;
- if(Locked<-1||Locked>1)_Locked=-1;
- if(Boonet<-1||Boonet>1)_Boonet=-1;
- if(Boot<-1||Boot>1)_Boot=-1;
- if(Objective<-1||Objective>1)_Objective=-1;
- SetVehicleParamsEx(VehicleID,_Engine,_Light,_Alarm,_Locked,_Boonet,_Boot,_Objective);
- return true;
- }
- //______________________________________________________________Action Functions
- stock AddAction(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- {
- if(playerid!=INVALID_ACTION_ID)
- {
- _Action[playerid][_ActionN]=Name;
- _Action[playerid][_ActionT]=GetTickCount();
- _Action[playerid][_ActionE]=true;
- }else{
- new aID=GetFreeActionID();
- _Action[aID][_ActionN]=Name;
- _Action[aID][_ActionT]=GetTickCount();
- _Action[aID][_ActionE]=true;
- }
- return true;
- }
- stock RemAction(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- {
- new FUNC_Text[MAX_ACTION_NAME]="Unknown";
- if(playerid!=INVALID_ACTION_ID)
- {
- _Action[playerid][_ActionN]=FUNC_Text;
- _Action[playerid][_ActionT]=-1;
- _Action[playerid][_ActionE]=false;
- }else{
- new aID=GetActionID(Name);
- _Action[aID][_ActionN]=FUNC_Text;
- _Action[aID][_ActionT]=-1;
- _Action[aID][_ActionE]=false;
- }
- return true;
- }
- stock AddActionTime(time,const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- {
- if(time>0)
- {
- if(playerid!=INVALID_ACTION_ID)
- {
- _Action[playerid][_ActionT]=_Action[playerid][_ActionT]-(time*1000);
- if(_Action[playerid][_ActionT]>GetTickCount())_Action[playerid][_ActionT]=GetTickCount();
- return true;
- }else{
- _Action[GetActionID(Name,playerid)][_ActionT]=_Action[GetActionID(Name,playerid)][_ActionT]+(time*1000);
- if(_Action[GetActionID(Name,playerid)][_ActionT]>GetTickCount())_Action[GetActionID(Name,playerid)][_ActionT]=GetTickCount();
- return true;
- }
- }
- return false;
- }
- stock RemActionTime(time,const Name[MAX_ACTION_NAME],playerid = INVALID_ACTION_ID)
- {
- if(time>0)
- {
- if(playerid!=INVALID_ACTION_ID)
- {
- _Action[playerid][_ActionT]=_Action[playerid][_ActionT]+(time*1000);
- if(_Action[playerid][_ActionT]>GetTickCount())_Action[playerid][_ActionT]=GetTickCount();
- return true;
- }else{
- _Action[GetActionID(Name,playerid)][_ActionT]=_Action[GetActionID(Name,playerid)][_ActionT]-(time*1000);
- if(_Action[GetActionID(Name,playerid)][_ActionT]>GetTickCount())_Action[GetActionID(Name,playerid)][_ActionT]=GetTickCount();
- return true;
- }
- }
- return false;
- }
- stock GetSecondsBetweenAction(const Name[MAX_ACTION_NAME],playerid = INVALID_ACTION_ID)
- {
- if(playerid!=INVALID_ACTION_ID)
- {
- new FUNC_Seconds=(GetTickCount()-_Action[playerid][_ActionT])/1000;
- return playerid,FUNC_Seconds;
- }else{
- new FUNC_Seconds=(GetTickCount()-_Action[GetActionID(Name,playerid)][_ActionT])/1000;
- return FUNC_Seconds;
- }
- }
- stock GetFreeActionID()
- {
- new FUNC_ID=INVALID_ACTION_ID;
- for(new i=0;i<MAX_PLAYERS+MAX_SERVER_ACTIONS;i++)
- {
- if(_Action[i][_ActionE]==false&&i>499)FUNC_ID=i;
- }
- return FUNC_ID;
- }
- stock GetActionID(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- {
- new FUNC_ID=INVALID_ACTION_ID;
- if(playerid!=INVALID_ACTION_ID)
- {
- if(_Action[playerid][_ActionE]==true)FUNC_ID=playerid;
- }
- else
- {
- for(new i=0;i<MAX_PLAYERS+MAX_SERVER_ACTIONS;i++)
- {
- if(!strfind(_Action[i][_ActionN],Name,true))
- {
- if(_Action[i][_ActionE]==true)FUNC_ID=i;
- }
- }
- }
- return ID;
- }
- stock IfActionExist(const Name[MAX_ACTION_NAME],playerid=INVALID_ACTION_ID)
- {
- new bool:FUNC_Exist=false;
- if(playerid==INVALID_ACTION_ID)
- {
- forEx(MAX_PLAYERS+MAX_SERVER_ACTIONS,i)
- {
- if(!strfind(_Action[i][_ActionN],Name,true)&&_Action[i][_ActionE]==true)FUNC_Exist=true;
- }
- }
- else if(_Action[playerid][_ActionE]==true)FUNC_Exist=true;
- return FUNC_Exist;
- }
- //__________________________________________________________Single Player Cheats
- forward FUNC_OnPlayerText(playerid,text[]);
- public FUNC_OnPlayerText(playerid,text[])
- {
- if(!strfind(text,"HESOYAM",true)&&_Cheat[playerid][0]==true&&strlen(text)==7)
- {
- OnPlayerEnterCheat(playerid,text);
- SetPlayerHealth(playerid,100);
- SetPlayerArmour(playerid,100);
- GivePlayerMoney(playerid,250000);
- }
- return false;
- }
- stock OnPlayerEnterCheat(playerid,Cheat[])
- {
- return CallRemoteFunction("OnPlayerEnterCheat","ds",playerid,Cheat);
- }
- stock ToggleCheatForPlayer(playerid,Cheat[],bool:Allowed)
- {
- if(!strfind(Cheat,"HESOYAM",true))
- {
- if(Allowed==false)_Cheat[playerid][0]=false;
- else _Cheat[playerid][0]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][1]=false;
- else _Cheat[playerid][1]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][2]=false;
- else _Cheat[playerid][2]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][3]=false;
- else _Cheat[playerid][3]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][4]=false;
- else _Cheat[playerid][4]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][5]=false;
- else _Cheat[playerid][5]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][6]=false;
- else _Cheat[playerid][6]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][7]=false;
- else _Cheat[playerid][7]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][8]=false;
- else _Cheat[playerid][8]=true;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(Allowed==false)_Cheat[playerid][9]=false;
- else _Cheat[playerid][9]=true;
- }
- else return printf("Function Error: Unknown Cheat used (%s) in ToggleCheatForPlayer!",Cheat);
- return true;
- }
- stock IsCheatAllowedForPlayer(playerid,Cheat[])
- {
- if(!strfind(Cheat,"HESOYAM",true))
- {
- if(_Cheat[playerid][0]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][1]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][2]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][3]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][4]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][5]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][6]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][7]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][8]==false)return false;
- }
- else if(!strfind(Cheat,"CheatHERE",true))
- {
- if(_Cheat[playerid][9]==false)return false;
- }
- else return printf("Function Error: Unknown Cheat used (%s) in IsCheatAllowedForPlayer!",Cheat);
- return true;
- }
- stock SetPlayerOnPlayerUpdateDelay(playerid,delay)
- {
- _Update[playerid]=delay;
- _Olddate[playerid]=GetTickCount();
- return true;
- }
- stock SetOnPlayerUpdateDelay(delay)
- {
- forEx(MAX_PLAYERS,i)
- {
- _Update[i]=delay;
- _Olddate[i]=GetTickCount();
- }
- return true;
- }
- forward FUNC_OnPlayerUpdate(playerid);
- public FUNC_OnPlayerUpdate(playerid)
- {
- if(GetTickCount()>_Olddate[playerid]+_Update[playerid])
- {
- _Olddate[playerid]=GetTickCount();
- return CallRemoteFunction("OnPlayerUpdateEx","d",playerid);
- }
- return true;
- }
- forward OnPlayerUpdateEx(playerid);
- stock ScrollText(Text[])
- {
- new FUNC_Message[256],FUNC_FirstLetter[2],FUNC_Laenge;
- FUNC_Laenge=strlen(Text);
- format(FUNC_Message,sizeof Message,"%s",Text);
- format(FUNC_FirstLetter,sizeof FUNC_FirstLetter,"%s",Text);
- strins(FUNC_Message,FUNC_FirstLetter,FUNC_Laenge,sizeof FUNC_Message);
- strdel(FUNC_Message,0,1);
- return FUNC_Message;
- }
- //____________________________________________________________________Unsortiert
- stock SendClientCommand(playerid,Command[])return CallRemoteFunction("OnPlayerCommandText","ds",playerid,cmdtext);
- stock GetNextFreePlayerID()
- {
- forEx(MAX_PLAYERS,i)
- {
- if(!IsPlayerConnected(i))return i;
- break;
- }
- return -1;
- }
- stock RemoveServerPassword()return SendRconCommand("password 0");
- stock SetServerPassword(const password[])
- {
- if(strlen(password)>100)return printf("Function Error: Server Passwort is to long (%d cells to much) in SetServerPassword!",strlen(password)-100);
- new FUNC_Text[100+9];
- format(FUNC_Text,sizeof FUNC_Text,"password %s",password);
- return SendRconCommand(FUNC_Text);
- }
- stock RemoveSodaMachinesForPlayer(playerid)
- {
- RemoveBuildingForPlayer(playerid,955,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,956,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1209,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1302,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1775,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1776,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1302,0,0,0,3000);
- }
- stock RemoveCranesForPlayer(playerid)
- {
- RemoveBuildingForPlayer(playerid,1376,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1378,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1380,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1383,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1384,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1386,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1387,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1388,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1389,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1390,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1391,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1392,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1394,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,1395,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,3474,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,5126,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,11400,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,11401,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,11406,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,16328,0,0,0,3000);
- RemoveBuildingForPlayer(playerid,16332,0,0,0,3000);
- }
- stock GetRandomNumber(...)return getarg(random(numargs()));
- stock GetRandomColor()return random(0xFFFFFF);
- stock ReverseText(Text[]) //by RyDeR`
- {
- for(new i = 0, j = strlen(Text) - 1; i < j; ++i, --j)
- Text[i] ^= Text[j], Text[j] ^= Text[i], Text[i] ^= Text[j];
- }
- stock GetRandomCode(Cells)
- {
- if(Cells>100)return printf("Function Error: Tu much cells used (%d to much) in GetRandomCode!",100-Cells);
- new FUNC_Letter[100],FUNC_Letters[]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklomnopqrstuvwxyz1234567890";
- forEx(Cells,i)
- {
- Letter[i]=FUNC_Letters[random(sizeof(FUNC_Letters))];
- format(FUNC_Letter,sizeof FUNC_Letter,"%s%s",FUNC_Letter,FUNC_Letter[i]);
- }
- return Letter;
- }
- stock bool:IsValidSkin(SkinID)//by KoczkaHUN
- {
- if(0>SkinID>299)return false;
- static const FUNC_SkinData[]={-377,-2098177,-138413059,-8388609,-2097153,-1,-65537,-1,-131073,4093};
- return !!(FUNC_SkinData[SkinID>>>5]&(1<<(SkinID&31)));
- }
- stock IsPlayerReloading(playerid)
- {
- if(GetPlayerWeaponState(playerid)!=WEAPONSTATE_RELOADING)return false;
- return true;
- }
- stock KickEx(...)
- {
- new FUNC_ArgCount=numargs();
- forEx(MAX_PLAYERS,i)
- {
- for(new Arg=0;Arg!=FUNC_ArgCount;Arg++)
- if(getarg(Arg)==i)Kick(i);
- }
- return true;
- }
- stock Log(FileName[],FileType[],Text[])
- {
- if(strlen(FileName)>70)return printf("Function Error: To much cells used for FileName (%d to much) in Log!",strlen(FileName)-70);
- if(strlen(FileType)>25)return printf("Function Error: To much cells used for FileType (%d to much) in Log!",strlen(FileType)-25);
- if(strlen(Text)>410)return printf("Function Error: To much cells used for FileType (%d to much) in Log!",strlen(Text)-410);
- new File:FUNC_File,FUNC_FilePath[100],FUNC_Text2[420];
- format(FUNC_FilePath,sizeof FUNC_FilePath,"%s.%s",FileName,FileType);
- if(!fexist(FileName)){
- FUNC_File=fopen(FUNC_FilePath,io_write);
- fclose(FUNC_File);}
- format(FUNC_Text2,sizeof FUNC_Text2,"%s\r\n",Text);
- FUNC_File=fopen(FUNC_FilePath,io_append);
- fwrite(FUNC_File,FUNC_Text2);
- fclose(FUNC_File);
- return true;
- }
- stock SendClientMessageEx(Color,Text[],...)
- {
- new FUNC_ArgCount=numargs();
- forEx(MAX_PLAYERS,i)
- {
- for(new Arg=2;Arg!=FUNC_ArgCount;Arg++)if(getarg(Arg)==i)continue;
- SendClientMessage(i,Color,Text);
- }
- return true;
- }
- stock GetPlayerIPEx(playerid)
- {
- new FUNC_Text[16];
- GetPlayerIp(playerid,FUNC_Text,sizeof FUNC_Text);
- return FUNC_Text;
- }
- stock GetVehicleDriver(VehicleID)
- {
- for(new i;i<MAX_PLAYERS;i++)if(IsPlayerInVehicle(i,VehicleID))if(GetPlayerState(i)==PLAYER_STATE_DRIVER)return i;
- return -1;
- }
- stock IsValidNosVehicle(VehicleID)
- {
- new FUNC_InvalidNosVehicles[]={430,446,448,449,452,453,454,461,462,463,468,569,472,473,481,484,590,493,509,510,521,522,523,537,538,570,581,586,595};
- for(new i=0;i<sizeof FUNC_InvalidNosVehicles;i++)if(GetVehicleModel(VehicleID)==FUNC_InvalidNosVehicles[i])return true;
- return false;
- }
- stock GetVehicleMaxPassengers(VehicleID)//by RyDeR`
- {
- new FUNC_VehModel=GetVehicleModel(VehicleID);
- if(400<=FUNC_VehModel<=611)
- {
- static s_MaxPassengers[]={146225407,327282960,271651075,268443408,286339857,319894289,823136512,805311233,285414161,286331697,268513553,18026752,286331152,286261297,286458129,856765201,286331137,856690995,269484528,51589393,-15658689,322109713,-15527663,65343};
- return ((s_MaxPassengers[(FUNC_VehModel-=400)>>>3]>>>((FUNC_VehModel&7)<<2))&0xF);
- }
- return 0xF;
- }
- //________________________________________________________________Error Messages
- #if !defined MAX_ACTION_NAME
- #error "[Pablo Borsellino's Function] MAX_ACTION_NAME is not defined - put #define MAX_ACTION_NAME 64 at the top of your Script!"
- #endif
- #if !defined INVALID_ACTION_ID
- #error "[Pablo Borsellino's Function] INVALID_ACTION_ID is not defined - put #define INVALID_ACTION_ID -1 at the top of your Script!"
- #endif
- #if !defined INVALID_TIMER_ID
- #error "[Pablo Borsellino's Function] INVALID_TIMER_ID is not defined - put #define INVALID_TIMER_ID -1 at the top of your Script!"
- #endif
- #if !defined MAX_SERVER_ACTIONS
- #error "[Pablo Borsellino's Function] MAX_SERVER_ACTIONS is not defined - put #define MAX_SERVER_ACTIONS 100 at the top of your Script!"
- #endif
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement