Senior Member
|
05-28-2017
, 15:22
Mod Smith
|
#1
|
Hello all
i d like to know if somebody can update and translate this fun pluging from 1.6 ?
the plug : when you begin on an occasionnel server, for ex on dust2, both team appear and 1 man is choosen to be the Mr Smith (no footstep, low gravity; more speed and glow red or blue in function of team . When you kill Mr Smith you become mr smith
Quote:
/* AMX Mod Plugin
*
* (c) Copyright 2007, DokTor
* This file is provided as is (no warranties).
*
*/
/*
* Credits
* Riedel for the original plugin
* AssKicR for the NVG code
*
*/
#define KING_MODEL "smith"
#include <amxmodx>
#include <cstrike>
#include <fun>
#define MAX_PLAYERS 32
new bool:g_RestartAttempt[MAX_PLAYERS+1]
new g_msgNVGToggle
new the_king
new knife_speed, knife_invis
new king_enabled, king_health, king_speed, king_gravity, king_foot_steps, king_model, king_glow, king_nvg
public plugin_precache() {
new precachedfile[128]
format(precachedfile, 127, "models/player/%s/%s.mdl", KING_MODEL, KING_MODEL)
if(!file_exists(precachedfile)) {
set_pcvar_num(king_model,0)
return
}
precache_model(precachedfile)
}
public plugin_init() {
register_plugin("King of The Hill 2","0.1","DokTor")
register_event("HLTV", "eNewRound", "a", "1=0", "2=0")
register_logevent("eRoundStart", 2, "1=Round_Start")
register_event("TextMsg", "eRestartAttempt", "a", "2=#Game_will_restart_in")
register_event("ResetHUD", "eResetHUD", "be")
register_event("CurWeapon", "eCurWeapon", "b", "1=1")
register_event("DeathMsg","eDeathMsg","a")
register_clcmd("fullupdate", "fullupdateCmd")
register_clcmd("nightvision","nightvisionCmd" )
king_enabled = register_cvar("amx_king","1")
king_health = register_cvar("amx_king_health","0.85")
king_speed = register_cvar("amx_king_speed","3.4")
king_gravity = register_cvar("amx_king_gravity","0.275")
king_foot_steps = register_cvar("amx_king_foot_steps","1")
king_glow = register_cvar("amx_king_glow","1")
king_nvg = register_cvar("amx_king_nvg","0")
king_model = register_cvar("amx_king_model","1")
knife_speed = register_cvar("knife_speed","2.25") //(250 * 2.0 = 500)
knife_invis = register_cvar("knife_invis","50") //0-255
g_msgNVGToggle = get_user_msgid("NVGToggle")
set_task(15.0,"load_settings")
}
public load_settings() {
set_cvar_num("sv_maxspeed", 350)
}
/* public client_connect(id) {
client_cmd(id, "cl_forwardspeed 375")
client_cmd(id, "cl_backspeed 375")
client_cmd(id, "cl_sidespeed 375")
} */
public client_disconnect(id)
{
if(get_pcvar_num(king_enabled)) {
new name[32]
if(id == the_king) {
the_king = 0
get_user_name(id, name, 31)
set_hudmessage(255, 100, 0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0," Smith %s nous a quitte.", name)
eRoundStart()
}
}
}
public fullupdateCmd() {
return PLUGIN_HANDLED_MAIN
}
public nightvisionCmd(id) {
if(the_king == id){
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
public eRestartAttempt() {
new players[32], num
get_players(players, num, "a")
for (new i; i < num; ++i)
g_RestartAttempt[players[i]] = true
}
public eResetHUD(id) {
if (g_RestartAttempt[id]) {
g_RestartAttempt[id] = false
return
}
ePlayerSpawn(id)
}
public ePlayerSpawn(id) {
if(id == the_king && get_pcvar_num(king_enabled)) {
king_settings(id)
}
}
public king_settings(id) {
if(id <= 0)
return PLUGIN_HANDLED
new health = get_user_health(id)
new new_health = floatround(get_pcvar_float(king_health) * health)
set_user_health(id, new_health)
set_user_gravity(id, get_pcvar_float(king_gravity))
if(get_pcvar_num(king_glow)) {
new red, green, blue
if(get_user_team(id) == 1)
red = 255
else if(get_user_team(id) == 2)
blue = 255
set_user_rendering(id,kRenderFxGlowShell,red, green,blue,kRenderNormal,16)
}
if(get_pcvar_num(king_model)) {
cs_set_user_model(id, KING_MODEL)
}
if(get_pcvar_num(king_nvg)) {
StartNVG(id)
}
set_user_footsteps(id, get_pcvar_num(king_foot_steps))
return PLUGIN_HANDLED
}
public king_stop_settings(id) {
if(id <= 0)
return PLUGIN_HANDLED
set_user_gravity(id)
set_user_footsteps(id)
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
cs_reset_user_model(id)
if(get_pcvar_num(king_nvg)) {
StopNVG(id)
}
return PLUGIN_HANDLED
}
public eCurWeapon(id) {
if(the_king == id && get_pcvar_float(king_speed) > 1.0 && get_pcvar_num(king_enabled)) {
new Float:speed = get_user_maxspeed(id)
set_user_maxspeed(id, speed * get_pcvar_float(king_speed))
}
else if(read_data(2) == 29) {
new Float:speed = get_user_maxspeed(id)
set_user_maxspeed(id, speed * get_pcvar_float(knife_speed))
set_user_rendering(id,kRenderFxGlowShell,0,0, 0,kRenderTransAlpha,get_pcvar_num(knife_invis ))
}
else {
set_user_rendering(id, kRenderFxNone, 0, 0, 0, kRenderNormal, 0)
}
}
public eDeathMsg() {
if(!get_pcvar_num(king_enabled))
return PLUGIN_CONTINUE
new victim = read_data(2)
if(the_king != victim) {
return PLUGIN_CONTINUE
}
new killer = read_data(1)
king_stop_settings(victim)
new v_name[32]
get_user_name(victim, v_name , 31)
if(!killer || victim == killer){
set_hudmessage(255, 100, 0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0,"L'agent Smith %s vient de mourir..", v_name)
the_king = 0
random_king()
}
else {
the_king = killer
king_settings(killer)
new k_name[32]
get_user_name(killer, k_name, 31)
set_hudmessage(255, 100, 0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0,"%s a ownZ %s devient Smith!", k_name, v_name)
}
return PLUGIN_CONTINUE
}
public eRoundStart() {
if(!get_pcvar_num(king_enabled))
return PLUGIN_CONTINUE
if(the_king <= 0) {
if(task_exists(1111111))
remove_task(1111111)
random_king()
}
else {
announce()
}
return PLUGIN_CONTINUE
}
public announce() {
remove_task(1111111)
if(the_king != 0) {
new name[32]
get_user_name(the_king, name, 31)
set_hudmessage(255, 100, 0, 0.05, 0.50, 2, 0.1, 4.0, 0.02, 0.02, 10)
show_hudmessage(0,"%s est Smith! Tues-le devient Smith..", name)
}
else {
random_king()
}
}
public random_king() {
set_task(1.0,"choose_a_king",1111111,_,_,"b")
}
public choose_a_king() {
new team = random_num(1,2)
new players[32], inum
get_players(players, inum, "aeh",team==1 ? "TERRORIST" : "CT")
new num = random_num(1,inum)
the_king = players[num]
king_settings(the_king)
announce()
}
public StartNVG(id)
{
message_begin(MSG_ONE, g_msgNVGToggle, _, id)
write_byte(1)
message_end()
}
public StopNVG(id)
{
message_begin(MSG_ONE, g_msgNVGToggle, _, id)
write_byte(0)
message_end()
}
|
thx so much !!!
__________________
|
|