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

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

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

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

Помощь с скриптом

Статус пользователя DImaNCSwOw
сообщение 30.12.2013, 15:45
Сообщение #1
Стаж: 14 лет

Сообщений: 41
Благодарностей: 9
Полезность: 169

Всем привет!
Помогите разобраться со скриптом, который не корректно работает, точнее не срабатывает функция cmd_strip_weapon, подскажите в чем может быть проблема?
Код:
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /knife","knife")
}

public knife(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

set_task(0.1,"cmd_knife" ,_,_,_, "a", 1)
set_task(1.0,"cmd_rr" ,_,_,_, "a", 1)
set_task(3.0,"cmd_strip_weapon" ,_,_,_, "a", 1)
}
}

public cmd_rr(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("sv_restart 1")
}
}

public cmd_knife(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("exec knife.cfg")
}
}

public cmd_strip_weapon(id){

strip_user_weapons(id)
give_item(id,"weapon_knife")

}


Отредактировал: DImaNCSwOw, - 30.12.2013, 15:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.12.2013, 15:46
Сообщение #2


Стаж: 13 лет

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

DImaNCSwOw, то есть не удаляет оружие и не выдает нож?
И вставь код в павн

Отредактировал: vovan4ik1997, - 30.12.2013, 15:47


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DImaNCSwOw
сообщение 30.12.2013, 15:47
Сообщение #3
Стаж: 14 лет

Сообщений: 41
Благодарностей: 9
Полезность: 169

Цитата(vovan4ik1997 @ 30.12.2013, 16:46) *
DImaNCSwOw, то есть не удаляет оружие и не выдает нож?

Да
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.12.2013, 15:58
Сообщение #4


Стаж: 13 лет

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

Лично у меня даже конфиг не хочет подгружать


Представь, что ты заплатил однажды, а получаешь прибыль постоянно.
Закажи правильный контент тут
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DImaNCSwOw
сообщение 30.12.2013, 16:03
Сообщение #5
Стаж: 14 лет

Сообщений: 41
Благодарностей: 9
Полезность: 169

Цитата(vovan4ik1997 @ 30.12.2013, 16:58) *
Лично у меня даже конфиг не хочет подгружать

Все работает, конфиг нужно в папку cstrike на hlds сервер кидать.
Функции cmd_rr и cmd_knife срабатывают а cmd_strip_weapon не хочет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 30.12.2013, 18:17
Сообщение #6


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

Цитата(DImaNCSwOw @ 30.12.2013, 18:03) *
Все работает, конфиг нужно в папку cstrike на hlds сервер кидать.
Функции cmd_rr и cmd_knife срабатывают а cmd_strip_weapon не хочет.

и не должна работать
id игрока ни как не передается
код бредовый

есть лишние проверки, а нужных проверок нет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Esecman
сообщение 30.12.2013, 18:21
Сообщение #7
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(Legenda @ 30.12.2013, 19:17) *
и не должна работать
id игрока ни как не передается
код бредовый

есть лишние проверки, а нужных проверок нет

Полностью поддерживаю Legenda
Лучше скинь функциональность плагина :)

Отредактировал: Esecman, - 30.12.2013, 18:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя igor_ok
сообщение 30.12.2013, 18:22
Сообщение #8
Стаж: 15 лет
Город: Донецк

Сообщений: 267
Благодарностей: 89
Полезность: 239

Потому что функция не может знать id того у кого забирать оружие и кому выдавать.
Вижу уже написали)

Отредактировал: igor_ok, - 30.12.2013, 18:23


PPC-ZONE
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DImaNCSwOw
сообщение 30.12.2013, 18:24
Сообщение #9
Стаж: 14 лет

Сообщений: 41
Благодарностей: 9
Полезность: 169

Цитата(Legenda @ 30.12.2013, 19:17) *
и не должна работать
id игрока ни как не передается
код бредовый

есть лишние проверки, а нужных проверок нет

Каким образом можно тогда отобрать оружие у игроков и вручить им нож на примере этого кода?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Mitarex
сообщение 30.12.2013, 18:31
Сообщение #10
Стаж: 12 лет

Сообщений: 25
Благодарностей: 5
Полезность: 107

Функция ham_strip_weapon позволяет удалить конкретное оружие у игрока
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Esecman
сообщение 30.12.2013, 18:31
Сообщение #11
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(DImaNCSwOw @ 30.12.2013, 19:24) *
Каким образом можно тогда отобрать оружие у игроков и вручить им нож на примере этого кода?


public cmd_strip_weapon(id){
if(is_user_alive(id)) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}

Ну и в начало, а именно:
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "cmd_strip_weapon", "be")
register_clcmd("say /knife","knife")
}

Ну и set_task(3.0,"cmd_strip_weapon" ,_,_,_, "a", 1)

Удалить с public knife(id)
Добавить везде проверку на живого игрока...

Вообщем:
Код
Код:
#include <amxmodx>
#include <fun>

#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_event("ResetHUD", "cmd_strip_weapon", "be")
register_clcmd("say /knife","knife")
}

public knife(id){
if( is_user_alive(id) & get_user_flags(id) && ADMIN_LEVEL_A ){
set_task(0.1,"cmd_knife" ,_,_,_, "a", 1)
set_task(1.0,"cmd_rr" ,_,_,_, "a", 1)
}
}

public cmd_rr(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("sv_restart 1")
}
}

public cmd_knife(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("exec knife.cfg") // dir "cstrike";
}
}

public cmd_strip_weapon(id){
if(is_user_alive(id)) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}



ps.gif И тему перенесите что ли smile.gif

Отредактировал: Esecman, - 30.12.2013, 18:33
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.12.2013, 18:33
Сообщение #12


Стаж: 13 лет

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

Esecman, в ResetHUD нельзя ставить strip_user_weapons(id) , будет падение 100%
Таском в 0.1 сек


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

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

set_task(3.0,"cmd_strip_weapon" ,_,_,_, "a", 1)

>>

set_task(3.0,"cmd_strip_weapon" ,id,_,_, "a", 1)


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Esecman
сообщение 30.12.2013, 18:37
Сообщение #14
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(vovan4ik1997 @ 30.12.2013, 19:33) *
Esecman, в ResetHUD нельзя ставить strip_user_weapons(id) , будет падение 100%
Таском в 0.1 сек

Падений не будет, но код все равно кривоват :D
Если впишешь в чат /knife, то он делает рестарт и начинается раунд , он должен был отобрать оружие. Эвент же.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя vovan4ik1997
сообщение 30.12.2013, 18:39
Сообщение #15


Стаж: 13 лет

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

Esecman,http://amxxmodx.ru/fun/funinc/8-strip_user_weapons.html не я придумал о падении


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

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

бл reset hud там? юзай fakemeta / user spawn


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя DImaNCSwOw
сообщение 30.12.2013, 18:43
Сообщение #17
Стаж: 14 лет

Сообщений: 41
Благодарностей: 9
Полезность: 169

Цитата(Esecman @ 30.12.2013, 19:37) *
Падений не будет, но код все равно кривоват :D
Если впишешь в чат /knife, то он делает рестарт и начинается раунд , он должен был отобрать оружие. Эвент же.

С Вашим кодом вылетает ошибка "Reliable channel overflowed" после выбора модельки игрока.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 30.12.2013, 18:46
Сообщение #18
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Код(Рабочий)
Код:
#include <amxmodx>
#include <fun>

#define PLUGIN "Plugin"
#define VERSION "1.0"
#define AUTHOR "Author"

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /knife","knife")
}

public knife(id){
if( is_user_alive(id) & get_user_flags(id) && ADMIN_LEVEL_A ){
set_task(0.1,"cmd_knife" ,_,_,_, "a", 1)
set_task(1.0,"cmd_rr" ,_,_,_, "a", 1)
set_task(3.0,"cmd_strip_weapon" ,id,_,_, "a", 1)
}
}

public cmd_rr(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("sv_restart 1")
}
}

public cmd_knife(id){
if( get_user_flags(id) & ADMIN_LEVEL_A ){

server_cmd("exec knife.cfg") // dir "cstrike";
}
}

public cmd_strip_weapon(id){
if(is_user_alive(id)) {
strip_user_weapons(id)
give_item(id,"weapon_knife")
}
}


З.Ы. Только что воспользовался event'om не было падений, но все - таки там надо set_task :)

P.S. Ну у кого как, у кого руки - крюки, у кого-то - прямые.

Отредактировал: Esecman, - 30.12.2013, 18:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Legenda
сообщение 31.12.2013, 6:27
Сообщение #19


Иконка группы

Стаж: 16 лет

Сообщений: 3619
Благодарностей: 1706
Полезность: 1010

Меценат Меценат

код все равно полный бред)

в cmd_rr и cmd_knife нафига не нужно

Код
if( get_user_flags(id) & ADMIN_LEVEL_A )


ну и сточки зрения логики в
set_task(3.0,"cmd_strip_weapon" ,id,_,_, "a", 1)
id - это индентификатор задачи, а не игрока
просто везет что совпадает id игрока и id задачи

так делать на самом деле НЕЛЬЗЯ
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Esecman
сообщение 31.12.2013, 13:02
Сообщение #20
Стаж: 12 лет

Сообщений: 945
Благодарностей: 208
Полезность: 0

Цитата(Legenda @ 31.12.2013, 7:27) *
код все равно полный бред)

в cmd_rr и cmd_knife нафига не нужно

Код
if( get_user_flags(id) & ADMIN_LEVEL_A )


ну и сточки зрения логики в
set_task(3.0,"cmd_strip_weapon" ,id,_,_, "a", 1)
id - это индентификатор задачи, а не игрока
просто везет что совпадает id игрока и id задачи

так делать на самом деле НЕЛЬЗЯ

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