[Pedido] /Taser
#1

Eu queria saber se alguem tem um /taser igual do BPF eu acho que seria muito utiul no meu servidor!
Reply
#2

https://sampforum.blast.hk/showthread.php?tid=420214

https://sampforum.blast.hk/showthread.php?tid=326644
Reply
#3

pawn Code:
//FenixBorn,, Script SAMP,,atendendo pedido Sistema de Taser

#define FILTERSCRIPT

#include <a_samp>

#pragma tabsize 0


//|________________ Configuraзгo ________________|

#define Taser_Time 5000
#define WEAPON 23
#define R_SOUND 50.0
#define WHITE -1
#define YELLOW 0xFFFF00AA

// |______________________________________________|

new ContinueTaser[MAX_PLAYERS];

forward GetClosestPlayer(p1);
forward Float:GetDistanceBetweenPlayers(p1,p2);


public OnPlayerConnect(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerSpawn(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys & KEY_FIRE)
       {
            new victimid = GetClosestPlayer(playerid);
            if(IsPlayerConnected(victimid))
               {
               if(ContinueTaser[playerid] == 1)
              {
                TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(victimid, 0);
               ContinueTaser[playerid] = 1;
               SendClientMessage(playerid, WHITE, "Voce usou seu {FFCC33}taser!");
               SendClientMessage(playerid, YELLOW, "Voce pode continuar usando TASER para manter a eletrecidade.");
               SendClientMessage(victimid, WHITE, "Voce recebeu um dardo de {FFCC33}taser!");
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", victimid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", playerid);
            }
            }
              return 1;
         }
return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
        new Float:Chaleco, Float:Vida; GetPlayerArmour(playerid, Chaleco); GetPlayerHealth(playerid, Vida);
        if(weaponid == WEAPON)
        {
                if(IsPlayerInAnyVehicle(playerid))
             {
            return 1;
             }

               GameTextForPlayer(playerid, "~r~Paralizado pelo TASER", Taser_Time, 5);
               TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(issuerid, 0);
               ContinueTaser[issuerid] = 1;
               new Float:Audio_X, Float:Audio_Y, Float:Audio_Z;
                GetPlayerPos(playerid, Audio_X, Audio_Y, Audio_Z);
                StopAudioStreamForPlayer(playerid);
                PlayAudioStreamForPlayer(playerid, "http://k004.kiwi6.com/hotlink/9s19772cbe/taser_sound.mp3", Audio_X, Audio_Y, Audio_Z, R_SOUND, 1);
               SendClientMessage(issuerid, WHITE, "Voce usou seu {FFCC33}taser{FFFFFF}!");
               SendClientMessage(issuerid, YELLOW, "Vocк pode continuar a disparar o taser ea vнtima vai voltar a receber energia elйtrica.");
               SendClientMessage(playerid, WHITE, "Voce recebeu um dardo de {FFCC33}taser{FFFFFF}!");
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", playerid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", issuerid);
      }
   }
return 1;
}

forward TaserTime(playerid);
public TaserTime(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
return 1;
}

forward StopTaser(playerid);
public StopTaser(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
        ContinueTaser[playerid] = 0;
return 1;
}

public GetClosestPlayer(p1)
{
   new x,Float:dis,Float:dis2,player2;
   player2 = -1;
   dis = 99999.99;
   for (x=0;x<MAX_PLAYERS;x++)
   {
      if(IsPlayerConnected(x))
      {
         if(x != p1)
         {
            dis2 = GetDistanceBetweenPlayers(x,p1);
            if(dis2 < dis && dis2 != -1.00)
            {
               dis = dis2;
               player2 = x;
            }
         }
      }
   }
   return player2;
}

public Float:GetDistanceBetweenPlayers(p1,p2)
{
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
   if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
   {
      return -1.00;
   }
   GetPlayerPos(p1,x1,y1,z1);
   GetPlayerPos(p2,x2,y2,z2);
   return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Reply
#4

Quote:
Originally Posted by Flash92
View Post
pawn Code:
//FenixBorn,, Script SAMP,,atendendo pedido Sistema de Taser

#define FILTERSCRIPT

#include <a_samp>

#pragma tabsize 0


//|________________ Configuraзгo ________________|

#define Taser_Time 5000
#define WEAPON 23
#define R_SOUND 50.0
#define WHITE -1
#define YELLOW 0xFFFF00AA

// |______________________________________________|

new ContinueTaser[MAX_PLAYERS];

forward GetClosestPlayer(p1);
forward Float:GetDistanceBetweenPlayers(p1,p2);


public OnPlayerConnect(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerSpawn(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys & KEY_FIRE)
       {
            new victimid = GetClosestPlayer(playerid);
            if(IsPlayerConnected(victimid))
               {
               if(ContinueTaser[playerid] == 1)
              {
                TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(victimid, 0);
               ContinueTaser[playerid] = 1;
               SendClientMessage(playerid, WHITE, "Voce usou seu {FFCC33}taser!");
               SendClientMessage(playerid, YELLOW, "Voce pode continuar usando TASER para manter a eletrecidade.");
               SendClientMessage(victimid, WHITE, "Voce recebeu um dardo de {FFCC33}taser!");
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", victimid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", playerid);
            }
            }
              return 1;
         }
return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
        new Float:Chaleco, Float:Vida; GetPlayerArmour(playerid, Chaleco); GetPlayerHealth(playerid, Vida);
        if(weaponid == WEAPON)
        {
                if(IsPlayerInAnyVehicle(playerid))
             {
            return 1;
             }

               GameTextForPlayer(playerid, "~r~Paralizado pelo TASER", Taser_Time, 5);
               TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(issuerid, 0);
               ContinueTaser[issuerid] = 1;
               new Float:Audio_X, Float:Audio_Y, Float:Audio_Z;
                GetPlayerPos(playerid, Audio_X, Audio_Y, Audio_Z);
                StopAudioStreamForPlayer(playerid);
                PlayAudioStreamForPlayer(playerid, "http://k004.kiwi6.com/hotlink/9s19772cbe/taser_sound.mp3", Audio_X, Audio_Y, Audio_Z, R_SOUND, 1);
               SendClientMessage(issuerid, WHITE, "Voce usou seu {FFCC33}taser{FFFFFF}!");
               SendClientMessage(issuerid, YELLOW, "Vocк pode continuar a disparar o taser ea vнtima vai voltar a receber energia elйtrica.");
               SendClientMessage(playerid, WHITE, "Voce recebeu um dardo de {FFCC33}taser{FFFFFF}!");
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", playerid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", issuerid);
      }
   }
return 1;
}

forward TaserTime(playerid);
public TaserTime(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
return 1;
}

forward StopTaser(playerid);
public StopTaser(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
        ContinueTaser[playerid] = 0;
return 1;
}

public GetClosestPlayer(p1)
{
   new x,Float:dis,Float:dis2,player2;
   player2 = -1;
   dis = 99999.99;
   for (x=0;x<MAX_PLAYERS;x++)
   {
      if(IsPlayerConnected(x))
      {
         if(x != p1)
         {
            dis2 = GetDistanceBetweenPlayers(x,p1);
            if(dis2 < dis && dis2 != -1.00)
            {
               dis = dis2;
               player2 = x;
            }
         }
      }
   }
   return player2;
}

public Float:GetDistanceBetweenPlayers(p1,p2)
{
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
   if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
   {
      return -1.00;
   }
   GetPlayerPos(p1,x1,y1,z1);
   GetPlayerPos(p2,x2,y2,z2);
   return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Quem fez?

Poe os devidos crйditos *-*
Reply
#5

Bem tente isto

pawn Code:
//FenixBorn,, Script SAMP,,atendendo pedido Sistema de Taser

#define FILTERSCRIPT

#include <a_samp>

#pragma tabsize 0


//|________________ Configuraзгo ________________|

#define Taser_Time 5000
#define WEAPON 23
#define R_SOUND 50.0
#define WHITE -1
#define YELLOW 0xFFFF00AA

// |______________________________________________|

new ContinueTaser[MAX_PLAYERS];

forward GetClosestPlayer(p1);
forward Float:GetDistanceBetweenPlayers(p1,p2);


public OnPlayerConnect(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerSpawn(playerid)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    ContinueTaser[playerid] = 0;
   return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
        if(newkeys & KEY_FIRE)
       {
            new victimid = GetClosestPlayer(playerid);
            if(IsPlayerConnected(victimid))
               {
               if(ContinueTaser[playerid] == 1)
              {
                TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(victimid, 0);
               ContinueTaser[playerid] = 1;
               SendClientMessage(playerid, WHITE, "Voce usou seu {FFCC33}taser!");
               SendClientMessage(playerid, YELLOW, "Voce pode continuar usando TASER para manter a eletrecidade.");
               SendClientMessage(victimid, WHITE, "Voce recebeu um dardo de {FFCC33}taser!");
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(victimid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", victimid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", playerid);
            }
            }
              return 1;
         }
return 1;
}

public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
    if(issuerid != INVALID_PLAYER_ID)
    {
        new Float:Chaleco, Float:Vida; GetPlayerArmour(playerid, Chaleco); GetPlayerHealth(playerid, Vida);
        if(weaponid == WEAPON)
        {
                if(IsPlayerInAnyVehicle(playerid))
             {
            return 1;
             }

               GameTextForPlayer(playerid, "~r~Paralizado pelo TASER", Taser_Time, 5);
               TogglePlayerControllable(playerid, 0);
               TogglePlayerControllable(issuerid, 0);
               ContinueTaser[issuerid] = 1;
               new Float:Audio_X, Float:Audio_Y, Float:Audio_Z;
                GetPlayerPos(playerid, Audio_X, Audio_Y, Audio_Z);
                StopAudioStreamForPlayer(playerid);
                PlayAudioStreamForPlayer(playerid, "http://k004.kiwi6.com/hotlink/9s19772cbe/taser_sound.mp3", Audio_X, Audio_Y, Audio_Z, R_SOUND, 1);
               SendClientMessage(issuerid, WHITE, "Voce usou seu {FFCC33}taser{FFFFFF}!");
               SendClientMessage(issuerid, YELLOW, "Vocк pode continuar a disparar o taser ea vнtima vai voltar a receber energia elйtrica.");
               SendClientMessage(playerid, WHITE, "Voce recebeu um dardo de {FFCC33}taser{FFFFFF}!");
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               ApplyAnimation(playerid,"PED","KO_skid_front",4.1,0,1,1,1,0);
               SetTimerEx("TaserTime", Taser_Time, 0, "d", playerid);
               SetTimerEx("StopTaser", Taser_Time, 0, "d", issuerid);
      }
   }
return 1;
}

forward TaserTime(playerid);
public TaserTime(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
return 1;
}

forward StopTaser(playerid);
public StopTaser(playerid)
{
        TogglePlayerControllable(playerid, 1);
        ClearAnimations(playerid);
        ContinueTaser[playerid] = 0;
return 1;
}

public GetClosestPlayer(p1)
{
   new x,Float:dis,Float:dis2,player2;
   player2 = -1;
   dis = 99999.99;
   for (x=0;x<MAX_PLAYERS;x++)
   {
      if(IsPlayerConnected(x))
      {
         if(x != p1)
         {
            dis2 = GetDistanceBetweenPlayers(x,p1);
            if(dis2 < dis && dis2 != -1.00)
            {
               dis = dis2;
               player2 = x;
            }
         }
      }
   }
   return player2;
}

public Float:GetDistanceBetweenPlayers(p1,p2)
{
   new Float:x1,Float:y1,Float:z1,Float:x2,Float:y2,Float:z2;
   if(!IsPlayerConnected(p1) || !IsPlayerConnected(p2))
   {
      return -1.00;
   }
   GetPlayerPos(p1,x1,y1,z1);
   GetPlayerPos(p2,x2,y2,z2);
   return floatsqroot(floatpower(floatabs(floatsub(x2,x1)),2)+floatpower(floatabs(floatsub(y2,y1)),2)+floatpower(floatabs(floatsub(z2,z1)),2));
}
Atenciosamente (autor desconhecido, nao me lembro de onde peguei foi a muito ja)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)