Русское сообщество по скриптингу

Оцените stock Тутор сообщений с CZ.

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 05 мар 2012, 18:29

Код: Выделить всё
#include <amxmodx>
 
#define TASK_HIDE_TUTOR 8800
 
new gMsgTutorClose
, gMsgTutorText, gMsgTutorTime
 
public plugin_init
()
{
        gMsgTutorClose = get_user_msgid("TutorClose")
        gMsgTutorText = get_user_msgid("TutorText")
        gMsgTutorTime = register_cvar("msg_tutor_time", "8") // длительность показа сообщения min 5.
}
 
public plugin_precache
()
{
        precache_generic("gfx/career/icon_i.tga")
        precache_generic("gfx/career/icon_skulls.tga")
        precache_generic("gfx/career/round_corner_ne.tga")
        precache_generic("gfx/career/round_corner_nw.tga")
        precache_generic("gfx/career/round_corner_se.tga")
        precache_generic("gfx/career/round_corner_sw.tga")
 
        precache_generic
("resource/TutorScheme.res")
        precache_generic("resource/UI/TutorTextWindow.res")
 
        precache_sound
("events/enemy_died.wav")
        precache_sound("events/friend_died.wav")
        precache_sound("events/task_complete.wav")
        precache_sound("events/tutor_msg.wav")
}
 
stock Create_TutorMsg
(id, szMsg[], iStyle, bSound)
{
        if (bSound)
        {
                switch(iStyle)
                {
                        case 1: client_cmd(id, "spk events/friend_died.wav")
                        case 2: client_cmd(id, "spk events/enemy_died.wav")
                        case 5: client_cmd(id, "spk events/task_complete.wav")
                        default: client_cmd(id, "spk events/tutor_msg.wav")
                }
        }
        
        message_begin
(MSG_ONE_UNRELIABLE , gMsgTutorClose, {0, 0, 0}, id)
        message_end()
        
        
        message_begin
(MSG_ONE_UNRELIABLE , gMsgTutorText, {0, 0, 0}, id)
        write_string(szMsg)
        write_byte(0)
        write_short(0)
        write_short(0)
        write_short(1<<iStyle)
        message_end()
        
        remove_task
(TASK_HIDE_TUTOR+id)
        set_task(get_pcvar_num(gMsgTutorTime) < 5 ? 5.0 : get_pcvar_float(gMsgTutorTime), "Remove_TutorMsg", TASK_HIDE_TUTOR+id)
 
}
 
public Remove_TutorMsg
(taskid)
{
        new id = (taskid > TASK_HIDE_TUTOR) ? (taskid - TASK_HIDE_TUTOR) : taskid
        message_begin
(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)
        message_end()
}

Пример:
Код: Выделить всё
Create_TutorMsg(id"Вы успешно сбросили свой счёт!"01
Последний раз редактировалось Retro-kolt Lincoln 06 мар 2012, 20:09, всего редактировалось 4 раз(а).
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 06 мар 2012, 18:05

Вы должны зарегистрироваться, чтобы видеть ссылки. То только при использовании CHAN_VOICE 2 будет слышен тем кто рядом, может вообще лучше заменить:
[pawn]
  1. emit_sound(id, CHAN_ITEM, "events/friend_died.wav", VOL_NORM, ATTN_NORM, 0, PITCH_HIGH)
[/pawn]
на
[pawn]
  1. client_cmd(id, "spk events/friend_died.wav")
[/pawn]

Какая функция работает быстрее?
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Mon[str] » 06 мар 2012, 18:08

Поправочка:
CHAN_VOICE 2
==>
CHAN_VOICE
Аватара пользователя
Mon[str]
 
Сообщения: 1166
Зарегистрирован: 26 июл 2011, 12:12
Откуда: Россия -> Иркутская область
Благодарил (а): 99 раз.
Поблагодарили: 273 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6
C++

Re: Оцените stock Тутор сообщений с CZ.

Сообщение noo00oob » 06 мар 2012, 18:12

Retro-kolt Lincoln писал(а):Если судить по этому

Ну дураки писали. Про заменить я тебе 2 постами раньше написал. Дело даже не в скорости а в правильности. По идее 2 вариант даже быстрее получается, т.к. во 2 варианте просто посылается эта команда игроку, а в 1 - сообщение формируется перед отправкой.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 394 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 06 мар 2012, 18:43

[pawn]
  1. stock Create_TutorMsg(id, szMsg[], iStyle, bool:bSound)

  2. {

  3.         if (bSound)

  4.         {

  5.                 switch(iStyle)

  6.                 {

  7.                         case 1: client_cmd(id, "spk events/friend_died.wav")

  8.                         case 2: client_cmd(id, "spk events/enemy_died.wav")

  9.                         case 5: client_cmd(id, "spk events/task_complete.wav")

  10.                         default: client_cmd(id, "spk events/tutor_msg.wav")

  11.                 }

  12.         }

  13.        

  14.         message_begin(MSG_ONE_UNRELIABLE , gMsgTutorClose, {0, 0, 0}, id)

  15.         message_end()

  16.        

  17.        

  18.         message_begin(MSG_ONE_UNRELIABLE , gMsgTutorText, {0, 0, 0}, id)

  19.         write_string(szMsg)

  20.         write_byte(0)

  21.         write_short(0)

  22.         write_short(0)

  23.         write_short(1<<iStyle)

  24.         message_end()

  25.        

  26.         remove_task(TASK_HIDE_TUTOR+id)

  27.         set_task(8.0 < 5 ? 5.0 : 8.0, "Remove_TutorMsg", TASK_HIDE_TUTOR+id)

  28.  

  29. }

  30.  

  31. public Remove_TutorMsg(taskid)

  32. {

  33.         new id = (taskid > TASK_HIDE_TUTOR) ? (taskid - TASK_HIDE_TUTOR) : taskid

  34.         message_begin(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)

  35.         message_end()

  36. }
[/pawn]

Вот короче, есть ещё предложения по улучшению?
Последний раз редактировалось Retro-kolt Lincoln 06 мар 2012, 18:47, всего редактировалось 1 раз.
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение noo00oob » 06 мар 2012, 18:45

Опять MSG_ONE забыл. А так в принципе все нормально. Только время показа чтоб свое можно было ставить лучше сделай. Очень интересное условие "8.0 < 5 ? 5.0 : 8.0" :-D
Последний раз редактировалось noo00oob 06 мар 2012, 18:47, всего редактировалось 1 раз.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 394 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 06 мар 2012, 18:54

Да спасибо, просто изменял в теме, а в скрипте забыл)

Добавлено спустя 7 минут 23 секунды:
noo00oob писал(а):Опять MSG_ONE забыл. А так в принципе все нормально. Только время показа чтоб свое можно было ставить лучше сделай. Очень интересное условие "8.0 < 5 ? 5.0 : 8.0" :-D


Посмотри:
[pawn]
  1. #include <amxmodx>

  2.  

  3. #define TASK_HIDE_TUTOR 8800

  4.  

  5. new gMsgTutorClose, gMsgTutorText, gMsgTutorTime

  6.  

  7. public plugin_init()

  8. {

  9.         gMsgTutorClose = get_user_msgid("TutorClose")

  10.         gMsgTutorText = get_user_msgid("TutorText")

  11.         gMsgTutorTime = register_cvar("msg_tutor_time", "8")

  12. }

  13.  

  14. public plugin_precache()

  15. {

  16.         precache_generic("gfx/career/icon_i.tga")

  17.         precache_generic("gfx/career/icon_skulls.tga")

  18.         precache_generic("gfx/career/round_corner_ne.tga")

  19.         precache_generic("gfx/career/round_corner_nw.tga")

  20.         precache_generic("gfx/career/round_corner_se.tga")

  21.         precache_generic("gfx/career/round_corner_sw.tga")

  22.  

  23.         precache_generic("resource/TutorScheme.res")

  24.         precache_generic("resource/UI/TutorTextWindow.res")

  25.  

  26.         precache_sound("events/enemy_died.wav")

  27.         precache_sound("events/friend_died.wav")

  28.         precache_sound("events/task_complete.wav")

  29.         precache_sound("events/tutor_msg.wav")

  30. }

  31.  

  32. stock Create_TutorMsg(id, szMsg[], iStyle, bool:bSound)

  33. {

  34.         if (bSound)

  35.         {

  36.                 switch(iStyle)

  37.                 {

  38.                         case 1: client_cmd(id, "spk events/friend_died.wav")

  39.                         case 2: client_cmd(id, "spk events/enemy_died.wav")

  40.                         case 5: client_cmd(id, "spk events/task_complete.wav")

  41.                         default: client_cmd(id, "spk events/tutor_msg.wav")

  42.                 }

  43.         }

  44.        

  45.         message_begin(MSG_ONE_UNRELIABLE , gMsgTutorClose, {0, 0, 0}, id)

  46.         message_end()

  47.        

  48.        

  49.         message_begin(MSG_ONE_UNRELIABLE , gMsgTutorText, {0, 0, 0}, id)

  50.         write_string(szMsg)

  51.         write_byte(0)

  52.         write_short(0)

  53.         write_short(0)

  54.         write_short(1<<iStyle)

  55.         message_end()

  56.        

  57.         remove_task(TASK_HIDE_TUTOR+id)

  58.         set_task(get_pcvar_num(gMsgTutorTime) < 5 ? 5.0 : get_pcvar_float(gMsgTutorTime), "Remove_TutorMsg", TASK_HIDE_TUTOR+id)

  59.  

  60. }

  61.  

  62. public Remove_TutorMsg(taskid)

  63. {

  64.         new id = (taskid > TASK_HIDE_TUTOR) ? (taskid - TASK_HIDE_TUTOR) : taskid

  65.         message_begin(MSG_ONE , gMsgTutorClose, {0, 0, 0}, id)

  66.         message_end()

  67. }
[/pawn]
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение noo00oob » 06 мар 2012, 19:05

Ага, так лучше, токо в теме обнови.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 394 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 06 мар 2012, 19:55

Что не так?
Код: Выделить всё
// D:\CS\╣┬ё╕ фы  ёхЁтхЁр\AMX MOD X\cstrike\addons\amxmodx\scripting\resetscore.
sma(8) : warning 213: tag mismatch


[pawn]
  1. public reset_score(id)

  2. {

  3.         if (is_user_connected(id))

  4.         {

  5.                 cs_set_user_deaths(id, 0)

  6.                 set_user_frags(id, 0)

  7.                

  8.                 Create_TutorMsg(id, "Вы успешно сбросили свой счёт!", 0, 1) // ошибка тут.

  9.         }

  10. }
[/pawn]
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Re: Оцените stock Тутор сообщений с CZ.

Сообщение noo00oob » 06 мар 2012, 20:01

Create_TutorMsg(id, "Вы успешно сбросили свой счёт!", 0, true)

Ты же там "bool:bSound" влепил.
Один фрукт, страдающий недостачей времени, нашел его ради меня любимого и писал(а):
noo00oob, зачем родился на свет вообще? срать на форумах это понятно.. больше изъеба не найти как бэ? а то, что ты недоношенная скотина, сдерживайся, детка.
noo00oob
 
Сообщения: 1061
Зарегистрирован: 09 янв 2010, 21:52
Благодарил (а): 258 раз.
Поблагодарили: 394 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6
Half-Life

Re: Оцените stock Тутор сообщений с CZ.

Сообщение Retro-kolt Lincoln » 06 мар 2012, 20:09

Не знаю зачем я влепил, наверно нечаянно :D, обновил первый пост)))
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

- - - - - - - - - - - - - - - -
Если ваше ЛС было проигнорировано мною, знайте, оно мне не интересно.
Аватара пользователя
Retro-kolt Lincoln
 
Сообщения: 1283
Зарегистрирован: 28 авг 2010, 19:16
Благодарил (а): 321 раз.
Поблагодарили: 581 раз.
Опыт программирования: Больше трех лет
Языки программирования: ╚►Counter-Strike 1.6

Пред.След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 15