Offline |
|
|
Csatlakozott: 2013.03.04. 02:42 Hozzászólások: 69
Megköszönt másnak: 16 alkalommal Megköszönték neki: 4 alkalommal
|
Dharma írta: Sziasztok. Van ugyebár ez a Knife_Fight plugin. Na most én arra gondoltam hogy ezt átlehetne-e írni úgy,hogy alapból kör elején elveszi mindenki fegyverét és csak akkor adja vissza hogy ha egy Admin(akinek van Kick joga) beírja say-be hogy /kf. WAR szerverre kéne,mert az a probléma,hogy a 20 slotos helyett mindenki itt játszik.A jelszó nem válik be mert kb 2-3 körül valahogy úgyis kiszivárog... Én személy szerint próbálkoztam átírni de nem jött össze ezért kérném a segítséget. Köszönöm Itt az .SMA : #include <amxmodx> #include <amxmisc> #include <fakemeta> #include <fun> #include <hamsandwich> #define VERSION "1.5" new g_enable, knife_fight, g_maxplayers, g_IsBot[33], g_msgsync, g_PlayerWeapons[33], g_playername[33][32], g_msgCurWeapon, cvar_showhud, cvar_offnoadm new gBuyCommands[][] = { "usp", "glock", "deagle", "p228", "elites", "fn57", "m3", "xm1014", "mp5", "tmp", "p90", "mac10", "ump45", "ak47", "galil", "famas", "sg552", "m4a1", "aug", "scout", "awp", "g3sg1", "sg550", "m249", "vest", "vesthelm", "flash", "hegren", "sgren", "defuser", "nvgs", "shield", "primammo", "secammo", "km45", "9x19mm", "nighthawk", "228compact", "12gauge", "autoshotgun", "smg", "mp", "c90", "cv47", "defender", "clarion", "krieg552", "bullpup", "magnum", "d3au1", "krieg550", "buyammo1", "buyammo2" } public plugin_init() { register_plugin("Knife Fight", VERSION, "alan_el_more") register_cvar("kf_version", VERSION, FCVAR_SERVER|FCVAR_SPONLY) register_dictionary("Knife_Fight.txt") g_enable = register_cvar("kf_enable", "1") cvar_showhud = register_cvar("kf_showhud", "1") cvar_offnoadm = register_cvar("kf_offnoadm", "1") register_clcmd("say /kf", "cmdkf", ADMIN_KICK) register_event("HLTV", "event_round_start", "a", "1=0", "2=0") RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawn_Post", 1) RegisterHam(Ham_Touch, "weaponbox", "fw_TouchWeapon") RegisterHam(Ham_Touch, "armoury_entity", "fw_TouchWeapon") RegisterHam(Ham_Touch, "weapon_shield", "fw_TouchWeapon") g_msgsync = CreateHudSyncObj() g_maxplayers = get_maxplayers() for (new i; i < sizeof gBuyCommands; i++) register_clcmd(gBuyCommands[i], "BlockBuyCommands") register_event("CurWeapon", "event_cur_weapon", "b", "1=1") g_msgCurWeapon = get_user_msgid("CurWeapon") } public cmdkf(id, level, cid) { if(get_pcvar_num(g_enable)) { if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED if(knife_fight) { if(get_pcvar_num(cvar_showhud)) { set_hudmessage(255, 0, 0, 0.3, 0.0, 1, 0.0, 5.0, 1.0, 1.0, -1) ShowSyncHudMsg(0, g_msgsync, "[KF] %L", LANG_PLAYER, "HUD_DISABLE_ADM", g_playername[id]) } knife_fight = false for(new id = 1;id <= g_maxplayers;id++) { if(is_user_alive(id)) restore_weapons(id) } } else { if(get_pcvar_num(cvar_showhud)) { set_hudmessage(255, 0, 0, 0.3, 0.0, 1, 0.0, 5.0, 1.0, 1.0, -1) ShowSyncHudMsg(0, g_msgsync, "[KF] %L", LANG_PLAYER, "HUD_ENABLE", g_playername[id]) } knife_fight = true for(new id = 1;id <= g_maxplayers;id++) { if(is_user_alive(id)) { g_PlayerWeapons[id] = pev(id , pev_weapons) &~ ( 1 << 31 ) strip_user_weapons(id) give_item(id, "weapon_knife") } } } } else client_print(id, print_chat, "[KF] %L", id, "KF_DISABLE") return PLUGIN_HANDLED } public event_round_start() { if(get_pcvar_num(cvar_offnoadm) && !fnGetAdms() && knife_fight) { knife_fight = false if(get_pcvar_num(cvar_showhud)) { set_hudmessage(255, 0, 0, 0.4, 0.0, 1, 0.0, 5.0, 1.0, 1.0, -1) ShowSyncHudMsg(0, g_msgsync, "[KF] %L", LANG_PLAYER, "HUD_DISABLE") } return PLUGIN_HANDLED } if(knife_fight) { if(get_pcvar_num(cvar_showhud)) { set_hudmessage(255, 0, 0, 0.4, 0.0, 1, 0.0, 5.0, 1.0, 1.0, -1) ShowSyncHudMsg(0, g_msgsync, "[KF] %L", LANG_PLAYER, "HUD_KF") } } return PLUGIN_CONTINUE } public fw_PlayerSpawn_Post(id) { if (!is_user_alive(id)) return if(get_pcvar_num(g_enable) && knife_fight) { strip_user_weapons(id) give_item(id, "weapon_knife") } } public fw_TouchWeapon(weapon, id) { if (knife_fight && (1 <= id <= g_maxplayers) && !g_IsBot[id]) return HAM_SUPERCEDE return HAM_IGNORED } public client_putinserver(id) { g_IsBot[id] = is_user_bot(id) get_user_name(id, g_playername[id], charsmax(g_playername[])) } public client_infochanged(id) get_user_name(id, g_playername[id], charsmax(g_playername[])) public restore_weapons(id) { new iValue = g_PlayerWeapons[id] for(new j = 1 ; j <= 30 ; j++) { if ((1 & (iValue >> j)) && (j != 2) && (j != CSW_C4) && (j != CSW_KNIFE)) { static szWeapon[32] get_weaponname(j, szWeapon, 31) give_item(id, szWeapon) } } } fnGetAdms() { new adms, id adms = 0 for(id = 1;id <= g_maxplayers;id++) { if(get_user_flags(id) & ADMIN_KICK) adms++ } return adms } public BlockBuyCommands(id) return knife_fight ? PLUGIN_HANDLED : PLUGIN_CONTINUE public event_cur_weapon(id) { if (!is_user_alive(id)) return; if (knife_fight && !((1<<read_data(2)) & (1<<CSW_KNIFE))) { engclient_cmd(id, "weapon_knife") emessage_begin(MSG_ONE, g_msgCurWeapon, _, id) ewrite_byte(1) ewrite_byte(CSW_KNIFE) ewrite_byte(-1) emessage_end() } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang3082\\ f0\\ fs16 \n\\ par } */
Lehet, hogy kiszivárog de akkor is csak admin által fog működni. Mert ott van a a kick jóg.
_________________ COD:MW3 szerver hamarosan... Egyedi mód: 85% Kész konfig: 90% Több kaszt: 100% Szint limit: 100%
|
|