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

Перевод денег (Money Transfer)

Плагины для AMX Mod X, которые не удовлетворяют правилам оформления.

Модератор: Leonidddd

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

Перевод денег (Money Transfer)

Сообщение kalash1k » 21 май 2011, 18:11

Авторы: kalash1k
Версия: 1.3

Краткое описание:
Плагин позволяет передать свои деньги другому игроку. Вызывается меню с игроками посредством чат команды /tm. Выбирается игрок, которому нужно передать деньги. Выбирается одно из пяти сумм, для передачи. Самая большая сумма не превышает сумму денег игрока, который передает их в данный момент. Последнее, шестое меню - ввод количества денег вручную.

Подробное описание:
Опции меню с суммами для передачи высчитываются так. Если в настройках указано tm_menu 1 (динамическое меню), то первые 4 опции строятся в зависимости от текущего количества денег передающего игрока.

Берется текущее значение денег игрока (скажем $800). Далее высчитывается некоторый коэффициент путём деления текущей суммы игрока ($800) на 1000 (определяется параметром BASE_MONEY_AMOUNT и строго рекомендуется этот параметр НЕ МЕНЯТЬ!). Округляем полученное число (0,8) в большую сторону (1). И далее строится меню путём умножения этого числа на 100, 200, 300 и 500 соответственно для каждой опции меню. Плюс добавляется опция передачи всей сумммы и плюс ввод вручную. Получаем (в нашем случае с $800):

Код: Выделить всё
Player:
1. $100
2. $200
3. $300
4. $500
5. $800
6. Ввести кол-во


Аналогично для других сумм.

Если же tm_menu 0. Тогда первые 4 опции меню будут статическими и будут определяться нижеописанными кварами. Их можно изменить в любой момент игры.

Если же у игрока, который передаёт деньги в данный момент, денег меньше или равно $500 (определяется параметром MAX_CURRENT_MONEY и строго рекомендуется этот параметр НЕ МЕНЯТЬ!), то в таком случае формируется меню только из двух опций. А именно, текущее значение денег и ввод вручную. Пример:

У нас $499. Мы вызываем меню и посылаем игроку Player деньги:

Код: Выделить всё
Player:
1. $499
2. Ввести кол-во


Далее мы можем либо послать все наши $499 либо ввести вручную. Скажем $200 или $146 или $1. И т.п.

Особенности:
Особенность данного плагина в том, что присутствует меню из заранее определенных сумм для передачи, которые могут меняться динамически, т.е. в зависимости от текущего значения количества денег передающего игрока. А также меню для ввода числового параметра вручную, осуществляемого посредством так называемого messagemode.

Команды:
  • /tm - вызвать список игроков, кому нужно передать деньги

Серверные настройки (CVARs)
  • tm_menu (1|0) - Определяет, будет ли меню динамическим или нет. См. в подробном описании выше, под спойлером. По умолчанию: 1
  • tm_menu_1 100 - Количество денег в первой опции меню. По умолчанию: 100
  • tm_menu_2 200 - Количество денег во второй опции меню. По умолчанию: 200
  • tm_menu_3 300 - Количество денег в третьей опции меню. По умолчанию: 300
  • tm_menu_4 500 - Количество денег в четвёртой опции меню. По умолчанию: 500

Алиасы:
Помимо чат-команды /tm есть такие алиасы, как /transfer и /money. Убрать или добавить их вы можете в исходнике сами.

Используемые модули:

Требования:
AMX Mod X 1.8.0 и выше
Для тех, у кого проблемы с Вы должны зарегистрироваться, чтобы видеть ссылки.:
ДЛЯ РАБОТЫ ДАННОГО ПЛАГИНА нужно Вы должны зарегистрироваться, чтобы видеть ссылки. файл Вы должны зарегистрироваться, чтобы видеть ссылки. и закинуть СКОМПИЛИРОВАННЫЙ файл Вы должны зарегистрироваться, чтобы видеть ссылки. в директорию addons\amxmodx\plugins. Затем, прописать строку colorchat.amxx в файле addons\amxmodx\configs\plugins.ini
И только потом уже прописать там же строку money_transfer.amxx.
Файл инклюда (chatcolor.inc) в директорию с сервером кидать не нужно. Сервер не видит никогда никакие инклюды. Оны нужны ТОЛЬКО для компиляции .sma файлов!


Языки:
  • Русский

Установка:

Список изменений
  • v1.3 - Исправлены некоторые ошибки. Добавлены новые возможности.
  • v1.2 - Исправлены ошибки. Добавлены некоторые проверки.
  • v1.1 - Исправлены мелкие баги. Добавлены новые возможности и проверки.
  • v1.0 - Релиз

Не утверждено. Отсутствуют файлы и поддержка плагина //Leonidddd
Последний раз редактировалось kalash1k 15 авг 2012, 15:03, всего редактировалось 17 раз(а).

Аватара пользователя
kalash1k
 
Сообщения: 210
Зарегистрирован: 17 янв 2010, 14:08
Откуда: СССР
Благодарил (а): 15 раз.
Поблагодарили: 20 раз.
Опыт программирования: Больше трех лет
Языки программирования: Counter-Strike 1.6

Re: Перевод денег (Money Transfer)

Сообщение FirsT » 14 авг 2012, 18:11

Plrip писал(а):
Это как? Объясните подробнее.

ввожу сумму и она распределяется между всеми игроками на сервере
и сообщение:"Игрок %s подарил всем по %i $$"

Наглая ты морда, а самому попробовать никак?
kalash1k, а тебе советую не выкладывать плагин, пока от юзеров не увидишь каких-либо попыток.
Пишу плагины на заказ
myxa...94 (FReeMaN)
Аватара пользователя
FirsT
 
Сообщения: 367
Зарегистрирован: 04 фев 2012, 14:58
Благодарил (а): 23 раз.
Поблагодарили: 138 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Перевод денег (Money Transfer)

Сообщение Plrip » 14 авг 2012, 18:14

FirsT писал(а):
Plrip писал(а):
Это как? Объясните подробнее.

ввожу сумму и она распределяется между всеми игроками на сервере
и сообщение:"Игрок %s подарил всем по %i $$"

Наглая ты морда, а самому попробовать никак?
kalash1k, а тебе советую не выкладывать плагин, пока от юзеров не увидишь каких-либо попыток.

ну так,если бы я знал эту функцию...

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: Перевод денег (Money Transfer)

Сообщение FirsT » 14 авг 2012, 18:16

Plrip писал(а):
FirsT писал(а):
Plrip писал(а):
Это как? Объясните подробнее.

ввожу сумму и она распределяется между всеми игроками на сервере
и сообщение:"Игрок %s подарил всем по %i $$"

Наглая ты морда, а самому попробовать никак?
kalash1k, а тебе советую не выкладывать плагин, пока от юзеров не увидишь каких-либо попыток.

ну так,если бы я знал эту функцию...

В чем проблема ее узнать? Переводи меню в старую систему и действуй...Результаты выкладывай.
Пишу плагины на заказ
myxa...94 (FReeMaN)
Аватара пользователя
FirsT
 
Сообщения: 367
Зарегистрирован: 04 фев 2012, 14:58
Благодарил (а): 23 раз.
Поблагодарили: 138 раз.
Опыт программирования: Около года
Языки программирования: Counter-Strike 1.6

Re: Перевод денег (Money Transfer)

Сообщение Plrip » 14 авг 2012, 18:47

FirsT писал(а):
Plrip писал(а):
FirsT писал(а):
Plrip писал(а):
Это как? Объясните подробнее.

ввожу сумму и она распределяется между всеми игроками на сервере
и сообщение:"Игрок %s подарил всем по %i $$"

Наглая ты морда, а самому попробовать никак?
kalash1k, а тебе советую не выкладывать плагин, пока от юзеров не увидишь каких-либо попыток.

ну так,если бы я знал эту функцию...

В чем проблема ее узнать? Переводи меню в старую систему и действуй...Результаты выкладывай.

[pawn]
  1. new tempname[32], info[10]

  2.    

  3.    new szText[ 555 char ];

  4.    formatex( szText, charsmax( szText ), "Игроки:" )

  5.    

  6.    players_menu = menu_create( szText, "players_menu_handler")

  7.    

  8.    for(i = 0; i < num; i++)

  9.    {

  10.       if(players[i] == id)

  11.          continue

  12.      

  13.       get_user_name(players[i], tempname, 31)

  14.       num_to_str(players[i], info, 9)

  15.       menu_additem(players_menu, tempname, info, 0)

  16.    }

  17.    

  18.    formatex( szText, charsmax(szText), "Назад" );

  19.    menu_setprop(players_menu, MPROP_BACKNAME, szText );

  20.    

  21.    formatex( szText, charsmax(szText), "Далее" );

  22.    menu_setprop(players_menu, MPROP_NEXTNAME, szText );

  23.    

  24.    formatex( szText, charsmax(szText), "Выход");

  25.    menu_setprop(players_menu, MPROP_EXITNAME, szText );

  26.    

  27.    menu_setprop(players_menu, MPROP_EXIT, MEXIT_ALL)

  28.    

  29.    menu_display(id, players_menu, 0)

  30.    return PLUGIN_CONTINUE
[/pawn]
что дальше?

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: Перевод денег (Money Transfer)

Сообщение hmn3r^Ist » 14 авг 2012, 23:10

[pawn]
  1. formatex( szText, charsmax( szText ), "Игроки:" )

  2. players_menu = menu_create( szText, "players_menu_handler")

  3. formatex( szText, charsmax(szText), "Назад" );

  4. menu_setprop(players_menu, MPROP_BACKNAME, szText );

  5. formatex( szText, charsmax(szText), "Далее" );

  6. menu_setprop(players_menu, MPROP_NEXTNAME, szText );

  7. formatex( szText, charsmax(szText), "Выход");

  8. menu_setprop(players_menu, MPROP_EXITNAME, szText );
[/pawn]
Зачем? почему? для чего?
Аватара пользователя
hmn3r^Ist
 
Сообщения: 900
Зарегистрирован: 19 апр 2012, 16:24
Откуда: Petersburg
Благодарил (а): 82 раз.
Поблагодарили: 158 раз.

Re: Перевод денег (Money Transfer)

Сообщение Plrip » 14 авг 2012, 23:16

hmn3r^Ist, старая система меню...

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: Перевод денег (Money Transfer)

Сообщение hmn3r^Ist » 14 авг 2012, 23:21

Plrip писал(а):hmn3r^Ist, старая система меню...

Да где же она старая то? непойму
Аватара пользователя
hmn3r^Ist
 
Сообщения: 900
Зарегистрирован: 19 апр 2012, 16:24
Откуда: Petersburg
Благодарил (а): 82 раз.
Поблагодарили: 158 раз.

Re: Перевод денег (Money Transfer)

Сообщение Plrip » 14 авг 2012, 23:21

formatex
есть-значит старая :-D

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Re: Перевод денег (Money Transfer)

Сообщение hmn3r^Ist » 14 авг 2012, 23:22

Plrip писал(а):formatex
есть-значит старая :-D

Ясно. все вопросы сами отпали :)
Аватара пользователя
hmn3r^Ist
 
Сообщения: 900
Зарегистрирован: 19 апр 2012, 16:24
Откуда: Petersburg
Благодарил (а): 82 раз.
Поблагодарили: 158 раз.

Re: Перевод денег (Money Transfer)

Сообщение Plrip » 14 авг 2012, 23:26

hmn3r^Ist писал(а):
Plrip писал(а):formatex
есть-значит старая :-D

Ясно. все вопросы сами отпали :)

главное ,что это работает :-)

Status:
Аватара пользователя
Plrip
Скриптер
 
Сообщения: 2903
Зарегистрирован: 03 дек 2011, 19:33
Откуда: Ukraine
Благодарил (а): 237 раз.
Поблагодарили: 603 раз.
Языки программирования: Counter-Strike 1.6
X-Ray
Killing-Floor [low]

Пред.След.

Вернуться в Неутвержденные плагины

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

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