Страница 1 от 3

Simple Glow Menu v2.0

Публикувано на: 13 Фев 2017, 21:05
от Unbr3akable
Автор: Unbr3akable

Описание:
  • Този плъгин ще изкара меню, след написване на съответна команда в чата. Менюто съдържа glow-ове. Ако изберете съответен glow, играчът ви ще започне да свети в цвета според glow-a, както сте го настроили. След избирането на glow, ако отворите пак менюто, ще изписва [SELECTED] срещу избрания glow по подразбиране и също така ще изписва името на текущия glow. Може да направите менюто да работи само за играчи с определен флаг или пък отбор.
Настройки и съобщения:
  • Настройките на плъгина се променят от файла configs/SimpleGlowMenu.ini, а съобщенията от data/lang/SimpleGlowMenu.txt. В конфигурационния файл ще намерите две секции:
    • [Settings] - Тази секция включва всички настройки на плъгина.
      • GLOW_COMMANDS - Командите за отваряне на менюто.
        • ПО ПОДРАЗБИРАНЕ: say /glow, say_team /glow, say /gm, say_team /gm
      • GLOW_PREFIX - Префикса в чата.
        • ПО ПОДРАЗБИРАНЕ: &x01[&x03Glow Menu&x01]
      • GLOW_TEAM - Определя дали менюто да е достъпно само за определен отбор.
        • ПО ПОДРАЗБИРАНЕ:
      • GLOW_FLAG - Определя дали менюто да е достъпно само за играчи с определен/и флаг/ове.
        • ПО ПОДРАЗБИРАНЕ:
      • GLOW_TITLE - Заглавието на менюто.
        • ПО ПОДРАЗБИРАНЕ: \yUnbr3akable's \rSimple Glow Menu\n\wCurrent glow: \y%s
      • GLOW_TITLE_PAGE - Текстът на страницата в менюто.
        • ПО ПОДРАЗБИРАНЕ: \d| \wPage:\y
      • GLOW_BACK_NAME - Името на предишна страница.
        • ПО ПОДРАЗБИРАНЕ: Previous page
      • GLOW_NEXT_NAME - Името на следваща страница.
        • ПО ПОДРАЗБИРАНЕ: Next page
      • GLOW_EXIT_NAME - Името на изход от менюто.
        • ПО ПОДРАЗБИРАНЕ: \rClose
      • GLOW_PER_PAGE - Броя на glow-овете на всяка страница.
        • ПО ПОДРАЗБИРАНЕ: 7
      • GLOW_MESSAGE_TYPE - Вида на съобщенията. "0" = чат; "1" = hud; "2" = dhud.
        • ПО ПОДРАЗБИРАНЕ: 1
      • GLOW_HUD_X - Позиция "X" на (D)HUD съобщението.
        • ПО ПОДРАЗБИРАНЕ: -1.0
      • GLOW_HUD_Y - Позиция "Y" на (D)HUD съобщението.
        • ПО ПОДРАЗБИРАНЕ: 0.25
      • GLOW_HUD_EFFECTS - Ефекти на (D)HUD съобщението. "0" = без; "1" = трепкане; "2" = последователно писане.
        • ПО ПОДРАЗБИРАНЕ: 0
      • GLOW_HUD_EFFTIME - Времетраенето на (D)HUD ефектите.
        • ПО ПОДРАЗБИРАНЕ: 2.5
      • GLOW_HUD_HOLDTIME - Времетраенето на (D)HUD съобщението.
        • ПО ПОДРАЗБИРАНЕ: 6.0
    • [Glows] - От тази секция се добавят нови glow-ове.
      • Употреба: <Име на glow-а> = <Цвят червено> <Цвят зелено> <Цвят синьо>
      • Пример: Dark red = 135 0 0
      • Броя на glow-овете е неограничен.
Снимки:

ИзображениеИзображениеИзображение

Начин на инсталация:
  • Файлът SimpleGlowMenu.ini отива в папката configs. Тук се намират всички настройки на плъгина.
  • Файлът SimpleGlowMenu.txt отива в data/lang. Тук се намират съобщенията. В момента файлът разполага само с два езика: Английски и Български.
  • Файлът simple_glow_menu.sma отива в папката scripting и оттам го компилирате локално. След това го инсталирате, местейки компилирания файл в папката plugins и пишейки името му в plugins.ini.
Допълнителна информация и изтегляне:
Simple Glow Menu.zip
Версия 2.0
(3.87 KiB) Свалено 459 пъти
Simple Glow Menu.zip
Версия 2.0
(3.87 KiB) Свалено 459 пъти

Re: Simple Glow Menu v1.0

Публикувано на: 13 Фев 2017, 21:26
от hackera457
Браво, идеята ми харесва. Ето ти още няколко предложения от мен:

Направи cvar дали да се ползва само от админи или не

Re: Simple Glow Menu v1.0

Публикувано на: 13 Фев 2017, 21:27
от Unbr3akable
Добра идея, ще го направя след малко.

Re: Simple Glow Menu v1.0

Публикувано на: 13 Фев 2017, 21:35
от hackera457

Код за потвърждение: Избери целия код

public client_putinserver(id)
    g_iGlow[id] = -1
-->

Код за потвърждение: Избери целия код

public client_putinserver(id)
    g_iGlow[id] = 0
Не слагай отрицателна стойност, старай се да е 0. В много случай отрицателните стойности може да ти изиграят лоша шега

Във custom функциите ползвай static вместо new. Коментирал съм защо не трябва и до какво би довело

Re: Simple Glow Menu v1.1

Публикувано на: 13 Фев 2017, 22:23
от Unbr3akable
Аз съм използвал -1, защото първия glow започва от 0 и ако сложа във функцията 0, ще изписва в менюто SELECTED на първия glow, без да е избрано нищо.

UPDATE v1.1

* Добавен e cvar за префикс в чата.
* Добавен е cvar за определяне на менюто дали да бъде достъпно само за VIP играчи и cvar за флага на VIP играчите.
* Добавени са 2 нови съобщения в lang файла.

Re: Simple Glow Menu v1.1

Публикувано на: 13 Фев 2017, 22:55
от TheRedShoko
Следкато главната идея на плъгина е да оформя меню с цветове и от файла четеш менюто, използвай cellarray, a не обикновен масив и да ограничаваш колко да са максималните съобщения. Ако не знаеш как се ползват cellarrays може да погледнеш някой плъгин, не са малко плъгините, които го използват. За пример мога да ти дам https://amxx-bg.info/forum/viewtopic.php?f=21&t=1210#p5080 https://amxx-bg.info/forum/viewtopic.php?f=21&t=1171 https://amxx-bg.info/forum/viewtopic.php?f=21&t=642.

Re: Simple Glow Menu v1.1

Публикувано на: 13 Фев 2017, 23:50
от Unbr3akable
Честно да ти кажа, с array изобщо не мога да работя. Дори и да го зубря - нищо не става. Наистина нищо не разбирам от array, гледам и плъгини как са направени с него, но никаква представа си нямам как се работи с него. Единственото което знам е, че с array не се задават ограничения на предмети.

Re: Simple Glow Menu v1.1

Публикувано на: 14 Фев 2017, 09:18
от TheRedShoko
Погледни темите за cellarray, от API-то. Постарал съм се да обясня всяко едно нещо от работата с масиви, api-то не е пълно изцяло, но това, което съм написал досега е достатъчно за основа.

Re: Simple Glow Menu v1.2

Публикувано на: 16 Фев 2017, 12:27
от Unbr3akable
UPDATE v1.2

* Вече може да добавяте неограничено количество glow-ове.

Re: Simple Glow Menu v1.2

Публикувано на: 16 Фев 2017, 20:04
от TheRedShoko

Код за потвърждение: Избери целия код

for(new i; i < ArraySize(g_aGlow); i++)
=>

Код за потвърждение: Избери целия код

new iSize = ArraySize(g_aGlow);
for (new i = 0; i < iSize; i++)
Само това виждам, ако някой колега вижда някоя друга забележка, нека каже. Може да пропускам нещо.