Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

дроп оружия

[РЕШЕНО]
Статус пользователя kenZZo
сообщение 20.4.2015, 11:01
Сообщение #1
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

Здравствуйте c-s.net.ua! есть плагин оружейки от Unreal`a, хотел бы добавить в него функцию дропа основного оружия (drop_weapon) перед выдачей из оружейки. кто может чем помочь? (Чтобы не бегали с 2мя пушками сразу)
Скрытый текст
Код:
#include <amxmodx>
#include <fun>
#include <cstrike>

new givingweapon[33], givepack[33]
new gRounds = 1

public plugin_init()
{
register_plugin("Guns_4_wkololo", "1.2", "UNREAL | kenZo") // Название плагина (Не менять сцуко!)
register_clcmd("weaponmenu", "menu")
register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")
register_event("HLTV", "eRoundStart", "a", "1=0", "2=0")
}

public eRestart()
gRounds = 1

public eRoundStart()
gRounds++

public menu(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY && gRounds > 3)
{
new menu = menu_create("\yОружейка для \rшкололо:)\w","sel_menu")
menu_additem(menu, "M4A1", "1")
menu_additem(menu, "AK47", "2")
menu_additem(menu, "AWP", "3")
menu_additem(menu, "AUG", "4")
menu_additem(menu, "Sig552", "5")
menu_additem(menu, "Sig550", "6")
menu_additem(menu, "M249", "7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else if( get_user_flags(id) & ADMIN_IMMUNITY && gRounds <= 3){
client_print(id, print_chat, " * Взять оружие можно только с 3 раунда!")
}else if( gRounds <= 3){
client_print(id, print_chat, "Нет прав. cтучите Админу!")
}
}

public sel_menu(id,menu,item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiverifle(id, 22, 1)
case 2: cmdgiverifle(id, 28, 1)
case 3: cmdgiverifle(id, 18, 1)
case 4: cmdgiverifle(id, 8, 1)
case 5: cmdgiverifle(id, 27, 1)
case 6: cmdgiverifle(id, 16, 1)
case 7: cmdgiverifle(id, 17, 1)
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public cmdgiverifle(id, weapon, pack)
{
givingweapon[id] = weapon
givepack[id] = pack

if(is_user_alive(id))
{
cs_set_user_bpammo(id, weapon, 90)
switch(givingweapon[id])
{
case 22: give_item(id, "weapon_m4a1")
case 28: give_item(id, "weapon_ak47")
case 18: give_item(id, "weapon_awp")
case 8: give_item(id, "weapon_aug")
case 27: give_item(id, "weapon_sg552")
case 16: give_item(id, "weapon_sg550")
case 17: give_item(id, "weapon_m249")
}
if(givepack[id])
{
cs_set_user_armor(id, 100, CsArmorType:2)
}
}
}


Отредактировал: kenZZo, - 20.4.2015, 11:01
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя admir
сообщение 20.4.2015, 12:05
Сообщение #2
Стаж: 13 лет

Сообщений: 192
Благодарностей: 31
Полезность: 138

дерзайте, весьма развернутый ответ на ваш запрос от @Machette.

Модификация админ вгк (Пост #773698)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя kenZZo
сообщение 20.4.2015, 14:17
Сообщение #3
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

вот сделал, не знаю куда прилепить drop_weapons
Скрытый текст
Код:

#include <amxmodx>
#include <fun>
#include <cstrike>

new givingweapon[33], givepack[33]
new gRounds = 1

const PRIMARY_WEAPONS_BIT_SUM = (1<<CSW_SCOUT)|(1<<CSW_XM1014)|(1<<CSW_MAC10)|(1<<CSW_AUG)|(1<<CSW_UMP45)|(1<<CSW_SG550)|(1<<CSW_GALIL)|(1<<CSW_FAMAS)
|(1<<CSW_AWP)|(1<<CSW_MP5NAVY)|(1<<CSW_M249)|(1<<CSW_M3)|(1<<CSW_M4A1)|(1<<CSW_TMP)|(1<<CSW_G3SG1)|(1<<CSW_SG552)|(1<<CSW_AK47)|(1<<CSW_P90)

public plugin_init()
{
register_plugin("Guns_4_wkololo", "1.2", "UNREAL | kenZo") // Название плагина (Не менять сцуко!)
register_clcmd("weaponmenu", "menu")
register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")
register_event("HLTV", "eRoundStart", "a", "1=0", "2=0")
}

public eRestart()
gRounds = 1

public eRoundStart()
gRounds++

public menu(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY && gRounds > 3)
{
new menu = menu_create("\yОружейка для \rшкололо:)\w","sel_menu")
menu_additem(menu, "M4A1", "1")
menu_additem(menu, "AK47", "2")
menu_additem(menu, "AWP", "3")
menu_additem(menu, "AUG", "4")
menu_additem(menu, "Sig552", "5")
menu_additem(menu, "Sig550", "6")
menu_additem(menu, "M249", "7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else if( get_user_flags(id) & ADMIN_IMMUNITY && gRounds <= 3){
client_print(id, print_chat, " * Взять оружие можно только с 3 раунда!")
}else if( gRounds <= 3){
client_print(id, print_chat, "Нет прав. cтучите Админу!")
}
}

public sel_menu(id,menu,item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiverifle(id, 22, 1)
case 2: cmdgiverifle(id, 28, 1)
case 3: cmdgiverifle(id, 18, 1)
case 4: cmdgiverifle(id, 8, 1)
case 5: cmdgiverifle(id, 27, 1)
case 6: cmdgiverifle(id, 16, 1)
case 7: cmdgiverifle(id, 17, 1)
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

public cmdgiverifle(id, weapon, pack)
{
givingweapon[id] = weapon
givepack[id] = pack

if(is_user_alive(id))
{
drop_weapons(id, 1)
cs_set_user_bpammo(id, weapon, 90)
switch(givingweapon[id])
{
case 22: give_item(id, "weapon_m4a1")
case 28: give_item(id, "weapon_ak47")
case 18: give_item(id, "weapon_awp")
case 8: give_item(id, "weapon_aug")
case 27: give_item(id, "weapon_sg552")
case 16: give_item(id, "weapon_sg550")
case 17: give_item(id, "weapon_m249")
}
if(givepack[id])
{
cs_set_user_armor(id, 100, CsArmorType:2)
//give_item(id, "weapon_deagle")
//cs_set_user_bpammo(id, CSW_DEAGLE, 35)
}
stock drop_weapons(id, dropwhat)
{
static weapons[32], num, i, weaponid
num = 0
get_user_weapons(id, weapons, num)

for (i = 0; i < num; i++)
{
weaponid = weapons[i]

if (dropwhat == 1 && ((1<<weaponid) & PRIMARY_WEAPONS_BIT_SUM))
{
static wname[32]
get_weaponname(weaponid, wname, sizeof wname - 1)
engclient_cmd(id, "drop", wname)
}
}
}



вот ошибки компилятора
Код:
wp.sma(81) : error 017: undefined symbol "drop_weapons"
wp.sma(99) : error 029: invalid expression, assumed zero
wp.sma(99) : error 017: undefined symbol "drop_weapons"
wp.sma(109) : error 017: undefined symbol "dropwhat"
wp.sma(116) : error 001: expected token: "}", but found "-end of file-"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя kenZZo
сообщение 21.4.2015, 20:36
Сообщение #4
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

переделал, всё работает. тему можно закрывать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Immunity
сообщение 21.4.2015, 20:48
Сообщение #5
Стаж: 11 лет

Сообщений: 444
Благодарностей: 119
Полезность: 139

Может всё таки поделитесь с людьми? Мб кому интересно. Много таких.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя kenZZo
сообщение 22.4.2015, 9:03
Сообщение #6
Стаж: 14 лет

Сообщений: 64
Благодарностей: 6
Полезность: 75

Immunity, держите
Скрытый текст
Код:
#include <amxmodx>
#include <fun>
#include <amxmisc>
#include <cstrike>
#include <fakemeta_util>

new givingweapon[33], givepack[33]
new gRounds = 1

public plugin_init()
{
register_plugin("Guns_4_wkololo", "2.0", "UNREAL | kenZo") // Название плагина (Не менять сцуко!)
register_clcmd("weaponmenu", "menu")
register_event("TextMsg", "eRestart", "a", "2=#Game_will_restart_in","2=#Game_Commencing")
register_event("HLTV", "eRoundStart", "a", "1=0", "2=0")
}

public eRestart()
gRounds = 1

public eRoundStart()
gRounds++

public menu(id)
{
if(get_user_flags(id) & ADMIN_IMMUNITY && gRounds > 3)
{
new menu = menu_create("\rОружейка \wдля \yшкололо:)\w","sel_menu")
menu_additem(menu, "M4A1", "1")
menu_additem(menu, "AK47", "2")
menu_additem(menu, "AWP", "3")
menu_additem(menu, "AUG", "4")
menu_additem(menu, "Sig552", "5")
menu_additem(menu, "g3sg1", "6")
menu_additem(menu, "M249", "7")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_display(id, menu, 0)
}else if( get_user_flags(id) & ADMIN_IMMUNITY && gRounds <= 3){
client_print(id, print_chat, " * Взять оружие можно только с 3 раунда!")
}else if( gRounds <= 3){
client_print(id, print_chat, "Нет прав. cтучите Админу!")
}
}

public sel_menu(id,menu,item)
{
if (item == MENU_EXIT)
{
//cmdmenu(id)
menu_destroy(menu)
return PLUGIN_HANDLED
}

new s_Data[6], s_Name[64], i_Access, i_Callback
menu_item_getinfo(menu, item, i_Access, s_Data, charsmax(s_Data), s_Name, charsmax(s_Name), i_Callback)

new Key = str_to_num(s_Data)
switch(Key)
{
case 1: cmdgiverifle(id, 22, 1)
case 2: cmdgiverifle(id, 28, 1)
case 3: cmdgiverifle(id, 18, 1)
case 4: cmdgiverifle(id, 8, 1)
case 5: cmdgiverifle(id, 27, 1)
case 6: cmdgiverifle(id, 16, 1)
case 7: cmdgiverifle(id, 17, 1)
}

menu_destroy(menu)
return PLUGIN_HANDLED
}

stock drop_weapons(id)
{
new weapons[32], weaponid, i, num;
get_user_weapons(id, weapons, num);
for(i = 0; i < num; i++)
{
weaponid = weapons[i];
if((1<<weaponid) & (1<<CSW_SCOUT|1<<CSW_XM1014|1<<CSW_MAC10|1<<CSW_AUG|1<<CSW_UMP45|1<<CSW_SG550|1<<CSW_GALIL|1<<CSW_FAMAS|1<<CSW_AWP|1<<CSW_MP5NAVY|1<<CSW_M249|1<<CSW_M3|1<<CSW_M4A1|1<<CSW_TMP|1<<CSW_G3SG1|1<<CSW_SG552|1<<CSW_AK47|1<<CSW_P90))
fm_strip_user_gun(id, weaponid);
}
}

public cmdgiverifle(id, weapon, pack)
{
givingweapon[id] = weapon
givepack[id] = pack

if(is_user_alive(id))
{
drop_weapons(id)
switch(givingweapon[id])
{
case 22: give_item(id, "weapon_m4a1"), cs_set_user_bpammo(id, weapon, 91)
case 28: give_item(id, "weapon_ak47"), cs_set_user_bpammo(id, weapon, 91)
case 18: give_item(id, "weapon_awp"), cs_set_user_bpammo(id, weapon, 27)
case 8: give_item(id, "weapon_aug"), cs_set_user_bpammo(id, weapon, 91)
case 27: give_item(id, "weapon_sg552"), cs_set_user_bpammo(id, weapon, 91)
case 16: give_item(id, "weapon_g3sg1"), cs_set_user_bpammo(id, CSW_G3SG1, 30)
case 17: give_item(id, "weapon_m249"), cs_set_user_bpammo(id, CSW_M249, 100)
}
if(givepack[id])
{
cs_set_user_armor(id, 100, CsArmorType:2)
//give_item(id, "weapon_deagle")
//cs_set_user_bpammo(id, CSW_DEAGLE, 35)
return
}
}
}

Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: