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

Resetscore ! Нужна помощь !

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

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

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

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

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

Resetscore ! Нужна помощь !

Сообщение cstriker » 15 окт 2011, 18:29

Добрый день! Помогите модифицыровать плагин! resetscore.
А именно хотелост бы добавить функцию проигрования звука при обнулении!
Так же вывести надпись при обнулении в отдельный текст файл (data/lang) чтоб надпись можна было менять, ну и сделать в цвете!Я видел тут уже похожую работу, но отзывы у нее не очень. Помогите пожалуйста.Зарание спсб )
Source[pawn]
  1. /*

  2.    This is a simple plugin I made that will just restart a players score

  3.    making their deaths and kills set to 0, this is to help players out a

  4.    little bit because they no longer have to reconnect or retry if they

  5.    want their score to start over, they can just type a simple command

  6.    

  7.       ---------------------------------

  8.        --------- MADE BY SILENTTT -----

  9.         ------ MADE BY SILENTTT ------

  10.          --  MADE BY SILENTTT -------

  11.         ------ MADE BY SILENTTT ------

  12.        --------- MADE BY SILENTTT -----

  13.       ---------------------------------

  14. */

  15.  

  16. #include <amxmodx>

  17. #include <amxmisc>

  18. #include <cstrike>

  19. #include <fun>

  20.  

  21. #define adtime   300.0 //Default of 10 minuites

  22.  

  23. new pcvar_Advertise

  24. new pcvar_Display

  25.  

  26. public plugin_init()

  27. {

  28.         register_plugin("Reset Score", "1.0", "Silenttt")

  29.        

  30.         //You may type /resetscore or /restartscore

  31.         register_clcmd("say /resetscore", "reset_score")

  32.         register_clcmd("say /rs", "reset_score")

  33.        

  34.         //This command by default will be set at 0

  35.         //Change it to 1 in server.cfg if you want

  36.         //A message to be shown to advertise this.

  37.         pcvar_Advertise = register_cvar("sv_rsadvertise", "0")

  38.         //This command by default is also 0

  39.         //Change it to 1 in server.cfg if you want

  40.         //It to show who reset their scores when they do it

  41.         pcvar_Display = register_cvar("sv_rsdisplay", "1")

  42.        

  43.         if(get_cvar_num("sv_rsadvertise") == 1)

  44.         {

  45.                 set_task(adtime, "advertise", _, _, _, "b")

  46.         }

  47. }

  48.  

  49. public reset_score(id)

  50. {

  51.         //These both NEED to be done twice, otherwise your frags wont

  52.         //until the next round

  53.         cs_set_user_deaths(id, 0)

  54.         set_user_frags(id, 0)

  55.         cs_set_user_deaths(id, 0)

  56.         set_user_frags(id, 0)

  57.        

  58.         if(get_pcvar_num(pcvar_Display) == 1)

  59.         {

  60.                 new name[33]

  61.                 get_user_name(id, name, 32)

  62.                 client_print(0, print_chat, "[Полтава паблик] Игрок %s обнулил свой счет!", name)

  63.         }

  64.         else

  65.         {

  66.                 client_print(id, print_chat, "Ваш счет успешно обнулен!")

  67.         }

  68. }

  69.  

  70. public advertise()

  71. {

  72.         set_hudmessage(255, 0, 0, -1.0, 0.20, 0, 0.2, 12.0)

  73.         show_hudmessage(0, "Пишите say /rs для обнуления вашего счета без РЕКОННЕКТА!")

  74. }

  75.  

  76. public client_putinserver(id)

  77. {

  78.         if(get_pcvar_num(pcvar_Advertise) == 1)

  79.         {

  80.                 set_task(10.0, "connectmessage", id, _, _, "a", 1)

  81.         }

  82. }

  83.  

  84. public connectmessage(id)

  85. {

  86.         if(is_user_connected(id))

  87.         {

  88.         client_print(id, print_chat, "Пишите /rs для обнуления вашего счета без РЕКОННЕКТА!")

  89.         }

  90. }

  91.  
[/pawn]
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
cstriker
 
Сообщения: 58
Зарегистрирован: 19 сен 2011, 21:06
Благодарил (а): 22 раз.
Поблагодарили: 3 раз.

Re: Resetscore ! Нужна помощь !

Сообщение Retro-kolt Lincoln » 15 окт 2011, 18:33

Вот мой, с ланг файлом но без звука:
[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <fun>

  5. #include <WPMGPrintChatColor>

  6.  

  7. public plugin_init()

  8. {

  9.         register_dictionary("resetcore.txt")

  10.        

  11.         register_plugin("Reset Score", "1.0", "Silenttt")

  12.        

  13.         register_clcmd("say /resetscore", "reset_score")

  14.         register_clcmd("say /restartscore", "reset_score")

  15.         register_clcmd("say /rs", "reset_score")

  16.         register_clcmd("say_team /rs", "reset_score")

  17.         register_clcmd("reset_score", "reset_score")

  18. }

  19.  

  20. public reset_score(id)

  21. {

  22.         cs_set_user_deaths(id, 0)

  23.         set_user_frags(id, 0)

  24.         cs_set_user_deaths(id, 0)

  25.         set_user_frags(id, 0)

  26.        

  27.         PrintChatColor(id, PRINT_COLOR_RED, "^4[ResetScore]^3 %L", LANG_PLAYER, "RESET_SCORE")

  28. }
[/pawn]

Код: Выделить всё
[en]
RESET_SCORE = You have just reset your score.

[ru]
RESET_SCORE = Вы успешно сбросили свой счёт.
Предлагаю услуги гаранта. Написание плагинов на заказ.
Статус:
на заслуженном отдыхе
Отзывы: Нажми
Обратиться ко мне: Нажми

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

Re: Resetscore ! Нужна помощь !

Сообщение cstriker » 15 окт 2011, 18:40

[quote="Retro-kolt Lincoln"]Вот мой, с ланг файлом но без звука:
Мне нужно чтоб инфо показывалось не тому кто обнулил, а всем !!!
Аватара пользователя
cstriker
 
Сообщения: 58
Зарегистрирован: 19 сен 2011, 21:06
Благодарил (а): 22 раз.
Поблагодарили: 3 раз.

Re: Resetscore ! Нужна помощь !

Сообщение tuvix » 15 окт 2011, 18:44

[pawn]
  1. PrintChatColor(id, PRINT_COLOR_RED, "^4[ResetScore]^3 %L", LANG_PLAYER, "RESET_SCORE")

  2. на

  3. PrintChatColor(0, PRINT_COLOR_RED, "^4[ResetScore]^3 %L", LANG_PLAYER, "RESET_SCORE")
[/pawn]
Аватара пользователя
tuvix
 
Сообщения: 493
Зарегистрирован: 28 май 2011, 12:14
Откуда: Оттуда
Забанен
Благодарил (а): 54 раз.
Поблагодарили: 62 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Resetscore ! Нужна помощь !

Сообщение cstriker » 15 окт 2011, 18:48

tuvix писал(а):[pawn]
  1. PrintChatColor(id, PRINT_COLOR_RED, "^4[ResetScore]^3 %L", LANG_PLAYER, "RESET_SCORE")

  2. на

  3. PrintChatColor(0, PRINT_COLOR_RED, "^4[ResetScore]^3 %L", LANG_PLAYER, "RESET_SCORE")
[/pawn]

Извини, я как бы не очень умен в скриптинге, обьясни что это или сделай полностью код, а не фрагмент!!! А как насчет звука при обнулении!!
Аватара пользователя
cstriker
 
Сообщения: 58
Зарегистрирован: 19 сен 2011, 21:06
Благодарил (а): 22 раз.
Поблагодарили: 3 раз.

Re: Resetscore ! Нужна помощь !

Сообщение nefik23 » 15 окт 2011, 18:50

Пробуй.
[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <fun>

  5. #include <colorchat>

  6.  

  7. #define adtime   300.0 //Default of 10 minuites

  8.  

  9. new pcvar_Advertise

  10. new pcvar_Display

  11.  

  12. public plugin_init()

  13. {

  14.         register_plugin("Reset Score", "1.0", "Silenttt rmk 9 rpamm!? xD")

  15.  

  16.         register_clcmd("say /resetscore", "reset_score")

  17.         register_clcmd("say /rs", "reset_score")

  18.        

  19.         pcvar_Advertise = register_cvar("sv_rsadvertise", "0")

  20.         pcvar_Display = register_cvar("sv_rsdisplay", "1")

  21.        

  22.         if(get_cvar_num("sv_rsadvertise") == 1)

  23.         {

  24.                 set_task(adtime, "advertise", _, _, _, "b")

  25.         }

  26. }

  27.  

  28. public reset_score(id)

  29. {

  30.         cs_set_user_deaths(id, 0)

  31.         set_user_frags(id, 0)

  32.         cs_set_user_deaths(id, 0)

  33.         set_user_frags(id, 0)

  34.        

  35.         if(get_pcvar_num(pcvar_Display) == 1)

  36.         {

  37.                 new name[33]

  38.                 get_user_name(id, name, 32)

  39.                 ColorChat(0, GREEN, "^x03[^x04 Полтава паблик ® ^x03]^x01 Игрок ^x04%s^x01 обнулил свой счет!", name)

  40.                 client_cmd(0, "spk misc/spb-server/rs.wav")

  41.         }

  42.         else

  43.         {

  44.                 client_print(id, print_chat, "Ваш счет успешно обнулен!")

  45.         }

  46. }

  47.  

  48. public plugin_precache()

  49. {

  50.     precache_sound("misc/spb-server/rs.wav")

  51. }

  52.  

  53. public advertise()

  54. {

  55.         set_hudmessage(255, 0, 0, -1.0, 0.20, 0, 0.2, 12.0)

  56.         show_hudmessage(0, "Пишите say /rs для обнуления вашего счета без РЕКОННЕКТА!")

  57. }

  58.  

  59. public client_putinserver(id)

  60. {

  61.         if(get_pcvar_num(pcvar_Advertise) == 1)

  62.         {

  63.                 set_task(10.0, "connectmessage", id, _, _, "a", 1)

  64.         }

  65. }

  66.  

  67. public connectmessage(id)

  68. {

  69.         if(is_user_connected(id))

  70.         {

  71.         client_print(id, print_chat, "Пишите /rs для обнуления вашего счета без РЕКОННЕКТА!")

  72.         }

  73. }
[/pawn]
Есть вопрос, есть ChatBox.
Маленький блог помощи юзеру.
www.chatbox.do.am
Аватара пользователя
nefik23
 
Сообщения: 178
Зарегистрирован: 20 янв 2011, 19:20
Откуда: Из С.П.Б
Благодарил (а): 48 раз.
Поблагодарили: 24 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Resetscore ! Нужна помощь !

Сообщение cstriker » 15 окт 2011, 18:54

Привет Алексей Спасибо! Это без ланг файла?
Аватара пользователя
cstriker
 
Сообщения: 58
Зарегистрирован: 19 сен 2011, 21:06
Благодарил (а): 22 раз.
Поблагодарили: 3 раз.

Re: Resetscore ! Нужна помощь !

Сообщение nefik23 » 15 окт 2011, 18:54

Вот это:
[pawn]
  1.                 client_cmd(0, "spk misc/spb-server/rs.wav")
[/pawn]

Поменяй на это:
[pawn]
  1.                 client_cmd(id, "spk misc/spb-server/rs.wav")
[/pawn]
Есть вопрос, есть ChatBox.
Маленький блог помощи юзеру.
www.chatbox.do.am
Аватара пользователя
nefik23
 
Сообщения: 178
Зарегистрирован: 20 янв 2011, 19:20
Откуда: Из С.П.Б
Благодарил (а): 48 раз.
Поблагодарили: 24 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

Re: Resetscore ! Нужна помощь !

Сообщение tuvix » 15 окт 2011, 18:54

Имел в виду замени этот фрагмент.
Аватара пользователя
tuvix
 
Сообщения: 493
Зарегистрирован: 28 май 2011, 12:14
Откуда: Оттуда
Забанен
Благодарил (а): 54 раз.
Поблагодарили: 62 раз.
Опыт программирования: Около 6 месяцев
Языки программирования: Counter-Strike 1.6

Re: Resetscore ! Нужна помощь !

Сообщение nefik23 » 15 окт 2011, 19:07

mult1k писал(а):Привет Алексей Спасибо! Это без ланг файла?

Сейчас слангом сделаю...

Добавлено спустя 12 минут 13 секунд:
[pawn]
  1. #include <amxmodx>

  2. #include <amxmisc>

  3. #include <cstrike>

  4. #include <fun>

  5.  

  6. #define adtime   300.0 //Default of 10 minuites

  7.  

  8. new pcvar_Advertise

  9. new pcvar_Display

  10.  

  11. public plugin_init()

  12. {

  13.     register_plugin("Reset Score", "1.0", "Silenttt rmk 9 rpamm!? xD")

  14.        

  15.     register_dictionary( "rs.txt" )

  16.  

  17.     register_clcmd("say /resetscore", "reset_score")

  18.     register_clcmd("say /rs", "reset_score")

  19.  

  20.     pcvar_Advertise = register_cvar("sv_rsadvertise", "0")

  21.     pcvar_Display = register_cvar("sv_rsdisplay", "1")

  22.  

  23.     if(get_cvar_num("sv_rsadvertise") == 1)

  24.     {

  25.            set_task(adtime, "advertise", _, _, _, "b")

  26.     }

  27. }

  28.  

  29. stock ChatColor(const id, const input[], any:...)

  30. {

  31.     new count = 1, players[32]

  32.     static msg[191]

  33.     vformat(msg, 190, input, 3)

  34.    

  35.     replace_all(msg, 190, "!g", "^4") // Green Color

  36.     replace_all(msg, 190, "!y", "^1") // Default Color

  37.     replace_all(msg, 190, "!t", "^3") // Team Color

  38.    

  39.     if (id) players[0] = id; else get_players(players, count, "ch")

  40.     {

  41.         for (new i = 0; i < count; i++)

  42.         {

  43.             if (is_user_connected(players[i]))

  44.             {

  45.                 message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])

  46.                 write_byte(players[i]);

  47.                 write_string(msg);

  48.                 message_end();

  49.             }

  50.         }

  51.     }

  52. }

  53.  

  54. public reset_score(id)

  55. {

  56.     cs_set_user_deaths(id, 0)

  57.     set_user_frags(id, 0)

  58.     cs_set_user_deaths(id, 0)

  59.     set_user_frags(id, 0)

  60.  

  61.     if(get_pcvar_num(pcvar_Display) == 1)

  62.     {

  63.         new name[33]

  64.         get_user_name(id, name, 32)

  65.         ChatColor(0, "%L", LANG_PLAYER, "PLAYER_RS", name);

  66.         client_cmd(id, "spk misc/spb-server/rs.wav")

  67.     }

  68.     else

  69.     {

  70.         client_print(id, print_chat, "Ваш счет успешно обнулен!")

  71.     }

  72. }

  73.  

  74. public plugin_precache()

  75. {

  76.     precache_sound("misc/spb-server/rs.wav")

  77. }

  78.  

  79. public advertise()

  80. {

  81.     set_hudmessage(255, 0, 0, -1.0, 0.20, 0, 0.2, 12.0)

  82.     show_hudmessage(0, "Пишите say /rs для обнуления вашего счета без РЕКОННЕКТА!")

  83. }

  84.  

  85. public client_putinserver(id)

  86. {

  87.     if(get_pcvar_num(pcvar_Advertise) == 1)

  88.     {

  89.         set_task(10.0, "connectmessage", id, _, _, "a", 1)

  90.     }

  91. }

  92.  

  93. public connectmessage(id)

  94. {

  95.         if(is_user_connected(id))

  96.         {

  97.         client_print(id, print_chat, "Пишите /rs для обнуления вашего счета без РЕКОННЕКТА!")

  98.         }

  99. }
[/pawn]

Создай документ rs.txt и в него вставь такую сторчку:
Код: Выделить всё
[ru]
PLAYER_RS = !t[!g Полтава паблик ® !t]!y Игрок !g%s!y обнулил свой счет!


И сохрани его в UTF-8 БЕЗ BOM

)
Есть вопрос, есть ChatBox.
Маленький блог помощи юзеру.
www.chatbox.do.am
Аватара пользователя
nefik23
 
Сообщения: 178
Зарегистрирован: 20 янв 2011, 19:20
Откуда: Из С.П.Б
Благодарил (а): 48 раз.
Поблагодарили: 24 раз.
Опыт программирования: Меньше недели
Языки программирования: Counter-Strike 1.6

След.

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

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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13