Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
Modyfikacja

Prośba o przerobienie VIPA !!!

Modyfikacja

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
2 odpowiedzi w tym temacie

#1 R4x0R.

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:30
  • Imię:Ładnie
  • Lokalizacja:Komputer
Offline

Napisano 15.04.2012 13:26

Witam, mam vipa i bardzo bym prosił o przerobienie go na takiego !!!

.::: ViP Menu :::.

1. +50hp
2. Granaty - [Wszystkie (2 fleshe)]
3. Grawitacja - [500] jak mozna do ustawienia w cvarach
4. Szybkość - [400] jak mozna do ustawienia w cvarach
5. Mp5 - [Full ammo]
6. 5000$
7.Tarcza - SWAT
8. Noktowizor

0. Exit



Tutaj daje sma do przerobienia.

Za dobre przerobienie daje 5 +++++
Z góry dziękuje
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <xs>
#include <engine>[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]#define FLAG ADMIN_IMMUNITY[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new const VIP[] = "DeathRunVip"
new const VIP_MODEL[] = "models/player/DeathRunVip/DeathRunVip.mdl"[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav"
new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav"
new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav"[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]#define TASKID_SHOWHUD 2931
#define TASKID_MODEL 3810 [/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new player_model[33][32]
new Float: g_counter
new bool: g_model[33]
new g_hudsync
new cvar_gravity
new cvar_speed
new SayTxT[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new gCylinderSprite;[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public plugin_precache()
{
precache_model(VIP_MODEL)
precache_sound(VIP_CONNECT)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]precache_sound(MENU_POPUP)
precache_sound(MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]gCylinderSprite = precache_model( "sprites/shockwave.spr" );
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public plugin_init()
{
register_plugin("Deathrun V.I.P", "1.0", "DoviuX")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]cvar_gravity = register_cvar("dr_vip_gravity", "500")
cvar_speed = register_cvar("dr_vip_speed", "500")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]RegisterHam(Ham_Spawn, "player", "bacon_spawn", 1)
register_forward(FM_SetClientKeyValue, "fw_SetClientKeyValue")
register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]g_hudsync = CreateHudSyncObj()
SayTxT = get_user_msgid("SayText");
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public client_connect(client)
{
if(get_user_flags(client) & FLAG)
{
client_cmd(client, "spk %s", VIP_CONNECT)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new name[32];
get_user_name(client, name, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 );
show_hudmessage( 0, "Vip %s is connecting to the server!.", name);
}
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public bacon_spawn(id)
{
if (!is_user_alive(id))
return

static CsTeams: team ; team = cs_get_user_team(id)

if (team == CS_TEAM_T && (get_user_flags(id) & FLAG))
{
set_task(2.0, "T_menu", id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new iOrigin[ 3 ];
get_user_origin( id, iOrigin );[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]copy(player_model[id], 31, VIP)

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
{
Task_Model(id + TASKID_MODEL)
g_counter += 0.1;
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]if(!task_exists(TASKID_SHOWHUD + id))
set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
}
else if (team == CS_TEAM_CT && (get_user_flags(id) & FLAG))
{
set_task(2.0, "CT_menu", id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new iOrigin[ 3 ];
get_user_origin( id, iOrigin );[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]copy(player_model[id], 31, VIP)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]strip_user_weapons(id)
give_item(id, "weapon_knife")

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
{
Task_Model(id + TASKID_MODEL)
g_counter += 0.1;
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]if(!task_exists(TASKID_SHOWHUD + id))
set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
}
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public T_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_POPUP)

new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "Vip_Handler");
menu_additem(gmenu ,"\r255 \wHealth", "1" , 0);
menu_additem(gmenu ,"\r255 \wArmor", "2" , 0);
menu_additem(gmenu ,"\wGravity", "3" , 0);
menu_additem(gmenu ,"\wSpeed", "4" , 0);
menu_additem(gmenu ,"\wDeagle with \r2 ammo", "5" , 0);
menu_additem(gmenu ,"\wHegrenade", "6" , 0);
menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "7" , 0);

menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);

menu_display(id , gmenu , 0);[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]return PLUGIN_CONTINUE
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public CT_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

client_cmd(id, "spk %s", MENU_POPUP)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "VipCt_Handler");
menu_additem(gmenu ,"\r255 \wHealth", "1" , 0);
menu_additem(gmenu ,"\r255 \wArmor", "2" , 0);
menu_additem(gmenu ,"\wGravity", "3" , 0);
menu_additem(gmenu ,"\wSpeed", "4" , 0);
menu_additem(gmenu ,"\wHegrenade", "5" , 0);
menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "6" , 0);

menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);

menu_display(id , gmenu , 0);[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]return PLUGIN_CONTINUE
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public Vip_Handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_health(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 2:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_armor(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 3:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new Float: gravity
gravity = get_pcvar_float(cvar_gravity) / 800[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_gravity(id, gravity)
client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")
}

case 4:
{
new Float: speed
speed = get_pcvar_float(cvar_speed)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_maxspeed(id, speed)
client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")
}

case 5:
{
give_item(id, "weapon_deagle")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id);
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id, 2);
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_printcolor(player, "/g[V.I.P]/y: You choosed deagle with /g2 /ybullets!")
}

case 6:
{
give_item(id, "weapon_hegrenade")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 7:
{
cs_set_user_nvg(id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")
}
}
menu_destroy(gmenu)
return PLUGIN_HANDLED;
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public VipCt_Handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_health(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 2:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_armor(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 3:
{
client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]new Float: gravity
gravity = get_pcvar_float(cvar_gravity) / 800[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_gravity(id, gravity)
client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")
}

case 4:
{
new Float: speed
speed = get_pcvar_float(cvar_speed)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]set_user_maxspeed(id, speed)
client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")
}

case 5:
{
give_item(id, "weapon_hegrenade")[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3] case 6:
{
cs_set_user_nvg(id)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_cmd(id, "spk %s", MENU_OK)[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")
}
}
menu_destroy(gmenu)
return PLUGIN_HANDLED;
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public Task_ShowHUD(task)
{
new id = task - TASKID_SHOWHUD

if(!is_user_alive(id))
return PLUGIN_HANDLED

static health, armour
health = get_user_health(id)
armour = get_user_armor(id)

set_hudmessage(150, 150, 150, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0)
ShowSyncHudMsg(id, g_hudsync , ".::*Health: %d -|V.I.P|- Armour: %d*::.", health, armour)

set_task(0.1, "Task_ShowHUD", TASKID_SHOWHUD + id)

return PLUGIN_CONTINUE
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public client_PreThink(id)
{
if(is_user_alive(id))
{
if(get_user_flags(id) & FLAG)
{

new oldbuttons = get_user_oldbutton(id);


oldbuttons &= ~IN_JUMP;
entity_set_int(id, EV_INT_oldbuttons, oldbuttons);
}
}
} [/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public Task_Model(task)
{
new id = task - TASKID_MODEL

fm_set_user_model(id, player_model[id])
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed )
{
message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[ 0 ] );
write_coord( origin[ 1 ] );
write_coord( origin[ 2 ] );
write_coord( origin[ 0 ] );
write_coord( origin[ 1 ] );
write_coord( origin[ 2 ] + addrad );
write_short( sprite );
write_byte( startfrate );
write_byte( framerate );
write_byte(life );
write_byte( width );
write_byte( amplitude );
write_byte( red );
write_byte( green );
write_byte( blue );
write_byte( brightness );
write_byte( speed );
message_end();
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock te_sprite(id, Float:origin[3], sprite, scale, brightness)
{
message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
write_byte(TE_SPRITE)
write_coord(floatround(origin[0]))
write_coord(floatround(origin[1]))
write_coord(floatround(origin[2]))
write_short(sprite)
write_byte(scale)
write_byte(brightness)
message_end()
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul)
{
new Float:fLen = xs_vec_len(fIn)
xs_vec_copy(fIn, fOut)

fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public fw_SetClientKeyValue(id, infobuffer, key[], value[])
{
if (g_model[id] && equal(key, "model"))
return FMRES_SUPERCEDE

return FMRES_IGNORED
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]public fw_ClientUserInfoChanged(id, infobuffer)
{
if (!g_model[id])
return FMRES_IGNORED

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
fm_set_user_model(id, player_model[id])

return FMRES_IGNORED
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock fm_set_user_model(player, modelname[])
{
engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)

g_model[player] = true
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock fm_get_user_model(player, model[], len)
{
engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock fm_reset_user_model(player)
{
g_model[player] = false

dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}[/size][/font][/color]
[color=#282828][font=helvetica, arial, sans-serif][size=3]stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg,190,input,3);
replace_all(msg,190,"/g","^4");// green txt
replace_all(msg,190,"/y","^1");// orange txt
replace_all(msg,190,"/ctr","^3");// team txt
replace_all(msg,190,"/w","^0");// team txt
if (id) players[0] = id; else get_players(players,count,"ch");
for (new i = 0; i < count; i++)
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}

Ojciec Dyrektor (15.04.2012 14:27):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.

  • +
  • -
  • -1

#2 0x.

    Profesjonalista

  • Zbanowany

Reputacja: 45
Pomocny

  • Postów:157
  • Imię:Piotr
  • Lokalizacja:Brzesko
Offline

Napisano 15.04.2012 13:27

daj jsezcze raz kod sma

#3 R4x0R.

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:30
  • Imię:Ładnie
  • Lokalizacja:Komputer
Offline

Napisano 15.04.2012 13:44

#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#include <fakemeta>
#include <xs>
#include <engine>
#define FLAG ADMIN_IMMUNITY
new const VIP[] = "DeathRunVip"
new const VIP_MODEL[] = "models/player/DeathRunVip/DeathRunVip.mdl"
new const MENU_POPUP[] = "misc/DeathRunVip/vip_menu_popup.wav"
new const MENU_OK[] = "misc/DeathRunVip/vip_menu_ok.wav"
new const VIP_CONNECT[] = "misc/DeathRunVip/vip_connect.wav"
#define TASKID_SHOWHUD 2931
#define TASKID_MODEL 3810
new player_model[33][32]
new Float: g_counter
new bool: g_model[33]
new g_hudsync
new cvar_gravity
new cvar_speed
new SayTxT
new gCylinderSprite;
public plugin_precache()
{
precache_model(VIP_MODEL)
precache_sound(VIP_CONNECT)
precache_sound(MENU_POPUP)
precache_sound(MENU_OK)
gCylinderSprite = precache_model( "sprites/shockwave.spr" );
}
public plugin_init()
{
register_plugin("Deathrun V.I.P", "1.0", "DoviuX")
cvar_gravity = register_cvar("dr_vip_gravity", "500")
cvar_speed = register_cvar("dr_vip_speed", "500")
RegisterHam(Ham_Spawn, "player", "bacon_spawn", 1)
register_forward(FM_SetClientKeyValue, "fw_SetClientKeyValue")
register_forward(FM_ClientUserInfoChanged, "fw_ClientUserInfoChanged")
g_hudsync = CreateHudSyncObj()
SayTxT = get_user_msgid("SayText");
}
public client_connect(client)
{
if(get_user_flags(client) & FLAG)
{
client_cmd(client, "spk %s", VIP_CONNECT)
new name[32];
get_user_name(client, name, 31);
set_hudmessage( 0, 255, 0, -1.0, 0.29, 0, 6.0, 12.0 );
show_hudmessage( 0, "Vip %s is connecting to the server!.", name);
}
}
public bacon_spawn(id)
{
if (!is_user_alive(id))
return

static CsTeams: team ; team = cs_get_user_team(id)

if (team == CS_TEAM_T && (get_user_flags(id) & FLAG))
{
set_task(2.0, "T_menu", id)
new iOrigin[ 3 ];
get_user_origin( id, iOrigin );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
copy(player_model[id], 31, VIP)

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
{
Task_Model(id + TASKID_MODEL)
g_counter += 0.1;
}
if(!task_exists(TASKID_SHOWHUD + id))
set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)
set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
}
else if (team == CS_TEAM_CT && (get_user_flags(id) & FLAG))
{
set_task(2.0, "CT_menu", id)
new iOrigin[ 3 ];
get_user_origin( id, iOrigin );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
Create_BeamCylinder( iOrigin, 120, gCylinderSprite, 0, 0, 6, 16, 0, random( 0 ), random( 255 ), random( 0 ), 255, 0 );
copy(player_model[id], 31, VIP)
strip_user_weapons(id)
give_item(id, "weapon_knife")

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
{
Task_Model(id + TASKID_MODEL)
g_counter += 0.1;
}
if(!task_exists(TASKID_SHOWHUD + id))
set_task(0.2, "Task_ShowHUD", TASKID_SHOWHUD + id)
set_user_rendering(id,kRenderFxGlowShell,255,0,0,kRenderNormal,25)
}
}
public T_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED
client_cmd(id, "spk %s", MENU_POPUP)

new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "Vip_Handler");
menu_additem(gmenu ,"\r255 \wHealth", "1" , 0);
menu_additem(gmenu ,"\r255 \wArmor", "2" , 0);
menu_additem(gmenu ,"\wGravity", "3" , 0);
menu_additem(gmenu ,"\wSpeed", "4" , 0);
menu_additem(gmenu ,"\wDeagle with \r2 ammo", "5" , 0);
menu_additem(gmenu ,"\wHegrenade", "6" , 0);
menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "7" , 0);

menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);

menu_display(id , gmenu , 0);
return PLUGIN_CONTINUE
}
public CT_menu(id)
{
if(!is_user_alive(id))
return PLUGIN_HANDLED

client_cmd(id, "spk %s", MENU_POPUP)
new gmenu = menu_create("\y~::*V.I.P Menu*::~" , "VipCt_Handler");
menu_additem(gmenu ,"\r255 \wHealth", "1" , 0);
menu_additem(gmenu ,"\r255 \wArmor", "2" , 0);
menu_additem(gmenu ,"\wGravity", "3" , 0);
menu_additem(gmenu ,"\wSpeed", "4" , 0);
menu_additem(gmenu ,"\wHegrenade", "5" , 0);
menu_additem(gmenu ,"\wNightVision (\rFor dark maps\w)", "6" , 0);

menu_setprop(gmenu , MPROP_EXIT , MEXIT_ALL);

menu_display(id , gmenu , 0);
return PLUGIN_CONTINUE
}
public Vip_Handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id, "spk %s", MENU_OK)
set_user_health(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")
}
case 2:
{
client_cmd(id, "spk %s", MENU_OK)
set_user_armor(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")
}
case 3:
{
client_cmd(id, "spk %s", MENU_OK)
new Float: gravity
gravity = get_pcvar_float(cvar_gravity) / 800
set_user_gravity(id, gravity)
client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")
}

case 4:
{
new Float: speed
speed = get_pcvar_float(cvar_speed)
client_cmd(id, "spk %s", MENU_OK)
set_user_maxspeed(id, speed)
client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")
}

case 5:
{
give_item(id, "weapon_deagle")
new weapon_id = find_ent_by_owner(-1, "weapon_deagle", id);
if(weapon_id)
{
cs_set_weapon_ammo(weapon_id, 2);
}
client_cmd(id, "spk %s", MENU_OK)
client_printcolor(player, "/g[V.I.P]/y: You choosed deagle with /g2 /ybullets!")
}

case 6:
{
give_item(id, "weapon_hegrenade")
client_cmd(id, "spk %s", MENU_OK)
client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")
}
case 7:
{
cs_set_user_nvg(id)
client_cmd(id, "spk %s", MENU_OK)
client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")
}
}
menu_destroy(gmenu)
return PLUGIN_HANDLED;
}
public VipCt_Handler(id, gmenu, item, player)
{
if (item == MENU_EXIT)
{
menu_destroy(gmenu)
return PLUGIN_HANDLED
}
new data[6], iName[64]
new access, callback
menu_item_getinfo(gmenu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
client_cmd(id, "spk %s", MENU_OK)
set_user_health(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /ghealth!")
}
case 2:
{
client_cmd(id, "spk %s", MENU_OK)
set_user_armor(id, 255)
client_printcolor(player, "/g[V.I.P]/y: You choosed /w255 /garmor!")
}
case 3:
{
client_cmd(id, "spk %s", MENU_OK)
new Float: gravity
gravity = get_pcvar_float(cvar_gravity) / 800
set_user_gravity(id, gravity)
client_printcolor(player, "/g[V.I.P]/y: You choosed /ggravity!")
}

case 4:
{
new Float: speed
speed = get_pcvar_float(cvar_speed)
client_cmd(id, "spk %s", MENU_OK)
set_user_maxspeed(id, speed)
client_printcolor(player, "/g[V.I.P]/y: You choosed /gspeed!")
}

case 5:
{
give_item(id, "weapon_hegrenade")
client_cmd(id, "spk %s", MENU_OK)
client_printcolor(player, "/g[V.I.P]/y: You choosed /wexplosive /gHe /yGrenade!")
}
case 6:
{
cs_set_user_nvg(id)
client_cmd(id, "spk %s", MENU_OK)
client_printcolor(player, "/g[V.I.P]/y: You choosed nightvision!")
}
}
menu_destroy(gmenu)
return PLUGIN_HANDLED;
}
public Task_ShowHUD(task)
{
new id = task - TASKID_SHOWHUD

if(!is_user_alive(id))
return PLUGIN_HANDLED

static health, armour
health = get_user_health(id)
armour = get_user_armor(id)

set_hudmessage(150, 150, 150, 0.40, 0.92, 0, 0.0, 0.3, 0.0, 0.0)
ShowSyncHudMsg(id, g_hudsync , ".::*Health: %d -|V.I.P|- Armour: %d*::.", health, armour)

set_task(0.1, "Task_ShowHUD", TASKID_SHOWHUD + id)

return PLUGIN_CONTINUE
}
public client_PreThink(id)
{
if(is_user_alive(id))
{
if(get_user_flags(id) & FLAG)
{

new oldbuttons = get_user_oldbutton(id);


oldbuttons &= ~IN_JUMP;
entity_set_int(id, EV_INT_oldbuttons, oldbuttons);
}
}
}
public Task_Model(task)
{
new id = task - TASKID_MODEL

fm_set_user_model(id, player_model[id])
}
stock Create_BeamCylinder( origin[ 3 ], addrad, sprite, startfrate, framerate, life, width, amplitude, red, green, blue, brightness, speed )
{
message_begin( MSG_PVS, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[ 0 ] );
write_coord( origin[ 1 ] );
write_coord( origin[ 2 ] );
write_coord( origin[ 0 ] );
write_coord( origin[ 1 ] );
write_coord( origin[ 2 ] + addrad );
write_short( sprite );
write_byte( startfrate );
write_byte( framerate );
write_byte(life );
write_byte( width );
write_byte( amplitude );
write_byte( red );
write_byte( green );
write_byte( blue );
write_byte( brightness );
write_byte( speed );
message_end();
}
stock te_sprite(id, Float:origin[3], sprite, scale, brightness)
{
message_begin(MSG_ONE, SVC_TEMPENTITY, _, id)
write_byte(TE_SPRITE)
write_coord(floatround(origin[0]))
write_coord(floatround(origin[1]))
write_coord(floatround(origin[2]))
write_short(sprite)
write_byte(scale)
write_byte(brightness)
message_end()
}
stock normalize(Float:fIn[3], Float:fOut[3], Float:fMul)
{
new Float:fLen = xs_vec_len(fIn)
xs_vec_copy(fIn, fOut)

fOut[0] /= fLen, fOut[1] /= fLen, fOut[2] /= fLen
fOut[0] *= fMul, fOut[1] *= fMul, fOut[2] *= fMul
}
public fw_SetClientKeyValue(id, infobuffer, key[], value[])
{
if (g_model[id] && equal(key, "model"))
return FMRES_SUPERCEDE

return FMRES_IGNORED
}
public fw_ClientUserInfoChanged(id, infobuffer)
{
if (!g_model[id])
return FMRES_IGNORED

new currentmodel[32];
fm_get_user_model(id, currentmodel, sizeof currentmodel - 1);

if(!equal(currentmodel, player_model[id]))
fm_set_user_model(id, player_model[id])

return FMRES_IGNORED
}
stock fm_set_user_model(player, modelname[])
{
engfunc(EngFunc_SetClientKeyValue, player, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", modelname)

g_model[player] = true
}
stock fm_get_user_model(player, model[], len)
{
engfunc(EngFunc_InfoKeyValue, engfunc(EngFunc_GetInfoKeyBuffer, player), "model", model, len)
}
stock fm_reset_user_model(player)
{
g_model[player] = false

dllfunc(DLLFunc_ClientUserInfoChanged, player, engfunc(EngFunc_GetInfoKeyBuffer, player))
}
stock client_printcolor(const id, const input[], any:...)
{
new count = 1, players[32];
static msg[191];
vformat(msg,190,input,3);
replace_all(msg,190,"/g","^4");// green txt
replace_all(msg,190,"/y","^1");// orange txt
replace_all(msg,190,"/ctr","^3");// team txt
replace_all(msg,190,"/w","^0");// team txt
if (id) players[0] = id; else get_players(players,count,"ch");
for (new i = 0; i < count; i++)
if (is_user_connected(players[i]))
{
message_begin(MSG_ONE_UNRELIABLE, SayTxT, _, players[i]);
write_byte(players[i]);
write_string(msg);
message_end();
}
}

Ojciec Dyrektor (15.04.2012 14:25):
Kod w postach(np. źródło pluginu) umieszczaj w odpowiednich tagach(code/php/spoiler itp) a powyżej 200 linijek tylko w załączniku.

Załączone pliki


  • +
  • -
  • -1





Również z jednym lub większą ilością słów kluczowych: Modyfikacja

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych