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

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

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

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

> Правила форума

Этот раздел, как вы могли заметить по названию, предназначен для решения вопросов по поводу уже существующих модов и плагинов.
Пожалуйста, если у вас проблема с написанием плагина, не путайте этот раздел с разделом по скриптингу.
Для поиска плагинов и модов существует соответствующий раздел.

Название темы должно соответствовать содержанию. Темы с названием типа "Помогите", "Вопрос", "парни подскажите..." - будут удалены.
Все темы, не относящиеся к "Вопросам по модам и плагинам", будут удалены или перемещены в соответствующий раздел.

Правила оформления темы:
1. Помимо заголовка не забудьте верно сформулировать свой вопрос.
2. Выложите исходник (в тег кода + ) или ссылку на плагин который вызывает у вас вопросы.
3. Выложите лог с ошибками (если имеется) под спойлер
2 страниц V   1 2

Строка в скрипте

Статус пользователя Ant1kk
сообщение 12.1.2014, 17:27
Сообщение #1
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

У меня есть VIP, но там можно брать 4 оружия в руки, все-все. И ты просто переключаешь его. Какую строку надо вписать перед выдачей оружия, что бы прошлое выкинулось?
1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <fakemeta_util>

#define VIP_FLAG ADMIN_LEVEL_H

new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}

new round_number, g_round
new bool:has_used[32]

public plugin_init()
{
register_plugin("Vip_weapon", "1.1", "7eVen")

register_event("ResetHUD", "ResetHUD", "be")
register_event("HLTV", "event_round_start", "a", "1=0")

register_clcmd("vipmenu", "vip_menu")

g_round = register_cvar("amx_vip_give", "1")
}

public vip_menu(id)
{
if ( ! ( get_user_flags ( id ) & VIP_FLAG ) )
{
ChatColor ( id, "^1[^4vip menu^1] ты не ^4VIP")
return PLUGIN_HANDLED;
}
new menu = menu_create("\y Vip menu", "show_vipmenu")

menu_additem(menu, "\wвзять \d[\rfamas\d]", "1")
menu_additem(menu, "\wвзять \d[\rm4a1\d]", "2")
menu_additem(menu, "\wвзять \d[\rak-47\d]", "3")
menu_additem(menu, "\wвзять \d[\rawp\d]", "4")

menu_setprop(menu, MPROP_NEXTNAME, "Дальше")
menu_setprop(menu, MPROP_BACKNAME, "Назад")
menu_setprop(menu, MPROP_EXITNAME, "Выход")
menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)

menu_display(id,menu,0)
return PLUGIN_HANDLED;
}

public show_vipmenu(id, menu, item)
{
if(item == MENU_EXIT)
{
menu_destroy(menu)
return PLUGIN_HANDLED;
}
if(is_user_alive(id)&& !has_used[id] )
{

if ( round_number <= get_pcvar_num(g_round) )
{
ChatColor ( id, "^1[^4vip menu^1] доступно только с^4 2 ^1раунда")
return PLUGIN_HANDLED;
}

new data[6], iName[64], access, callback
menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)

new key = str_to_num(data)

switch(key)
{
case 1:
{
give_item( id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}
case 2:
{
give_item( id, "weapon_m4a1" )
cs_set_user_bpammo( id , CSW_M4A1, 90 )
}
case 3:
{
give_item( id, "weapon_ak47" )
cs_set_user_bpammo( id , CSW_AK47, 90 )
}
case 4:
{
give_item( id, "weapon_awp" )
cs_set_user_bpammo( id , CSW_AWP, 30 )
}
}
has_used[id] = false;
}
else
{
ChatColor ( id, "^1[^4vip menu^1] You^4 ^1DEAD" )
return PLUGIN_HANDLED;
}
return PLUGIN_HANDLED;
}

public event_round_start ()
{
round_number++
arrayset(has_used, false, 32)
}

public ResetHUD(id)
{
set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
new id = TaskID - 6910

if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id))
{
for (new i = 0; i < 6; i++)
{
if (fm_strip_user_gun(id, pistols[i]))
{
break;
}
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_hegrenade" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_flashbang" )
give_item( id, "weapon_smokegrenade" )
give_item( id, "item_assaultsuit" )
give_item( id, "item_thighpack" )
give_item( id, "weapon_deagle")

give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
give_item( id, "ammo_50ae" )
}
}
return PLUGIN_HANDLED;
}

stock ChatColor(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 Color
replace_all(msg, 190, "!y ", "^1") // Default Color
replace_all(msg, 190, "!team", "^3") // Team Color
replace_all(msg, 190, "!team2", "^0") // Team2 Color

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, get_user_msgid("SayText"), _, players[i])
write_byte(players[i]);
write_string(msg);
message_end();
}
}
}
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 12.1.2014, 17:30
Сообщение #2


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Strip_user_weapon в гугле


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 17:37
Сообщение #3
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Примерно так?
case 1:
{
strip_user_weapons(id)
give_item( id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 12.1.2014, 17:39
Сообщение #4


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Да


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 17:40
Сообщение #5
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(vovan4ik1997 @ 12.1.2014, 19:30) *
Strip_user_weapon в гугле

Примерно так?
case 1:
{
strip_user_weapons(id)
give_item( id, "weapon_famas" )
cs_set_user_bpammo( id , CSW_FAMAS, 90 )
}

Цитата(vovan4ik1997 @ 12.1.2014, 19:39) *
Да

Спасибо. Извините за повторение.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RedL1ne
сообщение 12.1.2014, 17:42
Сообщение #6


Стаж: 15 лет

Сообщений: 3828
Благодарностей: 1854
Полезность: 876

Еще бы не забыть впилить сохранение пистолета, ножа, брони и всего остального...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 12.1.2014, 17:42
Сообщение #7


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Понравилось, что человек сам разобрался, а не попросил сделать за него ссылаясь на то, что нуб в скриптинге. От того, что тебе дадут готовый вариант толку 0, а самому сделать гораздо приятней и интересней


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RedL1ne
сообщение 12.1.2014, 17:49
Сообщение #8


Стаж: 15 лет

Сообщений: 3828
Благодарностей: 1854
Полезность: 876

Перед выбором можно проводить проверку cs_get_user_hasprim(id) и не стрипать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:19
Сообщение #9
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(RedL1ne @ 12.1.2014, 19:49) *
Перед выбором можно проводить проверку cs_get_user_hasprim(id) и не стрипать.

Можно подробней, не совсем понял фун-ю.

Я хотел стрипать основное оружие только, а не все. Как возможно?

strip_weapons(id,PRIMARY_ONLY) так основное?

Отредактировал: Ant1kk, - 12.1.2014, 18:19
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 12.1.2014, 18:22
Сообщение #10


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Код:
#include <amxmodx>
#include <fakemeta_util>

new pistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE} // Записали индесы всех пистолетов

public plugin_init()
{
register_clcmd("say /strip", "strip_user_gun") // команда при помощи которой будем отбирать пистолет
}

public strip_user_gun(id)
{
for(new i = 0; i < 6; i++) // Получаем все пистолеты из pistols[6]
{
fm_strip_user_gun(id, pistols[i]) // Отобрали пистолет
}
}

Так же можно написать для основного оружия , и вписать те, которые нужно отбирать.
Взял с amxxmodx


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 12.1.2014, 18:25
Сообщение #11
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Инюклюд для удаления оружия опр. типа.

stripweapons.inc

Код
StripWeapons(id, Primary)
StripWeapons(id, Secondary)
StripWeapons(id, Grenades)


Отредактировал: serfreeman1337, - 12.1.2014, 18:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:27
Сообщение #12
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(vovan4ik1997 @ 12.1.2014, 20:22) *
Код:
#include <amxmodx>
#include <fakemeta_util>

new pistols[6] = {CSW_USP, CSW_GLOCK18, CSW_ELITE, CSW_FIVESEVEN, CSW_P228, CSW_DEAGLE} // Записали индесы всех пистолетов

public plugin_init()
{
register_clcmd("say /strip", "strip_user_gun") // команда при помощи которой будем отбирать пистолет
}

public strip_user_gun(id)
{
for(new i = 0; i < 6; i++) // Получаем все пистолеты из pistols[6]
{
fm_strip_user_gun(id, pistols[i]) // Отобрали пистолет
}
}

Так же можно написать для основного оружия , и вписать те, которые нужно отбирать.
Взял с amxxmodx

Можно как-то через стрипы? Что бы легче было. А завтра подумаю посижу, что и как.

Цитата(serfreeman1337 @ 12.1.2014, 20:25) *
Инюклюд для удаления оружия опр. типа.

stripweapons.inc

Код
StripWeapons(id, Primary)
StripWeapons(id, Secondary)
StripWeapons(id, Grenades)

Спасибо. Все ясно.

Тему можно закрывать.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RedL1ne
сообщение 12.1.2014, 18:28
Сообщение #13


Стаж: 15 лет

Сообщений: 3828
Благодарностей: 1854
Полезность: 876

https://forums.alliedmods.net/showpost.php?...mp;postcount=77
Аналог от коннора
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:32
Сообщение #14
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(serfreeman1337 @ 12.1.2014, 20:25) *
Инюклюд для удаления оружия опр. типа.

stripweapons.inc

Код
StripWeapons(id, Primary)
StripWeapons(id, Secondary)
StripWeapons(id, Grenades)

А inc кидать в plugins/scripting?

Цитата(RedL1ne @ 12.1.2014, 20:28) *

Это делать как sma потом amxx, кидать в плагинс, а inc в плагинс/скриптинг?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 12.1.2014, 18:34
Сообщение #15


Стаж: 13 лет

Сообщений: 1087
Благодарностей: 433
Полезность: 718

Ant1kk, файл inc в папку include , там где компилятор

Отредактировал: vovan4ik1997, - 12.1.2014, 18:34


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:35
Сообщение #16
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(vovan4ik1997 @ 12.1.2014, 20:34) *
Ant1kk, файл inc в папку include , там где компилятор

Ну а amxx сделать из inc файла? Ну изъять весь текст, и создать sma, а потом в компилятор?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя RedL1ne
сообщение 12.1.2014, 18:36
Сообщение #17


Стаж: 15 лет

Сообщений: 3828
Благодарностей: 1854
Полезность: 876

Цитата(Ant1kk @ 12.1.2014, 18:32) *
Это делать как sma потом amxx, кидать в плагинс, а inc в плагинс/скриптинг?

Это можно сделать как сток и закинуть внутрь плагина.
Там в топике дальше нашли ошибку одну. Фикс.

iWeapons &= ~get_pdata_int(iItem, m_iId, XO_CBASEPLAYERITEM)
>>>
iWeapons &= ~(1<<get_pdata_int(iItem, m_iId, XO_CBASEPLAYERITEM))
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:40
Сообщение #18
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(RedL1ne @ 12.1.2014, 20:36) *
Это можно сделать как сток и закинуть внутрь плагина.
Там в топике дальше нашли ошибку одну. Фикс.

iWeapons &= ~get_pdata_int(iItem, m_iId, XO_CBASEPLAYERITEM)
>>>
iWeapons &= ~(1<<get_pdata_int(iItem, m_iId, XO_CBASEPLAYERITEM))

Как закинуть? В конце вписать это или что?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:48
Сообщение #19
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Ну так что вписать, помогите:) Я не понимаю. Тут уже все на куче.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Ant1kk
сообщение 12.1.2014, 18:56
Сообщение #20
Стаж: 12 лет

Сообщений: 39
Благодарностей: 1
Полезность: 18

Цитата(RedL1ne @ 12.1.2014, 19:42) *
Еще бы не забыть впилить сохранение пистолета, ножа, брони и всего остального...

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