hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2025.08.14. 07:42



Jelenlévő felhasználók

Jelenleg 365 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 364 vendég

A legtöbb felhasználó (2883 fő) 2025.07.30. 16:00-kor tartózkodott itt.

Regisztrált felhasználók: Google [Bot]az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása Hozzászólás a témához  [2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: RUSH
HozzászólásElküldve:2012.03.10. 17:57 
Offline
Őstag
Avatar

Csatlakozott:2011.08.27. 23:19
Hozzászólások:1023
Megköszönt másnak: 3 alkalommal
Megköszönték neki: 11 alkalommal
Hello

Hogyan tudok de_westwoodra rushvonalat tenni ? xd

_________________
[kozep]t/s[/kozep]


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: RUSH
HozzászólásElküldve:2012.03.10. 19:15 
Offline
Signore Senior
Avatar

Csatlakozott:2011.09.09. 17:39
Hozzászólások:4020
Megköszönt másnak: 12 alkalommal
Megköszönték neki: 139 alkalommal
Kód:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <engine>

//Used for create_middle functions
#define tag_sprite_size_horizontal   4000
#define tag_sprite_size_vertical   600
#define tag_sprite_vertical_increments   15

#define MINNUM      2

new bool:stopplugin

new beamsprite

new CTspawn_loc[3]
new 
Tspawn_loc[3]

new 
plugin_enabledplugin_fenceplugin_2pplplugin_checktimeplugin_redrawtimeplugin_fencecolorplugin_fencealphaplugin_punishment

new Float:farthest_point1[3]
new 
Float:farthest_point2[3]
new 
alivenummaxplayers

new Float:oldtime

new multiplier

public plugin_init()
{
   
register_plugin("No Rush","2.0","GHW_Chronic")

   
plugin_enabled register_cvar("NR_enabled","1")
   
plugin_fence register_cvar("NR_fence","1")
   
plugin_2ppl register_cvar("NR_twopeople","1")
   
plugin_punishment register_cvar("NR_punishment","1")
   
plugin_checktime register_cvar("NR_checktime","2.0")
   
plugin_redrawtime register_cvar("NR_redrawtime","15.0")
   
plugin_fencecolor register_cvar("NR_fencecolor","green")
   
plugin_fencealpha register_cvar("NR_fencealpha","200")

   
stopplugin=true
   
new mapname[32]
   
get_mapname(mapname,31)
   new 
configfile[200]
   
get_configsdir(configfile,199)
   
format(configfile,199,"%s/no_rush_maps.ini",configfile)
   if(
file_exists(configfile))
   {
      new 
read[32], trash
      
for(new i=0;i<file_size(configfile,1);i++)
      {
         
read_file(configfile,i,read,31,trash)
         if(
equali(mapname,read))
         {
            
set_task(0.1,"spawn_locs")
            
set_task(0.2,"create_middle1")
            
oldtime get_pcvar_float(plugin_redrawtime)
            
stopplugin=false
            
break;
         }
      }
   }

   
register_event("DeathMsg","checknum","a")
   
register_event("ResetHUD","checknum","b")

   
maxplayers get_maxplayers()
}

public 
plugin_precache()
{
   
beamsprite precache_model("sprites/dot.spr")
}

public 
client_putinserver(id)
{
   if(!
stopplugin)
   {
      
set_task(get_pcvar_float(plugin_checktime),"prethink",id,"",0,"b")
   }
}

public 
client_disconnect(id)
{
   
remove_task(id)
}

public 
checknum()
{
   if(
get_pcvar_num(plugin_enabled) && !stopplugin)
   {
      new 
newnum
      
for(new i=0;i<=maxplayers;i++)
      {
         if(
is_user_alive(i)) newnum++
      }
      if(
alivenum>MINNUM && newnum<=MINNUM && get_pcvar_num(plugin_2ppl))
      {
         
client_print(0,print_chat,"[AMXX] You can now cross over to the other side since only 2 people remain.")
      }
      
alivenum=newnum
   
}
}

public 
prethink(id)
{
   if(
is_user_alive(id) && !stopplugin && get_pcvar_num(plugin_enabled) && !(alivenum<=MINNUM && get_pcvar_num(plugin_2ppl)) )
   {
      new 
origin[3]
      
get_user_origin(id,origin)
      new 
team[32]
      
get_user_team(id,team,31)
      new 
teamnum=1
      
if(containi(team,"CT")!=-|| containi(team,"Counter")!=-1)
      {
         
teamnum=2
      
}
      if( (
get_distance(origin,CTspawn_loc)<get_distance(origin,Tspawn_loc) && teamnum==2) || (get_distance(origin,Tspawn_loc)<get_distance(origin,CTspawn_loc) && teamnum==2) )
      {
         if(
get_pcvar_num(plugin_punishment)==1user_kill(id)
         else
         {
            new 
origin[3]
            
get_user_origin(id,origin)
            new 
Float:vector1[3]
            if(
teamnum==2)
            {
               
vector1[0] = float(CTspawn_loc[0]) - origin[0]
               
vector1[1] = float(CTspawn_loc[1]) - origin[1]
               
vector1[2] = float(CTspawn_loc[2]) - origin[2]
            }
            else
            {
               
vector1[0] = float(Tspawn_loc[0]) - origin[0]
               
vector1[1] = float(Tspawn_loc[1]) - origin[1]
               
vector1[2] = float(Tspawn_loc[2]) - origin[2]
            }
            new 
Float:num floatsqroot(250*250 vector1[0]*vector1[0] + vector1[1]*vector1[1] + vector1[2]*vector1[2])
            
vector1[0] *= num
            vector1
[1] *= num
            vector1
[2] *= num
            set_user_velocity
(id,vector1)
         }
         
client_print(id,print_chat,"[AMXX] No crossing the middle line.")
      }
   }
}

public 
spawn_locs()
{
   new 
ent1 find_ent_by_class(0,"info_player_start")
   new 
ent2 find_ent_by_class(0,"info_player_deathmatch")
   if(!
ent1)
   {
      
log_amx("No info_player_start found")
      
stopplugin=true
   
}
   if(!
ent2)
   {
      
log_amx("No info_player_deathmatch found")
      
stopplugin=true
   
}
   new 
Float:CTspawn_loc_F[3]
   new 
Float:Tspawn_loc_F[3]
   
entity_get_vector(ent1,EV_VEC_origin,CTspawn_loc_F)
   
entity_get_vector(ent2,EV_VEC_origin,Tspawn_loc_F)
   
CTspawn_loc[0] = floatround(CTspawn_loc_F[0])
   
CTspawn_loc[1] = floatround(CTspawn_loc_F[1])
   
CTspawn_loc[2] = floatround(CTspawn_loc_F[2])
   
Tspawn_loc[0] = floatround(Tspawn_loc_F[0])
   
Tspawn_loc[1] = floatround(Tspawn_loc_F[1])
   
Tspawn_loc[2] = floatround(Tspawn_loc_F[2])
}

public 
create_middle1()
{
   
//***
   //Simple Algebra to calculate the location of the middle line(s).
   //***
   
   
new Float:CTspawn_loc_F[3]
   new 
Float:Tspawn_loc_F[3]
   
IVecFVec(CTspawn_loc,CTspawn_loc_F)
   
IVecFVec(Tspawn_loc,Tspawn_loc_F)
   
   new 
Float:line1_slope = (CTspawn_loc_F[1] - Tspawn_loc_F[1]) / (CTspawn_loc_F[0] - Tspawn_loc_F[0])
   new 
Float:line2_slope = -1.0 * (1.0 line1_slope)
   
   new 
Float:midpoint[3]
   
midpoint[0] = (CTspawn_loc_F[0] + Tspawn_loc_F[0]) / 2
   midpoint
[1] = (CTspawn_loc_F[1] + Tspawn_loc_F[1]) / 2
   midpoint
[2] = (CTspawn_loc_F[2] + Tspawn_loc_F[2]) / 2

   
if(floatabs(line2_slope)>1.0)
   {
      
farthest_point1[1] = midpoint[1] + (tag_sprite_size_horizontal 2)
      
farthest_point2[1] = midpoint[1] - (tag_sprite_size_horizontal 2)
      
      
farthest_point1[0] = (farthest_point1[1] - midpoint[1] + (line2_slope midpoint[0])) / line2_slope
      farthest_point2
[0] = (farthest_point2[1] - midpoint[1] + (line2_slope midpoint[0])) / line2_slope
   
}
   
   if(
floatabs(line2_slope)<=1.0)
   {
      
farthest_point1[0] = midpoint[0] + (tag_sprite_size_horizontal 2)
      
farthest_point2[0] = midpoint[0] - (tag_sprite_size_horizontal 2)

      
farthest_point1[1] = line2_slope*(farthest_point1[0]-midpoint[0]) + midpoint[1]
      
farthest_point2[1] = line2_slope*(farthest_point2[0]-midpoint[0]) + midpoint[1]
   }
   
   
farthest_point1[2] = midpoint[2] - (tag_sprite_size_vertical 2)

   
set_task(get_pcvar_float(plugin_redrawtime),"create_middle2",1337,"",0,"b")
}

public 
create_middle2()
{
   if(!
stopplugin && get_pcvar_num(plugin_fence) && get_pcvar_num(plugin_enabled) && !(alivenum<=MINNUM && get_pcvar_num(plugin_2ppl)))
   {
      
set_task(0.1,"create_middle3",0,"",0,"a",(tag_sprite_size_vertical tag_sprite_vertical_increments))
      
multiplier=1
   
}
   if(
oldtime!=get_pcvar_float(plugin_redrawtime))
   {
      
remove_task(1337)
      
set_task(get_pcvar_float(plugin_redrawtime),"create_middle1",1337,"",0,"b")
      
oldtime=get_pcvar_float(plugin_redrawtime)
   }
}

public 
create_middle3()
{
   new 
zpoint floatround(farthest_point1[2]) + (multiplier tag_sprite_vertical_increments)
   
multiplier++
   new 
color[32], redgreenblue
   get_pcvar_string
(plugin_fencecolor,color,31)
   if(
equali(color,"red"))
   {
      
red=255
      green
=0
      blue
=0
   
}
   else if(
equali(color,"blue"))
   {
      
red=0
      green
=0
      blue
=255
   
}
   else if(
equali(color,"white"))
   {
      
red=255
      green
=255
      blue
=255
   
}
   else if(
equali(color,"random"))
   {
      
red=random_num(0,255)
      
green=random_num(0,255)
      
blue=random_num(0,255)
   }
   else if(
equali(color,"Yellow"))
   {
      
red 255
      green 
255
      blue 
0
   
}
   else if(
equali(color,"Orange"))
   {
      
red 255
      green 
128
      blue 
64
   
}
   else if(
equali(color,"Pink"))
   {
      
red 255
      green 
0
      blue 
128
   
}
   else if(
equali(color,"Indigo"))
   {
      
red 0
      green 
255
      blue 
255
   
}
   else
   {
      
red=0
      green
=255
      blue
=0
   
}

   
message_begin(MSG_BROADCASTSVC_TEMPENTITY
   
write_byte(0)      //TE_BEAMPOINTS
   
write_coord(floatround(farthest_point1[0]))
   
write_coord(floatround(farthest_point1[1]))
   
write_coord(zpoint)
   
write_coord(floatround(farthest_point2[0]))
   
write_coord(floatround(farthest_point2[1]))
   
write_coord(zpoint)
   
write_short(beamsprite)
   
write_byte(1)      // framestart
   
write_byte(1)      // framerate
   
write_byte(get_pcvar_num(plugin_redrawtime) * 10)// life in 0.1's
   
write_byte(5)      // width
   
write_byte(0)      // noise
   
write_byte(red)      // red
   
write_byte(green)   // green
   
write_byte(blue)   // blue
   
write_byte(get_pcvar_num(plugin_fencealpha))// brightness
   
write_byte(0)      // speed
   
message_end()


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése: Rendezés 
Új téma nyitása Hozzászólás a témához  [2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 25 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole