Дмитрий |
Дата: Понедельник, 06.08.2012, 17:00 | Сообщение # 1 | Сообщить о нерабочей теме
|
Регистрация: | 03.12.2011
|
Страна: | Российская Федерация |
Репутация: |
14
|
Сообщений: | 1421 |
Награды: |
4
+
|
Статус: |
|
| Играя на многих серверах, где нет онлайн доната, что бы что то купить донат услугу(например бонусы, деньги, итд..) нужно идти на форум что бы посмотреть реквизиты администраторов и расценки на данные услуги (даже иногда и регистрироваться на сайте.
Я написал команду, которая в какой то мере упростит жизнь игрокам и администраторам игровых серверов.Тем самым можно будет сразу узнать цены на данные услуги и реквизиты на которые нужно будет перечислять финансы.
В данном моменте я прорисовываю услугу покупки бонусов.
[spoiler="Вот скриншоты"] [/spoiler]
Приступим :
Удобнее всего работать с диалогами с помощью Define"ов
1) Первым делом нужно в самое начало мода вставить : (если нету)
Code //==============================[Виды диалогов]================================= #define DSL DIALOG_STYLE_LIST #define DSI DIALOG_STYLE_INPUT #define DSM DIALOG_STYLE_MSGBOX #define DSP DIALOG_STYLE_PASSWORD //==============================================================================
Добавим цвет :
Code //====================[цвета]============================= #define COLOR_GREY 0xAFAFAFAA #define COLOR_WHITE 0xFFFFFFAA //=========================================================
2) Далее создадим Define"ы (в самом начале мода)
Code //==================================[Пополнение счета]========================= #define D_DONATE 1 #define D_DONATE1 2 #define D_DONATE2 3 #define D_DONATE3 4 #define D_DONATE4 5 #define D_DONATE5 6 #define D_DONATE6 7 #define D_DONATE7 8 #define D_DONATE8 9 #define D_DONATE9 10 //========================================================================
3) Далее идем в паблик OnPlayerCommandText и создадим команду, которая будет вызывать нашу форму поплнения баланса.
Code //============================================================================== if(strcmp(cmdtext, "/donate", true) == 0) { ShowPlayerDialog(playerid,D_DONATE,DSM,"Пополнение баланса [1/5]"," {FFFFFF}Вы зашли в меню пополнение игрового счета\n Мы принемаем:{FFFFFF} \n - {0000FF}Webmoney - [Webmoney.ru]{ffffff} \n - {0000FF}Yandex money - [Yandex.ru]{ffffff}\n После оплаты деньги будут зачислены на игровой счет в течении {ff0000}24 часов{FFFFFF} \n Если вы согласны то нажмите далее","Далее","Отмена"); return 1; } //==============================================================================
4) После того как создали команду, идем в паблик OnDialogResponse
Code //============================================================================== if(dialogid == D_DONATE) { if(response) { ShowPlayerDialog(playerid,D_DONATE1,DSL,"Пополнение баланса [2/5]","100 бонусов\n500 бонусов \n1000 бонусов\n1500 бонусов","Выбрать","Отмена"); } else { SendClientMessage(playerid,COLOR_GREY,"Вы вышли!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE1) { if(response) { if(listitem == 0) { ShowPlayerDialog(playerid,D_DONATE2,DSM,"Пополнение баланса [3/5]","{FFFFFF}Действительно пополнить баланс на {ff0000}100 бонусов{FFFFFF}\n - Цена: {0000ff}100 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); } if(listitem == 1) { ShowPlayerDialog(playerid,D_DONATE3,DSM,"Пополнение баланса [3/5]","{FFFFFF}Действительно пополнить баланс на {ff0000}500 бонусов{FFFFFF}\n - Цена: {0000ff}150 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); } if(listitem == 2) { ShowPlayerDialog(playerid,D_DONATE4,DSM,"Пополнение баланса [3/5]","{FFFFFF}Действительно пополнить баланс на {ff0000}1000 бонусов{FFFFFF}\n - Цена: {0000ff}200 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); } if(listitem == 3) { ShowPlayerDialog(playerid,D_DONATE5,DSM,"Пополнение баланса [3/5]","{FFFFFF}Действительно пополнить баланс на {ff0000}1500 бонусов{FFFFFF}\n - Цена: {0000ff}250 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); } } else { ShowPlayerDialog(playerid,D_DONATE,DSM,"Пополнение баланса [1/5]"," Вы зашли в меню пополнение игрового счета:\n Мы принемаем \n - Webmoney - [Webmoney.ru] \n - Yandex money - [Yandex.ru]\n После оплаты деньги будут зачислены на игровой счет в течении 24 часов \n Если вы согласны то нажмите далее","Далее","Отмена"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE2) { if(response) { ShowPlayerDialog(playerid,D_DONATE6,DSL,"Пополнение баланса [4/5]","Webmoney\nYandex money","Выбрать","Отмена"); } else { ShowPlayerDialog(playerid,D_DONATE1,DSL,"Пополнение баланса [2/5]","100 бонусов\n500 бонусов \n1000 бонусов\n1500 бонусов","Выбрать","Отмена"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE3) { if(response) { ShowPlayerDialog(playerid,D_DONATE7,DSL,"Пополнение баланса [4/5]","Webmoney\nYandex money","Выбрать","Отмена"); } else { ShowPlayerDialog(playerid,D_DONATE1,DSL,"Пополнение баланса [2/5]","100 бонусов\n500 бонусов \n1000 бонусов\n1500 бонусов","Выбрать","Отмена"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE4) { if(response) { ShowPlayerDialog(playerid,D_DONATE8,DSL,"Пополнение баланса [4/5]","Webmoney\nYandex money","Выбрать","Отмена"); } else { ShowPlayerDialog(playerid,D_DONATE1,DSL,"Пополнение баланса [2/5]","100 бонусов\n500 бонусов \n1000 бонусов\n1500 бонусов","Выбрать","Отмена"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE5) { if(response) { ShowPlayerDialog(playerid,D_DONATE9,DSL,"Пополнение баланса [4/5]","Webmoney\nYandex money","Выбрать","Отмена"); } else { ShowPlayerDialog(playerid,D_DONATE1,DSL,"Пополнение баланса [2/5]","100 бонусов\n500 бонусов \n1000 бонусов\n1500 бонусов","Выбрать","Отмена"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE6) { if(response) { if(listitem == 0) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}100 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}100 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Webmoney) R99999999999"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}100 бонусов{FFFFFF}\n - Оплатить: {ff0000}100 рублей{ffffff}\n- Кошелек для оплаты (Webmoney) R99999999999\n****************************************************************\n","Ок","Назад"); } if(listitem == 1) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}100 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}100 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Yandex) 41111111111111"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}100 бонусов{FFFFFF}\n - Оплатить: {ff0000}100 рублей{ffffff}\n- Кошелек для оплаты (Yandex) 41111111111111\n****************************************************************\n","Ок","Назад"); } } else { ShowPlayerDialog(playerid,D_DONATE2,DSM,"Пополнение баланса [3/5]","Действительно пополнить баланс на {ff0000}100 бонусов{FFFFFF}\n - Цена: {0000ff}100 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE7) //web { if(response) { if(listitem == 0) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}500 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}150 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Webmoney) R99999999999"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}500 бонусов{FFFFFF}\n - Оплатить: {ff0000}150 рублей{ffffff}\n- Кошелек для оплаты (Webmoney) R99999999999\n****************************************************************\n","Ок","Назад"); } if(listitem == 1) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}500 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}150 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Yandex) 41111111111111"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}500 бонусов{FFFFFF}\n - Оплатить: {ff0000}150 рублей{ffffff}\n- Кошелек для оплаты (Yandex) 41111111111111\n****************************************************************\n","Ок","Назад"); } } else { ShowPlayerDialog(playerid,D_DONATE3,DSM,"Пополнение баланса [3/5]","Действительно пополнить баланс на {ff0000}500 бонусов{FFFFFF}\n - Цена: {0000ff}150 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE8) //web { if(response) { if(listitem == 0) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}1000 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}200 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Webmoney) R99999999999"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}1000 бонусов{FFFFFF}\n - Оплатить: {ff0000}200 рублей{ffffff}\n- Кошелек для оплаты (Webmoney) R99999999999\n****************************************************************\n","Ок","Назад"); } if(listitem == 1) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}1000 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}200 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Yandex) 41111111111111"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}1000 бонусов{FFFFFF}\n - Оплатить: {ff0000}200 рублей{ffffff}\n- Кошелек для оплаты (Yandex) 41111111111111\n****************************************************************\n","Ок","Назад"); } } else { ShowPlayerDialog(playerid,D_DONATE4,DSM,"Пополнение баланса [3/5]","Действительно пополнить баланс на {ff0000}1000 бонусов{FFFFFF}\n - Цена: {0000ff}200 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
//============================================================================== if(dialogid == D_DONATE9) //web { if(response) { if(listitem == 0) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}1500 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}250 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Webmoney) R99999999999"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}1500 бонусов{FFFFFF}\n - Оплатить: {ff0000}250 рублей{ffffff}\n- Кошелек для оплаты (Webmoney) R99999999999\n****************************************************************\n","Ок","Назад"); } if(listitem == 1) { SendClientMessage(playerid,COLOR_WHITE,"Чек"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); SendClientMessage(playerid,COLOR_WHITE," - Ваш заказ: {ff0000}1500 бонусов{FFFFFF}"); SendClientMessage(playerid,COLOR_WHITE," - Оплатить {ff0000}250 рублей{ffffff}"); SendClientMessage(playerid,COLOR_WHITE," - Кошелек для оплаты (Yandex) 41111111111111"); SendClientMessage(playerid,COLOR_WHITE,"****************************************************************"); ShowPlayerDialog(playerid,123,DSM,"Пополнение баланса [5/5]","{FFFFFF}Чек\n****************************************************************\n - Ваш заказ:{FFFFFF} {ff0000}1500 бонусов{FFFFFF}\n - Оплатить: {ff0000}250 рублей{ffffff}\n- Кошелек для оплаты (Yandex) 41111111111111\n****************************************************************\n","Ок","Назад"); } } else { ShowPlayerDialog(playerid,D_DONATE5,DSM,"Пополнение баланса [3/5]","Действительно пополнить баланс на {ff0000}1500 бонусов{FFFFFF}\n - Цена: {0000ff}300 рублей{FFFFFF} \nЕсли все верно, нажмите далее","Далее","Назад"); SendClientMessage(playerid,COLOR_GREY,"Вы были перемещены в основное меню!"); } } //==============================================================================
Ну вот и все Автор neja
From Russia With Love!
|
|
|
|