Tak jak w temacie, Proszę o dodanie 1 dodatkowego skoku dla Vipa.
Jeżeli się da to również proszę o dodanie prefix'u "[V.I.P]".
Za każdą pomoc Daje +
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.
|
Napisano 30.01.2014 20:13
Tak jak w temacie, Proszę o dodanie 1 dodatkowego skoku dla Vipa.
Jeżeli się da to również proszę o dodanie prefix'u "[V.I.P]".
Za każdą pomoc Daje +
Napisano 30.01.2014 20:51
Sprawdz to:
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #include <cstrike> #include <fakemeta> #include <xs> #include <engine> #define FLAG ADMIN_LEVEL_H 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 bool:g_Vip[33], skoki[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") register_forward(FM_CmdStart, "CmdStartPre"); RegisterHam(Ham_Spawn, "player", "SpawnedEventPre", 1); register_message(get_user_msgid("SayText"),"handleSayText"); 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(); } } public client_authorized(id){ if(get_user_flags(id) & 524288 == 524288){ client_authorized_vip(id); } } public client_authorized_vip(id){ g_Vip[id]=true; } public client_disconnect(id){ if(g_Vip[id]){ client_disconnect_vip(id); } } public client_disconnect_vip(id){ g_Vip[id]=false; } public CmdStartPre(id, uc_handle){ if(g_Vip[id]){ if(is_user_alive(id)){ CmdStartPreVip(id, uc_handle); } } } public CmdStartPreVip(id, uc_handle){ new flags = pev(id, pev_flags); if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id]>0){ --skoki[id]; new Float:velocity[3]; pev(id, pev_velocity,velocity); velocity[2] = random_float(265.0,285.0); set_pev(id,pev_velocity,velocity); } else if(flags & FL_ONGROUND && skoki[id]!=-1){ skoki[id] = 1; } } public SpawnedEventPre(id){ if(g_Vip[id]){ if(is_user_alive(id)){ SpawnedEventPreVip(id); } } } public SpawnedEventPreVip(id){ skoki[id]=1; } public handleSayText(msgId,msgDest,msgEnt){ new id = get_msg_arg_int(1); if(is_user_connected(id) && g_Vip[id]){ new szTmp[256],szTmp2[256]; get_msg_arg_string(2,szTmp, charsmax(szTmp)) new szPrefix[64] = "^x04[V.I.P]"; if(!equal(szTmp,"#Cstrike_Chat_All")){ add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2)," "); add(szTmp2,charsmax(szTmp2),szTmp); } else{ add(szTmp2,charsmax(szTmp2),szPrefix); add(szTmp2,charsmax(szTmp2),"^x03 %s1^x01 : %s2"); } set_msg_arg_string(2,szTmp2); } return PLUGIN_CONTINUE; }
Napisano 31.01.2014 12:32
Dzięki, działa. Masz .
Użytkownik .:MiSzCzU:. edytował ten post 31.01.2014 12:33
Edycja Pluginu
Prośba o przerobienie/dodanie funkcji do pluginu BlockmakerFunkcje Blockmakera Napisany przez roobin , 14.02.2024 edycja pluginu, blockmakerbm |
|
|
|||
Edycja Pluginu
Przerobienie systemu klanów.Napisany przez lewyb , 14.10.2023 edycja pluginu |
|
|
|||
Edycja Pluginu
Linka dla ctNapisany przez stół z powyłamywanymi , 03.10.2022 edycja pluginu |
|
|
|||
Edycja Pluginu
Przerobienie pluginu COD Top 15Napisany przez mint , 12.05.2022 edycja pluginu |
|
|
|||
Edycja Pluginu
Edytacja Pluginu Kill RewardsEdytacja Pluginu Kill Rewards Napisany przez Szyszka2 , 01.01.2022 edycja pluginu, zombie plague 4.3 i 1 więcej |
|
|
0 użytkowników, 0 gości, 0 anonimowych