Veteran Member
Join Date: Oct 2008
Location: Hardstyle-eSports.de
|
03-29-2011
, 07:12
Re: Fangen Mod Aufräumen
|
#23
|
naja viele antworten habe ich ja nicht bekommen
aber egal. ich hoffe dass es welche tester gibt.
es ist noch nicht 100% fertig aber fürs erste sind parr sachen fertig und ich brauche tester die es testen bevor ich weiter machen kann.
Cvars die bis jetzt vorhanden sind :
Code:
amx_catch_catchers_speed 1.0 // die geschwindigkeit von catcher
amx_catch_bunnyhop 1 // Bunnyhop
amx_catch_turbo_percent 10 //wieviel in % turbo wird benutzt
amx_catch_turbo_usage_time 0.25 // wie lange ein turbo funktioniert
amx_catch_speed 2.0 //die catch geschwindigkeit. standard cs geschwindigkeit * 2.0
amx_catch_fleer_speed 1.0 // die speed von fleers
amx_catch_turbo_speed 1.5 // turbo speed
amx_catch_points 3 // wieviele punkte man bekommt wenn man einen fängt
amx_catch_speed_colors 255 255 255 // die farbe von Speedanzeige
amx_catcher_colors255 000 000 // die farbe von catcher
amx_fleer_colors 000 255 000 // die farbe von fleers
amx_render_amount 25 50 125 // das sind die amount von glowen und es ändert sich bei speed. also wenn einer zb. unter 1000 units/s hat, wird er *25 glowen und wenn er über 1000 speed hat wird er *50 glowen und wenn mehr als 2000 units/s dann 125. achtet dass ihr nicht mehr als 255 benutzen könnt
amx_survivor_points 1 // wieviele punkte bekommt einer wenn er die runde überlebt
wie gesagt vieles fehlen noch aber das ist mein main plugin und ich muss sicher gehen dass es problemlos funktioniert.
ich hoffe hier gibt es noch welche die 5-10 minuten ihre zeit für mich opfern können und das ding testen.
leider gebe ich den code nicht raus weill ich noch nicht damit fertig bin. aber im release thread werde ich natürlich den code raus geben.ich versichere euch auch dass der code ganz sauber ist.
ach was sollls auser mansche .... ( wie Pin*** ) klaut ja keiner den code.
hier auch der code
scheiß rauf
Code:
/*
TODO LIST
render cvars
Turbo mods
Semiclip
Traininmod
Walljump
Trail
Keyspy
Menu
Welcome menu
Trainingmod
buyzone
test the score
anticamp
godmode
catch teams
turbo für catcher
spec speed
überleben punkte
*/
/*
DID LIST
teamchange fix
Touch
*/
/*
Included
Speedometer by AciD
*/
#include <amxmodx>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#include <amxmisc>
#include <fun>
#include <fakemeta>
#define PLUGIN "Catchmod Black Edition"
#define VERSION "1.0.1"
#define AUTHOR "Dr.One"
#define FREQ 0.1
/*
MAIN HANDELS
*/
new round_counter = 1
new CSTS_ARE_CATCHER = 1
new user_is_catcher[33]
new TURBO[33][2]
new E_MaxPlayers
new chilldown[33]
new TaskEnt
new SyncHud
new over_tausend[33]
new under_tausend[33]
new over_twotausend[33]
new iconstatus
new score[33][4]
new deathMsg
new scoreMsg
new points[2]
new round_ednded
/*
CVARS
*/
new CV_catchers_speed
new CV_Bonnyhop
new CV_Turbo_Usage_Percent
new CV_Turbo_Usage_Time
new CV_Catch_speed
new CV_Catch_fleer_speed
new CV_Catch_Turbo_speed
new CV_Catch_Points
new CV_Catchers_Color
new CV_Catcher_Color_R
new CV_Catcher_Color_G
new CV_Catcher_Color_B
new CV_Fleer_Color
new CV_FLEER_Color_R
new CV_FLEER_Color_G
new CV_FLEER_Color_B
new CV_Speedometer_Color
new CV_Speedo_R
new CV_Speedo_G
new CV_Speedo_B
new CV_render_amount
new CV_render_amount_U
new CV_render_amount_O
new CV_render_amount_OO
new CV_survivor
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_logevent("newRound",2,"0=World triggered", "1=Round_Start")
RegisterHam( Ham_Spawn, "player","Players_Spawn",1)
register_event("ResetHUD","resethud","be")
set_task(3.0,"Show_Stats",6000,"",0,"ab")
register_touch("player","player","touch")
register_event("CurWeapon", "Speed_settings", "be", "1=1")
register_logevent("endround",2,"0=World triggered","1=Round_End")
register_forward(FM_Think, "Think")
TaskEnt = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(TaskEnt, pev_classname, "speedometer_think")
set_pev(TaskEnt, pev_nextthink, get_gametime() + 1.01)
E_MaxPlayers = get_maxplayers()
SyncHud = CreateHudSyncObj()
iconstatus = get_user_msgid("StatusIcon")
deathMsg = get_user_msgid("DeathMsg")
scoreMsg = get_user_msgid("ScoreInfo")
/*
CVARS
*/
CV_catchers_speed = register_cvar("amx_catch_catchers_speed","1.0")
CV_Bonnyhop = register_cvar("amx_catch_bunnyhop","1")
CV_Turbo_Usage_Percent = register_cvar("amx_catch_turbo_percent","10")
CV_Turbo_Usage_Time = register_cvar("amx_catch_turbo_usage_time","0.25")
CV_Catch_speed = register_cvar("amx_catch_speed","2.0")
CV_Catch_fleer_speed = register_cvar("amx_catch_fleer_speed","1.0")
CV_Catch_Turbo_speed = register_cvar("amx_catch_turbo_speed","1.5")
CV_Catch_Points = register_cvar("amx_catch_points","3")
CV_Speedometer_Color = register_cvar("amx_catch_speed_colors", "255 255 255")
CV_Catchers_Color = register_cvar("amx_catcher_colors", "255 000 000")
CV_Fleer_Color = register_cvar("amx_fleer_colors","000 255 000")
CV_render_amount = register_cvar("amx_render_amount","25 50 125")
CV_survivor = register_cvar("amx_survivor_points","1")
new speedo_colors[16], speedo_red[4], speedo_green[4], speedo_blue[4]
new catchers_color[16],catchers_r[4], catchers_g[4], catchers_b[4]
new fleer_color[16],fleer_r[4], fleer_g[4], fleer_b[4]
new render_amm[16],render_am_U[4],render_am_O[4],render_am_OO[4]
get_pcvar_string(CV_Speedometer_Color, speedo_colors, sizeof speedo_colors - 1)
get_pcvar_string(CV_Catchers_Color, catchers_color,sizeof catchers_color -1 )
get_pcvar_string(CV_Fleer_Color, fleer_color,sizeof fleer_color -1 )
get_pcvar_string(CV_render_amount,render_amm,sizeof render_amm -1)
parse(speedo_colors, speedo_red, 3, speedo_green, 3, speedo_blue, 3)
parse(catchers_color,catchers_r, 3, catchers_g, 3, catchers_b, 3)
parse(fleer_color,fleer_r, 3, fleer_g, 3, fleer_b, 3)
parse(render_amm,render_am_U,3,render_am_O,3,render_am_OO,3)
CV_Speedo_R = str_to_num(speedo_red)
CV_Speedo_G = str_to_num(speedo_green)
CV_Speedo_B = str_to_num(speedo_blue)
CV_Catcher_Color_R = str_to_num(catchers_r)
CV_Catcher_Color_G = str_to_num(catchers_g)
CV_Catcher_Color_B = str_to_num(catchers_b)
CV_FLEER_Color_R = str_to_num(fleer_r)
CV_FLEER_Color_G = str_to_num(fleer_g)
CV_FLEER_Color_B = str_to_num(fleer_b)
CV_render_amount_U = str_to_num(render_am_U)
CV_render_amount_O = str_to_num(render_am_O)
CV_render_amount_OO = str_to_num(render_am_OO)
}
public Think(ent)
{
if(ent == TaskEnt)
{
SpeedTask()
set_pev(ent, pev_nextthink, get_gametime() + FREQ)
}
}
public newRound()
{
round_ednded = 0
if(round_counter)
{
CSTS_ARE_CATCHER = 1
round_counter = 0
}
else if(!round_counter)
{
CSTS_ARE_CATCHER = 0
round_counter = 1
}
for(new i=1;i<E_MaxPlayers;i++)
{
reset_stats(i)
}
}
public endround()
{
round_ednded = 1
if(!round_counter)
{
CSTS_ARE_CATCHER = 1
round_counter = 0
}
else if(round_counter)
{
CSTS_ARE_CATCHER = 0
round_counter = 1
}
new punkte = 0
new fleer_win = 0
for(new i=1;i<E_MaxPlayers;i++)
{
if(is_user_alive(i) && is_user_connected(i) && !user_is_catcher[i])
{
score[i][3]++
if(get_user_team(i) == 1)
{
points[0] += get_pcvar_num(CV_survivor)
}
else
{
points[1] += get_pcvar_num(CV_survivor)
}
entity_set_float(i,EV_FL_frags,float(score[i][0]+score[i][3]))
apply_scoreboard(i)
punkte++
fleer_win = 1
}
}
if(fleer_win == 1)
{
for(new i=1;i<33;i++)
{
if(is_user_connected(i))
{
client_print(i,print_chat,"[ Catch 2.0.1 ] Fleers won this round. +%d Point%s",punkte*get_pcvar_num(CV_survivor),punkte*get_pcvar_num(CV_survivor) > 1 ? "e" : "")
}
}
}
else
{
for(new i=1;i<33;i++)
{
if(is_user_connected(i))
{
client_print(i,print_chat,"[ Catch 2.0.1 ] Catchers won this round!")
}
}
}
update_teamscore()
}
public update_teamscore()
{
message_begin(MSG_ALL,get_user_msgid("TeamScore"))
write_string("TERRORIST")
write_short(points[0])
message_end()
message_begin(MSG_ALL,get_user_msgid("TeamScore"))
write_string("CT")
write_short(points[1])
message_end()
}
public reset_stats(id)
{
TURBO[id][0] = 0
TURBO[id][1] = 100
}
public touch(pToucher, pTouched)
{
if(!round_ednded)
{
if(pToucher > 0 && pToucher < 33 && is_user_alive(pToucher) && user_is_catcher[pToucher])
{
if (pTouched > 0 && pTouched < 33 && is_user_alive(pTouched) && !user_is_catcher[pTouched])
{
score[pToucher][0] = score[pToucher][0] + get_pcvar_num(CV_Catch_Points)
score[pToucher][1]++
score[pTouched][2]++
set_msg_block(deathMsg,BLOCK_ONCE)
set_msg_block(scoreMsg,BLOCK_ONCE)
user_silentkill(pTouched)
entity_set_float(pToucher,EV_FL_frags,float(score[pToucher-1][0]+(score[pToucher-1][3]*5)))
make_deathmsg(pToucher,pTouched,0,"his hands")
apply_scoreboard(pToucher)
apply_scoreboard(pTouched)
update_teamscore()
speed()
}
}
}
}
public apply_scoreboard(id)
{
message_begin(MSG_ALL,get_user_msgid("ScoreInfo"))
write_byte(id)
write_short(score[id][0]+(score[id][3]*5))
write_short(score[id][2])
write_short(0)
write_short(get_user_team(id))
message_end()
}
public speed()
{
for(new i=1;i<E_MaxPlayers;i++)
{
if(is_user_alive(i))
{
Speed_settings(i)
}
}
}
public Players_Spawn(id)
{
if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_CT)
{
if(CSTS_ARE_CATCHER)
{
user_is_catcher[id] = 1
set_rendering(id,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,CV_render_amount_U)
Speed_settings(id)
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
else
{
user_is_catcher[id] = 0
set_rendering(id,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_U)
Speed_settings(id)
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}
else if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
{
if(!CSTS_ARE_CATCHER)
{
user_is_catcher[id] = 1
set_rendering(id,kRenderFxGlowShell,CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,kRenderNormal,25)
Speed_settings(id)
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
else
{
user_is_catcher[id] = 0
set_rendering(id,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,25)
Speed_settings(id)
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}
else
{
set_rendering(id)
}
}
public client_PreThink(id)
{
new buttons = get_user_button(id)
if(get_pcvar_num(CV_Bonnyhop) == 1)
{
if(buttons & IN_JUMP)
{
new flags = entity_get_int(id, EV_INT_flags)
if(flags|FL_WATERJUMP && entity_get_int(id,EV_INT_waterlevel)<2 && flags&FL_ONGROUND)
{
new Float:velocity[3]
get_user_velocity(id,velocity)
velocity[2] += 250.0
set_user_velocity(id,velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
}
}
if(buttons & IN_ATTACK2 && !chilldown[id])
{
if(TURBO[id][0] == 0 && TURBO[id][1] >= get_pcvar_num(CV_Turbo_Usage_Percent))
{
User_has_turbo_ON(id)
}
else if(TURBO[id][0] == 1)
{
User_has_turbo_OFF(id)
}
}
}
SpeedTask()
{
static i, target
static Float:velocity[3]
static Float:speed
for(i=1; i<=E_MaxPlayers; i++)
{
if(!is_user_connected(i)) continue
target = pev(i, pev_iuser1) == 4 ? pev(i, pev_iuser2) : i
pev(target, pev_velocity, velocity)
speed = vector_length(velocity)
//speedh = floatsqroot(floatpower(velocity[0], 2.0) + floatpower(velocity[1], 2.0))
set_hudmessage(CV_Speedo_R, CV_Speedo_G, CV_Speedo_B, -1.0, 0.7, 0, 0.0, FREQ, 0.01, 0.0)
if(speed <= 1000)
{
cs_set_user_armor(i,floatround(speed),CS_ARMOR_NONE)
if(!under_tausend[i])
{
message_begin(MSG_ONE,iconstatus,{0,0,0},i);
write_byte(0);
write_string("plus");
write_byte(0);
write_byte(255);
write_byte(0);
message_end();
under_tausend[i] = 1
over_tausend[i] = 0
over_twotausend[i] = 0
set_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_U)
}
}
else if(speed > 1000 && speed < 2000)
{
cs_set_user_armor(i,floatround(speed) - 1000,CS_ARMOR_NONE)
if(!over_tausend[i])
{
message_begin(MSG_ONE,iconstatus,{0,0,0},i);
write_byte(2);
write_string("plus");
write_byte(0);
write_byte(255);
write_byte(0);
message_end();
over_tausend[i] = 1
under_tausend[i] = 0
over_twotausend[i] = 0
set_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_O)
ShowSyncHudMsg(i, SyncHud, "hast mehr als 1000")
}
}
else if(speed > 2000 && speed < 3000)
{
cs_set_user_armor(i,floatround(speed) - 1000,CS_ARMOR_NONE)
if(!over_twotausend[i])
{
message_begin(MSG_ONE,iconstatus,{0,0,0},i);
write_byte(2);
write_string("plus");
write_byte(0);
write_byte(255);
write_byte(0);
message_end();
over_tausend[i] = 0
under_tausend[i] = 0
over_twotausend[i] = 1
set_rendering(i,kRenderFxGlowShell,CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,kRenderNormal,CV_render_amount_OO)
}
ShowSyncHudMsg(i, SyncHud, "hast mehr als 2000")
}
if(!is_user_alive(i))
{
ShowSyncHudMsg(i, SyncHud, "%3.2f units/second", speed)
}
//ShowSyncHudMsg(i, SyncHud, "%3.2f units/second^n%3.2f velocity", speed, speedh)
}
}
public User_has_turbo_ON(id)
{
if(is_user_alive(id) && !user_is_catcher[id])
{
if(TURBO[id][1] < get_pcvar_num(CV_Turbo_Usage_Percent))
{
TURBO[id][0] = 0
Speed_settings(id)
}
else if(!chilldown[id])
{
TURBO[id][0] = 1
TURBO[id][1] -= get_pcvar_num(CV_Turbo_Usage_Percent)
Speed_settings(id)
set_task(get_pcvar_float(CV_Turbo_Usage_Time),"turbo_task",id)
chilldown[id] = 1
}
Player_Show_Stats(id)
}
}
public User_has_turbo_OFF(id)
{
if(TURBO[id][0] == 1)
{
TURBO[id][0] = 0
Speed_settings(id)
remove_task(id+10000)
Player_Show_Stats(id)
}
}
public Speed_settings(id)
{
new Float:speed
if(!user_is_catcher[id])
{
speed = 320.0 * get_pcvar_float(CV_Catch_speed) * get_pcvar_float(CV_Catch_fleer_speed)
if(TURBO[id][0] == 1)
{
speed *= get_pcvar_float(CV_Catch_Turbo_speed)
set_task(get_pcvar_float(CV_Turbo_Usage_Time),"turbo_fix",id)
}
}
else
{
speed = 320.0 * get_pcvar_float(CV_Catch_speed) * get_pcvar_float(CV_catchers_speed)
}
set_user_maxspeed(id,speed)
}
public turbo_fix(id)
{
TURBO[id][0] = 0
}
public resethud(id)
{
set_task(0.1,"apply",id)
}
public apply(id)
{
Speed_settings(id)
apply_scoreboard(id)
}
public Show_Stats()
{
for(new id=1;id <= E_MaxPlayers;id++)
{
if(is_user_connected(id) && is_user_alive(id))
{
Player_Show_Stats(id)
}
}
}
public Player_Show_Stats(id)
{
new teams[32], turbos[32]
if(!user_is_catcher[id])
{
set_hudmessage(CV_FLEER_Color_R,CV_FLEER_Color_G,CV_FLEER_Color_B,0.02,0.25,0,0.1,5.0,0.0,0.0)
copy(teams,127,"You´r a FLEER..")
if(TURBO[id][1] >= get_pcvar_num(CV_Turbo_Usage_Percent))
{
format(turbos,31,"^n%sTurbo: [===|===] %d%",TURBO[id][0] == 1 ? "+" : "-",TURBO[id][1])
}
else if(TURBO[id][1] <= get_pcvar_num(CV_Turbo_Usage_Percent))
{
format(turbos,31,"^nTurbo: [|||||||] OFF")
}
}
else if(user_is_catcher[id])
{
set_hudmessage(CV_Catcher_Color_R,CV_Catcher_Color_G,CV_Catcher_Color_B,0.02,0.25,0,0.1,5.0,0.0,0.0)
copy(teams,127,"You have to CATCH,Go ,Go ,Go...")
}
show_hudmessage(id,"%s %s",teams,turbos)
}
public turbo_task(id)
{
if(is_user_alive(id))
{
if(!user_is_catcher[id])
{
if(TURBO[id][1] > get_pcvar_num(CV_Turbo_Usage_Percent))
{
Speed_settings(id)
TURBO[id][0] = 0
Player_Show_Stats(id)
}
else
{
TURBO[id][1] -= get_pcvar_num(CV_Turbo_Usage_Percent)
Player_Show_Stats(id)
}
}
else
{
TURBO[id][0] = 0
Player_Show_Stats(id)
Speed_settings(id)
}
}
else
{
TURBO[id][0] = 0
}
chilldown[id] = 0
}
__________________
|
|