• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Filterscript] Stingers (Cops and Robbers)
#1
Hello, I would like to present you the Stingers Script (Cops and Robbers)



Video:

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



Download:

Stingers.inc

3DTryg.inc



Installation:

Code:
#include <3DTryg>

#include <Stingers>



Functions:

Code:
CreateDynamicStinger(type,Float:x,Float:y,Float:z,Float:rx,Float:ty,Float:rz,worldid=-1,interiorid=-1,playerid=-1,Float:streamdistance=100.0,teamid=ANY_TEAM,byplayerid=INVALID_PLAYER_ID);

DestroyDynamicStinger(mobid);



bool:IsDynamicStingerActive(mobid);

GetDynamicStingerObjectID(mobid);

GetDynamicStingerTeam(mobid);

SetDynamicStingerTeam(mobid,teamid);

GetDynamicStingerPlayerID(mobid);

SetDynamicStingerPlayerID(mobid,byplayerid);

GetPlayerActiveDynamicStinger(playerid);

ToggleDynamicStingerDamage(mobid,bool:toggle);



Callbacks:

Code:
//called on vehicle damage updated by stinger

OnVehicleDamageByStinger(playerid,killerid,mobid,old_tires,new_tires);



Definitions:

Code:
STINGER_TYPE_SMALL //Object: 2899

STINGER_TYPE_BIG? //Object: 2892



Example code:

Code:
public OnVehicleDamageByStinger(playerid,killerid,mobid,old_tires,new_tires){

if(killerid != INVALID_PLAYER_ID){

new p_name[MAX_PLAYER_NAME],string[144];

GetPlayerName(killerid,p_name,sizeof(p_name));

format(string,sizeof(string),"{00AAFF}Your vehicle has been damaged by {00FF00}%s {00AAFF}stinger.",p_name);

SendClientMessage(playerid,-1,string);

}

return 1;

}



new StingerObj[MAX_PLAYERS];



public OnPlayerDisconnect(playerid,reason){

if(StingerObj[playerid] != 0){

DestroyDynamicStinger(StingerObj[playerid]);

StingerObj[playerid] = 0;

}

return 1;

}



CMD:stinger(playerid,params[]){

if(!strcmp(params,"destroy",true)){

DestroyDynamicStinger(StingerObj[playerid]);

StingerObj[playerid] = 0;

return SendClientMessage(playerid,-1,"Stinger Destroyed");

}

if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,-1,"First get out of the vehicle");

if(GetPlayerActiveDynamicStinger(playerid)) return SendClientMessage(playerid,-1,"You are near another stinger");

new type;

if(!strcmp(params,"big",true)){

type = STINGER_TYPE_BIG;

} else if(!strcmp(params,"small",true)){

type = STINGER_TYPE_SMALL;

} else {

if(!IsGM(playerid)){

return SendClientMessage(playerid,-1,"Usage /stinger <big/small/destroy>");

} else {

return SendClientMessage(playerid,-1,"Usage /stinger <big/small/destroy>");

}

}



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

GetPlayerPos(playerid,x,y,z);

GetPlayerFacingAngle(playerid,z_angle);

DestroyDynamicStinger(StingerObj[playerid]);

StingerObj[playerid] = CreateDynamicStinger(type,x,y,z-0.9,0.0,0.0,CompRotationFloat(z_angle.0),-1,-1,-1,100.0,ANY_TEAM,playerid);

return SendClientMessage(playerid,-1,"Stinger added");

}



Issues:

- Stinger can not be located near to another stinger



Notice:

Filterscript not exist because filterscripts have limits.

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


Forum Jump: