Hey oleks vaja abi.

Vaata eelmist teemat Vaata järgmist teemat Go down

Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 15.01.14 13:53

Tere kas keegi oskab teha semiclip plugina nii et semiclip ei toimi jailis.
Ehk siis oleks vaja surf servu seda.
Olen ka n6us maksma.
Tonight
Tonight

Hey oleks vaja abi. Vetera11
Liitus : 19/02/2012
Postitusi : 18000

PostitamineTonight 15.01.14 14:19

Oled sa seda näinud muidu mingis serveris?

Vajaks palju aega ja tööd, sest iga mapi jaili XYZ koordinaat tuleks otsida käsitsi mapist.
Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 15.01.14 23:15

jah ikka olen nainud aga seal uks map ainult ss2 *EsTsE* surf_ski_2 server [surfelite.eu] seal on aga mull oleks vaja esijalgu kolme mapi jauks green.ss2.prima.
Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 15.01.14 23:27

seda plugina ei ole nii v6imalik teha va et sa teed servu sees ise need alad kus semiclip ei toimi nagu nokill alad
Tonight
Tonight

Hey oleks vaja abi. Vetera11
Liitus : 19/02/2012
Postitusi : 18000

PostitamineTonight 15.01.14 23:44

Pulber kirjutas:seda plugina ei ole nii v6imalik teha va et sa teed servu sees ise need alad kus semiclip ei toimi nagu nokill alad
Teoreetiliselt oleks võimalik küll, kuid mina näiteks sellega hakkama ei saaks.
Seda koordinaatide asja võin ma uurida, väga võimalik, et saan hakkama (100% kindel pole).
Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 15.01.14 23:52

okei
Tonight
Tonight

Hey oleks vaja abi. Vetera11
Liitus : 19/02/2012
Postitusi : 18000

PostitamineTonight 18.01.14 23:26

Otsisin koordinaadid välja. Sul endal mingi semiclip plugin olemas, mida kasutad? Postita see siia, kui on.
Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 19.01.14 13:19

Pole kinndel kummb parem

Kood:
#define SHOW_NAMES_WHEN_AIM
// #define ENABLE_SHOTS_DAMAGE

// #define DONT_SEE_ANYONE // both previous defines are useless if you enable this

#include <amxmodx>
#include <fakemeta>

#if !defined DONT_SEE_ANYONE
   #include <engine> // entity_range
#endif

#define VERSION "0.1.0"
#define PLUGIN "SemiClip"

#if !defined DONT_SEE_ANYONE // NAND routine

   #define GROUP_OP_NAND   1

   public plugin_init()
   {
      register_plugin(PLUGIN, VERSION, "ConnorMcLeod")

      register_forward(FM_AddToFullPack, "client_AddToFullPack_P", 1)

      register_forward(FM_CmdStart, "client_CmdStart_P", 1) // instead of hooking FM_SetGroupMask and catching all AddToFullPack calls

      #if defined SHOW_NAMES_WHEN_AIM
         register_forward(FM_PlayerPreThink, "client_PlayerPreThink", 0)
         register_forward(FM_PlayerPreThink, "client_PlayerPreThink_P", 1)
      #endif

      #if defined ENABLE_SHOTS_DAMAGE
         register_forward(FM_PlayerPostThink, "client_PlayerPostThink", 0)
         register_forward(FM_PlayerPostThink, "client_PlayerPostThink_P", 1)
      #endif
   }

   public client_putinserver( id )
   {
      set_pev(id, pev_groupinfo, 1)
   }

   public client_CmdStart_P( id )
   {
      engfunc(EngFunc_SetGroupMask, 1, GROUP_OP_NAND)
   }

   #if defined SHOW_NAMES_WHEN_AIM
      public client_PlayerPreThink(id)
      {
         set_pev(id, pev_groupinfo, 0)
      }

      public client_PlayerPreThink_P(id)
      {
         set_pev(id, pev_groupinfo, 1)
      }
   #endif

   #if defined ENABLE_SHOTS_DAMAGE
      public client_PlayerPostThink(id)
      {
         set_pev(id, pev_groupinfo, 0)
      }

      public client_PlayerPostThink_P(id)
      {
         set_pev(id, pev_groupinfo, 1)
      }
   #endif

   public client_AddToFullPack_P(es, e, ent, id, hostflags, player, pSet)
   {
      if( player && id != ent && get_orig_retval() && is_user_alive(id) )
      {
         set_es(es, ES_Solid, SOLID_NOT)

         static Float:flDistance
         flDistance = entity_range(id, ent)
         if( flDistance < 512.0 )
         {
            set_es(es, ES_RenderMode, kRenderTransColor)
            set_es(es, ES_RenderAmt, floatround(flDistance)/2)
         }
      }
   }

#else // AND routine
   public plugin_init()
   {
      register_plugin(PLUGIN, VERSION, "ConnorMcLeod")
   }

   public client_putinserver( id )
   {
      set_pev(id, pev_groupinfo, 1<<(id&31))
   }
#endif



Kood:
// #define ENABLE_SHOTS_DAMAGE
#define SEMICLIP_RENDERING_RADIUS 400.0

// DON'T EDIT BELOW

#include < amxmodx >
#include < engine >
#include < fakemeta >
#include < hamsandwich >

#pragma semicolon 1

#define PLUGIN "SemiClip"
#define VERSION "0.2.0"

const Float:SEMICLIP_RADIUS = SEMICLIP_RENDERING_RADIUS;

const groupNone = 0;

new const PLAYER_CLASS[] = "player";

new g_iMaxPlayers;
#define IsPlayer(%0)   ( 1 <= (%0) <= g_iMaxPlayers )

#define MaskEnt(%0)   ( 1<<(%0 & 31) )

new g_bitIsPlayerInSphere;
#define MarkPlayerInSphere(%0)   g_bitIsPlayerInSphere |= MaskEnt(%0)
#define IsPlayerInSphere(%0)   ( g_bitIsPlayerInSphere & MaskEnt(%0) )

new g_bitBots;
#define MarkPlayerBot(%0)   g_bitBots |= MaskEnt(%0)
#define ClearPlayerBot(%0)   g_bitBots &= ~MaskEnt(%0)
#define IsUserBot(%0)      ( g_bitBots & MaskEnt(%0) )

new g_iPlayers[32], g_iNum;

new g_iLastPlayerIndex;

new HamHook:g_iHhPreThink, HamHook:g_iHhPreThinkPost;
new g_iFhAddToFullPackPost;

new bool:g_bPreThinkHooked;

#if defined ENABLE_SHOTS_DAMAGE
new HamHook:g_iHhPostThink, HamHook:g_iHhPostThinkPost;
new bool:g_bPostThinkHooked;
#endif

new bool:g_bReadPackets = true;

public plugin_init()
{
   register_plugin( PLUGIN, VERSION, "ConnorMcLeod" );

   register_forward(FM_CmdStart, "OnCmdStart", false);

   DisableHamForward( g_iHhPreThink = RegisterHam(Ham_Player_PreThink, PLAYER_CLASS, "OnCBasePlayer_PreThink", false) );
   DisableHamForward( g_iHhPreThinkPost = RegisterHam(Ham_Player_PreThink, PLAYER_CLASS, "OnCBasePlayer_PreThink_P", true) );

#if defined ENABLE_SHOTS_DAMAGE
   DisableHamForward( g_iHhPostThink = RegisterHam(Ham_Player_PostThink, PLAYER_CLASS, "OnCBasePlayer_PostThink", false) );
   DisableHamForward( g_iHhPostThinkPost = RegisterHam(Ham_Player_PostThink, PLAYER_CLASS, "OnCBasePlayer_PostThink_P", true) );
#endif

   RegisterHam(Ham_Spawn, PLAYER_CLASS, "OnCBasePlayer_Spawn_P", true);
   RegisterHam(Ham_Killed, PLAYER_CLASS, "OnCBasePlayer_Killed_P", true);

   register_forward(FM_UpdateClientData, "OnUpdateClientData_P", true);

   g_iMaxPlayers = get_maxplayers();
}

public client_putinserver(id)
{
   if( is_user_bot(id) )
   {
      MarkPlayerBot(id);
   }
   else
   {
      ClearPlayerBot(id);
   }
}

public OnCmdStart(id)
{
   if( !g_bReadPackets )
   {
      g_bReadPackets = true;
      SetPlayersGroups ;;
   }

   if( g_iLastPlayerIndex && is_user_alive(g_iLastPlayerIndex) )
   {
      entity_set_int id, EV_INT_groupinfo, MaskEnt(g_iLastPlayerIndex) ;
   }

   if( is_user_alive(id) )
   {
      entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
      if( !IsUserBot(id) )
      {
         if( !g_bPreThinkHooked )
         {
            EnableHamForward g_iHhPreThink ;
            EnableHamForward g_iHhPreThinkPost ;
            g_bPreThinkHooked = true;
         }
      }
      else if( g_bPreThinkHooked )
      {
         DisableHamForward g_iHhPreThink ;
         DisableHamForward g_iHhPreThinkPost ;
         g_bPreThinkHooked = false;
      }
#if defined ENABLE_SHOTS_DAMAGE
      if( !g_bPostThinkHooked )
      {
         EnableHamForward g_iHhPostThink ;
         EnableHamForward g_iHhPostThinkPost ;
         g_bPostThinkHooked = true;
      }
#endif
   }
   else
   {
      entity_set_int id, EV_INT_groupinfo, groupNone ;
      g_iLastPlayerIndex = id;
      if( g_bPreThinkHooked )
      {
         DisableHamForward g_iHhPreThink ;
         DisableHamForward g_iHhPreThinkPost ;
         g_bPreThinkHooked = false;
      }
#if defined ENABLE_SHOTS_DAMAGE
      if( g_bPostThinkHooked )
      {
         DisableHamForward g_iHhPostThink ;
         DisableHamForward g_iHhPostThinkPost ;
         g_bPostThinkHooked = false;
      }
#endif
   }
}

public OnCBasePlayer_PreThink(id)
{
   entity_set_int id, EV_INT_groupinfo, groupNone ;
}

public OnCBasePlayer_PreThink_P(id)
{
   entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
}

#if defined ENABLE_SHOTS_DAMAGE
public OnCBasePlayer_PostThink(id)
{
   entity_set_int id, EV_INT_groupinfo, groupNone ;
}

public OnCBasePlayer_PostThink_P(id)
{
   entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
}
#endif

public OnCBasePlayer_Spawn_P(id)
{
   if( is_user_alive(id) )
   {
      entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
   }
}

public OnCBasePlayer_Killed_P(id)
{
   if( !is_user_alive(id) )
   {
      entity_set_int id, EV_INT_groupinfo, groupNone ;
   }
}

SetPlayersGroups()
{
   static id;
   get_players g_iPlayers, g_iNum, "a" ;
   for(--g_iNum; g_iNum>=0; g_iNum--)
   {
      id = g_iPlayers[ g_iNum ];
      entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
   }
}

public server_frame()
{
   g_iLastPlayerIndex = 0;
   g_bReadPackets = false;
   SetPlayersGroups ;;
}

public OnUpdateClientData_P(id, sendweapons, cd)
{
   entity_set_int id, EV_INT_groupinfo, groupNone ;

   if( !IsUserBot(id) && is_user_alive(id) )
   {
      if( !g_iFhAddToFullPackPost )
      {
         g_iFhAddToFullPackPost = register_forward(FM_AddToFullPack, "OnAddToFullPack_P", true);
      }

      g_bitIsPlayerInSphere = 0;
      g_iNum = find_sphere_class(id, PLAYER_CLASS, SEMICLIP_RADIUS, g_iPlayers, g_iMaxPlayers);
      for(--g_iNum; g_iNum>=0; g_iNum--)
      {
         MarkPlayerInSphere( g_iPlayers[ g_iNum ] );
      }
   }
}

public OnAddToFullPack_P(es, e, ent, id, hostflags, player, pSet)
{
   if( player )
   {
      if( get_orig_retval() )
      {
         set_es es, ES_Solid, SOLID_NOT ; // should be useless since SEMICLIP_RADIUS gonna never be set to 72 or less
         if( IsPlayerInSphere(ent) )
         {
            set_es es, ES_RenderMode, kRenderTransAlpha ;
            set_es es, ES_RenderAmt, floatround(entity_range(id, ent) * 255.0 / SEMICLIP_RADIUS, floatround_floor) ;
         }
      }
   }
   else
   {
      entity_set_int id, EV_INT_groupinfo, MaskEnt(id) ;
      unregister_forward FM_AddToFullPack, g_iFhAddToFullPackPost, true ;
      g_iFhAddToFullPackPost = 0;
   }
}
Pulber
Pulber
Liige
Liitus : 13/11/2012
Postitusi : 186

PostitaminePulber 01.02.14 12:29

up up

Vaata eelmist teemat Vaata järgmist teemat Tagasi üles

Soovid vestluses osaleda?

Selleks logi sisse või tee endale kasutaja.

Liitu foorumiga

Tee endale kasutaja ning osale aruteludes.


Tee uus kasutaja

Logi sisse

Omad foorumis juba kasutajat? Logi sisse.


Logi sisse

 
Permissions in this forum:
Sa ei saa vastata siinsetele teemadele