Random weapon рунд, но всички да са с едно и също оръжие
-
Maverick
Извън линия - Потребител
- Мнения: 254
- Регистриран на: 22 Окт 2016, 17:05
- Местоположение: 93.123.18.81:27017
- Се отблагодари: 34 пъти
- Получена благодарност: 14 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
Здравейте,
В момента използвам този плъгин, но на всеки рунд когато се случи да е radnom weapon рунд бих искал всички да са с едно и също оръжие вместо както е сега всеки с произволно.
В момента използвам този плъгин, но на всеки рунд когато се случи да е radnom weapon рунд бих искал всички да са с едно и също оръжие вместо както е сега всеки с произволно.
-
Maverick
Извън линия - Потребител
- Мнения: 254
- Регистриран на: 22 Окт 2016, 17:05
- Местоположение: 93.123.18.81:27017
- Се отблагодари: 34 пъти
- Получена благодарност: 14 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
Пробвах, го и да всички са с едно оръжие, но имат и рандом пистолет към него. Ще е добре да им се пада само едно, без значение дали е само пистолет или само основно оръжие.
-
just sayin'
Извън линия - Потребител
- Мнения: 21
- Регистриран на: 01 Фев 2019, 12:53
- Получена благодарност: 3 пъти
Random weapon рунд, но всички да са с едно и също оръжие
Отдавна има по-нова версия на плъгина.
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <hamsandwich>
#include <colorchat>
#include <fun>
#include <cstrike>
#include <stripweapons>
#define PLUGIN "Random Weapons"
#define VERSION "2.4"
#define AUTHOR "Flicker"
/*
Enums needed for the constants and cvars
*/
enum _:g_eWeaponTypes
{
P = 0,
S,
G
}
enum _:g_eWeaponData
{
_NameForChat[32],
_WeaponName[32],
_Ammo,
_CSW
}
/*
Constants for the weapons
*/
new const g_szPrimary[][g_eWeaponData] =
{
/*
Empty slot for the chat message
*/
{""},
/*
Shotguns
*/
{"M3", "weapon_m3", 32, CSW_M3},
{"XM1014", "weapon_xm1014", 32, CSW_XM1014},
/*
Third buy menu :D
*/
{"Mac10", "weapon_mac10", 100, CSW_MAC10},
{"Tmp", "weapon_tmp", 120, CSW_TMP},
{"Ump45", "weapon_ump45", 100, CSW_UMP45},
{"Mp5Navy", "weapon_mp5navy", 120, CSW_MP5NAVY},
{"P90", "weapon_p90", 100, CSW_P90},
/*
Automatics
*/
{"Galil", "weapon_galil", 90, CSW_GALIL},
{"Famas", "weapon_famas", 90, CSW_FAMAS},
{"Scout", "weapon_scout", 90, CSW_SCOUT},
{"M4A1", "weapon_m4a1", 90, CSW_M4A1},
{"AK47", "weapon_ak47", 90, CSW_AK47},
{"AUG", "weapon_aug", 90, CSW_AUG},
{"SG550", "weapon_sg550", 90, CSW_SG550},
{"SG552", "weapon_sg552", 90, CSW_SG552},
{"G3SG1", "weapon_g3sg1", 90, CSW_G3SG1},
{"M249", "weapon_m249", 200, CSW_M249}
}
new const g_szSecondary[][g_eWeaponData]=
{
/*
Empty slot for the chat message
*/
{""},
/*
Pistols
*/
{"Glock18", "weapon_glock18", 40, CSW_GLOCK18},
{"Usp", "weapon_usp", 100, CSW_USP},
{"P228", "weapon_p228", 52, CSW_P228},
{"Dual Elites", "weapon_elite", 120, CSW_ELITE},
{"Fiveseven", "weapon_fiveseven", 100, CSW_FIVESEVEN},
{"Deagle", "weapon_deagle", 35, CSW_DEAGLE}
}
new const g_szGrenades[][g_eWeaponData]=
{
/*
Empty slot for the chat message
*/
{""},
/*
Grenades
*/
{"HE", "weapon_hegrenade", 1, CSW_HEGRENADE},
{"Flash", "weapon_flashbang", 1, CSW_FLASHBANG},
{"Smoke", "weapon_smokegrenade", 1, CSW_SMOKEGRENADE}
}
/*
This bool is used to detect player death
*/
new bool:g_bDied[33]
/*
These ones we use for cvars - registering and getting values
*/
new cv_TurnOn[g_eWeaponTypes], TurnOn[g_eWeaponTypes]
new cv_UnlimitedAmmo, UnlimitedAmmo
new cv_VestHelm, VestHelm
new g_WpnID[g_eWeaponTypes]
new cv_OnlyKilled, OnlyKilled
/*
Now for the prefix
*/
new cv_Prefix, szPrefix[32]
/*
The number of the 'unlimited' bpammo, because didn't find better way to set it
*/
const AmmoNum = 999999
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
/*
Hams Needed
*/
RegisterHam(Ham_Spawn, "player", "Spawn", 1)
RegisterHam(Ham_Killed, "player", "Killed", 1)
/*
The new round event - to get pcvar nums
*/
register_event("HLTV", "NewRound", "a", "1=0", "2=0")
/*
Register the cvar for random weps only when killed before
*/
cv_OnlyKilled = register_cvar("random_weapons_only_killed", "0")
/*
Register the cvars for enabling/disabling the primary, pistols and grenades
*/
cv_TurnOn[P] = register_cvar("random_weapons_primary", "1")
cv_TurnOn[S] = register_cvar("random_weapons_pistols", "1")
cv_TurnOn[G] = register_cvar("random_weapons_grenades", "1")
/*
Unlimited ammo cvar
*/
cv_UnlimitedAmmo= register_cvar("random_weapons_unlimited_ammo", "0")
/*
Vesthelm cvar
*/
cv_VestHelm = register_cvar("random_weapons_vesthelm_bonus", "0")
/*
The prefix cvar
*/
cv_Prefix = register_cvar("random_weapons_prefix", "^x03[^x04Random Weapons^x03]")
}
public NewRound() LoadCvars()
public plugin_cfg() LoadCvars()
public LoadCvars()
{
/*
Getting pcvar nums
*/
for(new i; i < g_eWeaponTypes; i++)
TurnOn[i] = get_pcvar_num(cv_TurnOn[i])
OnlyKilled = get_pcvar_num(cv_OnlyKilled)
UnlimitedAmmo = get_pcvar_num(cv_UnlimitedAmmo)
VestHelm = get_pcvar_num(cv_VestHelm)
get_pcvar_string(cv_Prefix, szPrefix, charsmax(szPrefix))
}
public Killed(victim, killer, shouldgib)
g_bDied[victim] = true
public Spawn(id)
{
/*
Basic check for no errors and the cvars.
*/
if(!is_user_alive(id)
|| OnlyKilled && !g_bDied[id]
|| !TurnOn[P] && !TurnOn[S] && !TurnOn[G])
return PLUGIN_HANDLED
// The bool must become false
g_bDied[id] = false
/*
Stripping and giving primaries
*/
if(TurnOn[P])
{
StripWeapons(id, Primary)
g_WpnID[P] = random_num(1, charsmax(g_szPrimary))
give_item(id, g_szPrimary[g_WpnID[P]][_WeaponName])
cs_set_user_bpammo(id, g_szPrimary[g_WpnID[P]][_CSW], UnlimitedAmmo ? AmmoNum : g_szPrimary[g_WpnID[P]][_Ammo])
}
else g_WpnID[P] = 0
/*
Stripping and giving pistols
*/
if(TurnOn[S])
{
StripWeapons(id, Secondary)
g_WpnID[S] = random_num(1, charsmax(g_szSecondary))
give_item(id, g_szSecondary[g_WpnID[S]][_WeaponName])
cs_set_user_bpammo(id, g_szSecondary[g_WpnID[S]][_CSW], UnlimitedAmmo ? AmmoNum : g_szSecondary[g_WpnID[S]][_Ammo])
}
else g_WpnID[S] = 0
/*
Stripping and giving grenades
*/
if(TurnOn[G])
{
StripWeapons(id, Grenades)
g_WpnID[G] = random_num(1, charsmax(g_szGrenades))
give_item(id, g_szGrenades[g_WpnID[G]][_WeaponName])
cs_set_user_bpammo(id, g_szGrenades[g_WpnID[G]][_CSW], g_szGrenades[g_WpnID[G]][_Ammo])
}
else g_WpnID[G] = 0
//Giving the player vest + helmet
if(VestHelm) give_item(id, "item_assaultsuit")
/*
An info chat message
*/
ColorChat(id, TEAM_COLOR, "%s ^3This spawn^4: %s%s%s%s%s%s%s%s ",
szPrefix ,
TurnOn[P] ? "^1Weapon ^4" : "" ,
g_szPrimary[g_WpnID[P]][_NameForChat] ,
TurnOn[P] && TurnOn[S] ? " ^3| " : "" ,
TurnOn[S] ? "^1Pistol ^4" : "" ,
g_szSecondary[g_WpnID[S]][_NameForChat] ,
TurnOn[S] && TurnOn[G] ? " ^3| " : "" ,
TurnOn[G] ? "^1Grenade ^4": "" ,
g_szGrenades[g_WpnID[G]][_NameForChat] )
//
/*
A little bit difficult, but to be able to depend on the cvars
and look good at the same time :D
*/
return PLUGIN_CONTINUE
}
- Прикачени файлове
-
- colorchat.inc
- (5.91 KiB) Свалено 114 пъти
- colorchat.inc
- (5.91 KiB) Свалено 114 пъти
-
- stripweapons.inc
- (4.49 KiB) Свалено 110 пъти
- stripweapons.inc
- (4.49 KiB) Свалено 110 пъти
-
Maverick
Извън линия - Потребител
- Мнения: 254
- Регистриран на: 22 Окт 2016, 17:05
- Местоположение: 93.123.18.81:27017
- Се отблагодари: 34 пъти
- Получена благодарност: 14 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
@ just sayin' SC Ще е добре да дадеш линк към станицата на плъгина за да разбера дали би ми бил полезен, ако искаш да помогнеш с нещо.
И до колкото разбрах от описанието му, плъгина дава на всеки рунд произволно оръжие.
И до колкото разбрах от описанието му, плъгина дава на всеки рунд произволно оръжие.
А на мен ми трябва като горният, на произволен рунд само едно произволно оръжие от всички налични, но да бъде еднакво за всички хора.This plugin is a simple mod, which gives a random weapon pack (primary, pistol and a grenade) on each spawn. I think it'll be good for classic/dust2/other fun mods. Also, if you want your server to be based on this mod, you can use the plugin, which restricts the buyzone (good combinations between the two plugins).
-
just sayin'
Извън линия - Потребител
- Мнения: 21
- Регистриран на: 01 Фев 2019, 12:53
- Получена благодарност: 3 пъти
-
mi0
Извън линия - AMXX Скриптър
- Мнения: 534
- Регистриран на: 09 Дек 2016, 22:02
- Се отблагодари: 97 пъти
- Получена благодарност: 120 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
Код за потвърждение: Избери целия код
#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fakemeta>
#include <hamsandwich>
#include <engine>
#include <fun>
#define PLUGIN "Random weapons mode"
#define VERSION "2.0"
#define AUTHOR "beast"
#define TASKID_GUNS 2349
#define TASKID_BPAMMO 1224
#define OFFSET_PRIMARYWEAPON 116
#define OFFSET_C4_SLOT 372
#if cellbits == 32
#define OFFSET_BUYZONE 235
#else
#define OFFSET_BUYZONE 268
#endif
new cvar_random, cvar_bomb, cvar_nade, cvar_nodrop, cvar_checkmap, cvar_enabled
new g_mode
new const g_szBuyzone[] = "buyzone"
new Array:g_prim, Array:g_nades, Array:g_sec_sh, Array:g_sec
new randPrim,randSec,randSecSh,randNades
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("RRWM", VERSION, FCVAR_SPONLY | FCVAR_SERVER)
register_message(get_user_msgid("StatusIcon"), "msgStatusIcon")
register_event("HLTV", "event_new_round", "a", "1=0", "2=0")
RegisterHam(Ham_Spawn, "player", "FwdHamPlayerSpawn", 1)
register_clcmd("drop", "clcmd_drop")
cvar_enabled = register_cvar("rrwm_enabled", "1")
cvar_random = register_cvar("rrwm_chance", "10")
cvar_bomb = register_cvar("rrwm_c4", "1")
cvar_nade = register_cvar("rrwm_nade", "1")
cvar_nodrop = register_cvar("rrwm_nodrop", "1")
cvar_checkmap = register_cvar("rrwm_checkmap", "1")
g_prim = ArrayCreate(256, 1)
g_sec = ArrayCreate(128, 1)
g_sec_sh = ArrayCreate(128, 1)
g_nades = ArrayCreate(64, 1)
if(get_pcvar_num(cvar_checkmap))
check_map()
loadini()
}
loadini()
{
new path[96]
get_configsdir(path, sizeof path - 1)
format(path, sizeof path - 1, "%s/rrwm_weapons.ini", path)
if (!file_exists(path))
{
log_amx("ERROR: Weapons list not found.")
return
}
new linedata[512], key[256], section
new file = fopen(path, "rt")
while(file && !feof(file))
{
fgets(file, linedata, sizeof linedata - 1)
replace(linedata, sizeof linedata - 1, "^n", "")
if(!linedata[0] || linedata[0] == ';')
continue
if (linedata[0] == '[')
{
section++
continue
}
parse(linedata, key, sizeof key - 1)
trim(key)
switch(section)
{
case 1:
{
format(key, sizeof key - 1, "weapon_%s", key)
ArrayPushString(g_prim, key)
}
case 2:
{
format(key, sizeof key - 1, "weapon_%s", key)
ArrayPushString(g_sec, key)
}
case 3:
{
format(key, sizeof key - 1, "weapon_%s", key)
ArrayPushString(g_sec_sh, key)
}
case 4:
{
format(key, sizeof key - 1, "weapon_%s", key)
ArrayPushString(g_nades, key)
}
}
}
fclose(file)
}
check_map()
{
new mapname[6]
get_mapname(mapname, 5)
if(containi(mapname, "ka_") != -1 || containi(mapname, "35hp_") != -1)
pause("ad")
return PLUGIN_CONTINUE
}
public clcmd_drop(id)
{
if(g_mode && get_pcvar_num(cvar_nodrop))
return PLUGIN_HANDLED
return PLUGIN_CONTINUE
}
public event_new_round()
{
if(!get_pcvar_num(cvar_enabled))
return
g_mode = false
if(random_num(1, get_pcvar_num(cvar_random)) == 1)
{
g_mode = true
randPrim = random_num(0, ArraySize(g_prim) - 1);
randSec = random_num(0, ArraySize(g_sec) - 1);
randSecSh = random_num(0, ArraySize(g_sec_sh) - 1);
randNades = random_num(0, ArraySize(g_nades) - 1);
}
}
public FwdHamPlayerSpawn(id)
{
if(!is_user_alive(id))
return HAM_IGNORED
new r, g, b
new Float:delay = random_float(1.0, 3.0)
r = random_num(0, 255)
g = random_num(0, 255)
b = random_num(0, 255)
if(g_mode)
{
set_hudmessage(r, g, b, -1.0, 0.13, 1, 6.0, 5.0, 1.5, 3.0, -1)
show_hudmessage(id, "!!! RANDOM WEAPONS MODE !!!")
set_task(delay, "guns", TASKID_GUNS + id)
set_task(3.1, "bpammo", TASKID_BPAMMO + id)
}
return HAM_IGNORED
}
public guns(task)
{
new id = task - TASKID_GUNS
new mapname[4]
get_mapname(mapname, 3)
if(!is_user_alive(id))
return
if(get_pcvar_num(cvar_bomb) && containi(mapname, "de_") != -1)
StripUserWeapons(id)
else
strip_user_weapons(id)
new p_weap[32]
new s_weap[32]
new sh_weap[32]
new nades[32]
ArrayGetString(g_prim, randPrim, p_weap, sizeof p_weap - 1)
ArrayGetString(g_sec, randSec, s_weap, sizeof s_weap - 1)
ArrayGetString(g_sec_sh, randSecSh, sh_weap, sizeof sh_weap - 1)
ArrayGetString(g_nades, randNades, nades, sizeof nades - 1)
cs_set_user_armor(id, 100, CS_ARMOR_VESTHELM)
give_item(id, "weapon_knife")
give_item(id, p_weap)
if(cs_get_user_shield(id))
give_item(id, sh_weap)
else
give_item(id, s_weap)
if(get_pcvar_num(cvar_nade))
give_item(id, nades)
}
public bpammo(task)
{
new id = task - TASKID_BPAMMO
static weapons[32], num, i, weaponid
new fbnum = random_num(1,2)
num = 0
get_user_weapons(id, weapons, num)
for (i = 0; i < num; i++)
{
weaponid = weapons[i]
switch(weaponid)
{
case CSW_XM1014: cs_set_user_bpammo(id, CSW_XM1014, 32)
case CSW_MAC10: cs_set_user_bpammo(id, CSW_MAC10, 100)
case CSW_AUG: cs_set_user_bpammo(id, CSW_AUG, 90)
case CSW_UMP45: cs_set_user_bpammo(id, CSW_UMP45, 100)
case CSW_SG550: cs_set_user_bpammo(id, CSW_SG550, 90)
case CSW_GALIL: cs_set_user_bpammo(id, CSW_GALIL, 90)
case CSW_FAMAS: cs_set_user_bpammo(id, CSW_FAMAS, 90)
case CSW_MP5NAVY: cs_set_user_bpammo(id, CSW_MP5NAVY, 120)
case CSW_M249: cs_set_user_bpammo(id, CSW_M249, 200)
case CSW_M3: cs_set_user_bpammo(id, CSW_M3, 32)
case CSW_M4A1: cs_set_user_bpammo(id, CSW_M4A1, 90)
case CSW_G3SG1: cs_set_user_bpammo(id, CSW_G3SG1, 90)
case CSW_SG552: cs_set_user_bpammo(id, CSW_SG552, 90)
case CSW_AK47: cs_set_user_bpammo(id, CSW_AK47, 90)
case CSW_P90: cs_set_user_bpammo(id, CSW_P90, 100)
case CSW_SCOUT: cs_set_user_bpammo(id, CSW_SCOUT, 90)
case CSW_AWP: cs_set_user_bpammo(id, CSW_AWP, 30)
case CSW_TMP: cs_set_user_bpammo(id, CSW_TMP, 120)
case CSW_DEAGLE: cs_set_user_bpammo(id, CSW_DEAGLE, 35)
case CSW_GLOCK18: cs_set_user_bpammo(id, CSW_GLOCK18, 120)
case CSW_USP: cs_set_user_bpammo(id, CSW_USP, 100)
case CSW_ELITE: cs_set_user_bpammo(id, CSW_ELITE, 120)
case CSW_FIVESEVEN: cs_set_user_bpammo(id, CSW_FIVESEVEN, 100)
case CSW_P228: cs_set_user_bpammo(id, CSW_P228, 52)
case CSW_FLASHBANG: cs_set_user_bpammo(id, CSW_FLASHBANG, fbnum)
}
}
}
public msgStatusIcon(iMsgId, iMsgDest, id)
{
static szMsg[8]
get_msg_arg_string(2, szMsg, 7)
if(g_mode && equal(szMsg, g_szBuyzone))
{
set_pdata_int(id, OFFSET_BUYZONE, get_pdata_int(id, OFFSET_BUYZONE) & ~(1<<0))
return PLUGIN_HANDLED
}
return PLUGIN_CONTINUE
}
StripUserWeapons(id)
{
new iC4Ent = get_pdata_cbase(id, OFFSET_C4_SLOT)
if(iC4Ent > 0)
set_pdata_cbase(id, OFFSET_C4_SLOT, FM_NULLENT)
strip_user_weapons(id)
set_pdata_int(id, OFFSET_PRIMARYWEAPON, 0)
if(iC4Ent > 0)
{
entity_set_int(id, EV_INT_weapons, entity_get_int(id, EV_INT_weapons) | (1<<CSW_C4))
set_pdata_cbase(id, OFFSET_C4_SLOT, iC4Ent)
cs_set_user_bpammo(id, CSW_C4, 1)
cs_set_user_plant(id, 1)
}
return PLUGIN_HANDLED
}
aka kurdokoleno
Catch Mod - 87.121.112.232:27021
Catch Mod - 87.121.112.232:27021
-
Maverick
Извън линия - Потребител
- Мнения: 254
- Регистриран на: 22 Окт 2016, 17:05
- Местоположение: 93.123.18.81:27017
- Се отблагодари: 34 пъти
- Получена благодарност: 14 пъти
- Обратна връзка:
-
<VeCo>
Извън линия - Потребител
- Мнения: 145
- Регистриран на: 28 Яну 2019, 19:01
- Се отблагодари: 11 пъти
- Получена благодарност: 80 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
Мързелив начин:
От файла със списъка на оръжията на плъгина прехвърли всички пистолети към primary и на мястото на secondary сложи само knife (дори и да го дава няма да влияе на нищо).
От файла със списъка на оръжията на плъгина прехвърли всички пистолети към primary и на мястото на secondary сложи само knife (дори и да го дава няма да влияе на нищо).
-
Maverick
Извън линия - Потребител
- Мнения: 254
- Регистриран на: 22 Окт 2016, 17:05
- Местоположение: 93.123.18.81:27017
- Се отблагодари: 34 пъти
- Получена благодарност: 14 пъти
- Обратна връзка:
Random weapon рунд, но всички да са с едно и също оръжие
@ <VeCo> Да това работи така както бих искал, благодаря.
И още неще бих искал да попитам дали е възможно да се промени. Възможно ли е опция "rrwm_c4 1" да се направи да работи на всички карти които имат бомба за залагане, без значение дали са de_ only?
И още неще бих искал да попитам дали е възможно да се промени. Възможно ли е опция "rrwm_c4 1" да се направи да работи на всички карти които имат бомба за залагане, без значение дали са de_ only?
rrwm_c4 (default: 1)
0: strip c4 bomb on random weapons mode
1: leave c4 bomb on random weapons mode (at de_ maps only)
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 6 Отговори
- 509 Преглеждания
-
Последно мнение от Siska
-
- 0 Отговори
- 1474 Преглеждания
-
Последно мнение от ITEvolutioN
-
- 5 Отговори
- 1608 Преглеждания
-
Последно мнение от ChrisBenoit
-
- 76 Отговори
- 29568 Преглеждания
-
Последно мнение от illusion
-
- 3 Отговори
- 1999 Преглеждания
-
Последно мнение от thurinven
-
- 3 Отговори
- 1437 Преглеждания
-
Последно мнение от YankoNL
-
- 1 Отговори
- 197 Преглеждания
-
Последно мнение от illusion
Кой е на линия
Потребители разглеждащи този форум: Google [Bot] и 30 госта