AMX MOD X
Воскресенье, 20.09.2020, 01:41:58



Приветствую Вас Гость | RSS
[ Главная ] [ Ребята помогите - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Ребята помогите (кое что добавить...)
Ребята помогите
produsserДата: Пятница, 30.10.2009, 15:39:07 | Сообщение # 1
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
В общем я начинающий скриптер... и с мелкого надо начинать =)

в общем сделал плагин для получения патронов.

как сделать так что после ввода команды /ammo писался в чат текст зелененьким цветом типа "[ammo]Боеприпасы получены"

Очень прошу вас помочь ибо все впереди =) вот код на данный момент:

Code
#include <amxmodx>
#include <fun>

#define PLUGIN "ammo"
#define VERSION "1.0"
#define AUTHOR "Produsser"

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

public give_ammo(id)
{
  give_item(id, "ammo_762nato")
  give_item(id, "ammo_45acp")
}
 
tavotДата: Пятница, 30.10.2009, 17:17:19 | Сообщение # 2
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
produsser,
Вот, попробуй:
Code

  new msg[51]
  format(msg,50,"^x04 [ammo] you text ")
  message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
  write_byte(id)
  write_string(msg)
  message_end()
 
produsserДата: Пятница, 30.10.2009, 17:56:28 | Сообщение # 3
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
имеет значение положение в коде данного скрипа?

просто я с ним не знаком...

и еще забыл сказать..

писаться текст должен тому кто написал команду /ammo

только ему и все.

Сообщение отредактировал produsser - Пятница, 30.10.2009, 18:08:18
 
tavotДата: Пятница, 30.10.2009, 18:23:28 | Сообщение # 4
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
produsser,
Вот попробуй так:
Code

#include <amxmodx>
#include <fun>

#define PLUGIN "ammo"
#define VERSION "1.0"
#define AUTHOR "Produsser"

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

public give_ammo(id)
{
give_item(id, "ammo_762nato")
give_item(id, "ammo_45acp")

new msg[51]
format(msg,50,"^x04 [ammo] you text ")
message_begin(MSG_ONE,MsgSayText,{0,0,0},id)
write_byte(id)
write_string(msg)
message_end()

}


Сообщение отредактировал tavot - Пятница, 30.10.2009, 18:23:51
 
produsserДата: Пятница, 30.10.2009, 18:58:36 | Сообщение # 5
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
спасибо тебе огромное пошел анализировать и учить дальше =)

Добавлено (30.10.2009, 18:58:36)
---------------------------------------------
возник еще интересный вопрос.

Как сделать так чтобы когда я пишу /ammo в чат эта команда в чате не показывалась

т.е. чтобы она не выводилась для всех и по возможности даже для меня дабы не захломлять чат

заранее спасибо

 
PomanoBДата: Пятница, 30.10.2009, 19:42:28 | Сообщение # 6
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
return PLUGIN_HANDLED в public give_ammo(id)

http://romanov4400.mybrute.com
 
produsserДата: Пятница, 30.10.2009, 20:21:07 | Сообщение # 7
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
Quote (tavot)
produsser, Вот попробуй так: Code #include <amxmodx> #include <fun> #define PLUGIN "ammo" #define VERSION "1.0" #define AUTHOR "Produsser" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /ammo", "give_ammo") register_clcmd("say /knife", "give_ammo") } public give_ammo(id) { give_item(id, "ammo_762nato") give_item(id, "ammo_45acp") new msg[51] format(msg,50,"^x04 [ammo] you text ") message_begin(MSG_ONE,MsgSayText,{0,0,0},id) write_byte(id) write_string(msg) message_end() }

При компиляции вот такие ошибки:

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team

ammo.sma(15 -- 16) : error 029: invalid expression, assumed zero
ammo.sma(21) : error 021: symbol already defined: "format"
ammo.sma(27) : error 054: unmatched closing brace
ammo.sma(27) : warning 203: symbol is never used: "msg"

3 Errors.

что это может быть? я ничего не менял

 
tavotДата: Пятница, 30.10.2009, 20:29:15 | Сообщение # 8
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
produsser,
пробуй, у меня компилится нормально:
Code

  #include <amxmodx>
  #include <fun>

#define PLUGIN "ammo"  
#define VERSION "1.0"  
#define AUTHOR "Produsser"  
new MsgSayText

public plugin_init() {  
  register_plugin(PLUGIN, VERSION, AUTHOR)  
  register_clcmd("say /ammo", "give_ammo")  
  register_clcmd("say /knife", "give_ammo")  
  MsgSayText = get_user_msgid("SayText")
}  

public give_ammo(id)  
{  
  give_item(id, "ammo_762nato")  
  give_item(id, "ammo_45acp")  

  new msg[51]   
  format(msg,50,"^x04 [ammo] you text ")   
  message_begin(MSG_ONE,MsgSayText,{0,0,0},id)   
  write_byte(id)   
  write_string(msg)   
  message_end()   

}

Забыл new MsgSayText

P/s/ взято из предатор мода.

Если свовсем по простому:

меняй на:
client_print(id,print_chat,"[ammo] yoe text")

Сообщение отредактировал tavot - Пятница, 30.10.2009, 21:15:10
 
produsserДата: Пятница, 30.10.2009, 21:28:00 | Сообщение # 9
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
PomanoB, можете помочь мне очень нужно..

http://amxmodx.ucoz.ru/forum/19-3512-1

 
PomanoBДата: Суббота, 31.10.2009, 09:39:14 | Сообщение # 10
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Code
  #include <amxmodx>  
   #include <fun>  

#define PLUGIN "ammo"   
#define VERSION "1.0"   
#define AUTHOR "Produsser"   
new MsgSayText  

public plugin_init() {   
   register_plugin(PLUGIN, VERSION, AUTHOR)   
   register_clcmd("say /ammo", "give_ammo")   
   register_clcmd("say /knife", "give_ammo")   
   MsgSayText = get_user_msgid("SayText")  
}   

public give_ammo(id)   
{   
   give_item(id, "ammo_762nato")   
   give_item(id, "ammo_45acp")   

   new msg[51]    
   format(msg,50,"^x04 [ammo] you text ")    
   message_begin(MSG_ONE,MsgSayText,{0,0,0},id)    
   write_byte(id)    
   write_string(msg)    
   message_end()
   return PLUGIN_HANDLED

}

Надо было просто поставить
return PLUGIN_HANDLED


http://romanov4400.mybrute.com
 
produsserДата: Суббота, 31.10.2009, 11:30:03 | Сообщение # 11
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
PomanoB, там чтото нетак.. сообщение немного сдвинуто а /ammo все равно появляется у меня на экране правда без слэша. Так и должно быть и возможно ли это убрать?

вот скрин:

текст передвинул...

вывод ammo остался

Добавлено (31.10.2009, 11:26:47)
---------------------------------------------
столкнулся с еще одной проблемой:

сообщение в коде выглядит так: [Патроны] Боеприпасы получены.

а выводится: [Патроны] Боеприпасы получ

обрывается изза буквы? или ограничение какоето есть?

Добавлено (31.10.2009, 11:28:49)
---------------------------------------------
вот как выглядит код сейчас:

Code
#include <amxmodx>   
    #include <fun>   

#define PLUGIN "ammo"    
#define VERSION "1.0"    
#define AUTHOR "Produsser"    
new MsgSayText   

public plugin_init() {    
    register_plugin(PLUGIN, VERSION, AUTHOR)    
    register_clcmd("say /ammo", "give_ammo")    
    register_clcmd("say /knife", "give_ammo")    
    MsgSayText = get_user_msgid("SayText")   
}    

public give_ammo(id)    
{    
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")
    give_item(id, "ammo_762nato")    
    give_item(id, "ammo_45acp")
    give_item(id, "ammo_45acp")
    give_item(id, "ammo_45acp")
    give_item(id, "ammo_45acp")
    give_item(id, "ammo_45acp")
    give_item(id, "ammo_45acp")    

    new msg[51]     
    format(msg,50,"^x04[Патроны] Боеприпасы получены. ")     
    message_begin(MSG_ONE,MsgSayText,{0,0,0},id)     
    write_byte(id)     
    write_string(msg)     
    message_end()  
    return PLUGIN_HANDLED  

}

Добавлено (31.10.2009, 11:30:03)
---------------------------------------------
Проверил... ограничение не по букве а по количеству символов помоему..

Прикрепления: 5482084.jpg(5.6 Kb)


Сообщение отредактировал produsser - Суббота, 31.10.2009, 11:24:49
 
PomanoBДата: Суббота, 31.10.2009, 13:11:11 | Сообщение # 12
Генералиссимус
Группа: Cупер-модеры
Сообщений: 1313
Репутация: 70
Статус: Не в сети
Quote (produsser)
вывод ammo остался

Может это какой другой плагин выводит? Отключи все плагины

Quote (produsser)
ограничение какоето есть?

Ограничение в
Quote (produsser)
new msg[51]
format(msg,50,

Поставь
Code

new msg[100]       
      format(msg,99,


http://romanov4400.mybrute.com

Сообщение отредактировал PomanoB - Суббота, 31.10.2009, 13:11:21
 
produsserДата: Суббота, 31.10.2009, 13:17:47 | Сообщение # 13
Сержант
Группа: Пользователи
Сообщений: 33
Репутация: 0
Статус: Не в сети
PomanoB, Огромное тебе спасибо!

всем спасибо кто мне помогал я вам очень благодарен.

 
tavotДата: Суббота, 31.10.2009, 17:57:58 | Сообщение # 14
Генерал-майор
Группа: Пользователи
Сообщений: 256
Репутация: 3
Статус: Не в сети
produsser,
Не за что, а на бодущие, скачай кучу различных плагинов, посмотри что каждый делает и каким методом, проанализирвоав все это дело, будет на много легче. - личный опыт.

3 недели назад я просил чтоб кто нить написал стату для предатор мода, а теперь сам уже практически ее дописываю? она конечно не шедевр, но игрокам уже нравится ) )
Не без помощи конечно PomanoB и ZETA [M|E|N]

 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » Ребята помогите (кое что добавить...)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2020