- Регистрация
- 11 Мар 2013
- Сообщения
- 603
- Лучшие ответы
- 0
- Репутация
- 476
Система доната SVL
ко всем new:
в enum pInfo
в public OnPlayerConnect(playerid)
в public OnPlayerLogin(playerid,password[])
в public OnPlayerRegister(playerid, password[])
в public OnPlayerSave(playerid)
в public OnPlayerUpdateRL(playerid)
ко всем командам:
в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Добавляем команду:
Ссылка на файл donate.ini:
Парочка скриншотов:
ко всем new:
PHP:
new Donate;
PHP:
pDonate,
PHP:
PlayerInfo[playerid][pDonate] = 0;
PHP:
ini_getInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
PHP:
ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
PHP:
ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
PHP:
ini_setInteger(File,"Donate",PlayerInfo[playerid][pDonate]);
PHP:
if(strcmp(cmd, "/donate", true) == 0)
{
ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "Донат", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена"); return true;
}
PHP:
case 12955:
{
if(response)
{
switch(listitem)
{
case 0: ShowPlayerDialog(playerid, 12956, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Введите ваш донат код в поле ввода:", "Продолжить", "Назад");
case 1: format(string, sizeof(string), "{FFFFFF}Действующий тариф: {00B464}Обычный {FFFFFF}(1 к 15 тыс.)\n\nНа счету вашего аккаунта {00B464}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена состовляет %d $", PlayerInfo[playerid][pDonate], PlayerInfo[playerid][pDonate]*15000), ShowPlayerDialog(playerid, 12953, DIALOG_STYLE_INPUT, "« Донат »", string, "Продолжить", "Назад");
case 2: ShowPlayerDialog(playerid, 12957, DIALOG_STYLE_LIST, "« Донат »", "[0] - Убрать бан чата (20)\n[1] - Аннулировать варны (100)\n[2] - Прибавить 1 к игровому уровню (250)\n[3] - Удалить тюнинг с личного транспорта (50)\n[4] - Понизить уровень розыска (5)\n[5] - Прибавить 1000 к наркозависимости (20)\n[6] - Убавить 1000 от наркозависимости (20)\n[7] - Комплект оружия (40)\n[8] - Прибавить 10 к законопослушности (10)", "Выбрать", "Назад");
case 3: ShowPlayerDialog(playerid, 12958, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Вы можете разблокировать любой игровой аккаунт с помощью 300 донат очков.\nОчки будут списаны с вашего счета, только при успешном разбане.\n\nВведите логин заблокированного аккаунта:", "Разбан", "Назад");
case 4: SendClientMessage(playerid, COLOR_WHITE, "Подробная информация на сайте: ВАШ САЙТ");
}
}
else return true;
}
case 12956:
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 48, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Введите ваш донат код в поле ввода:", "Продолжить", "Назад");
new donate;
new iniFile = ini_openFile("/logs/donate.ini");
if(ini_getInteger(iniFile, inputtext, donate) == 0)
{
PlayerInfo[playerid][pDonate] += donate;
format(string, sizeof(string), "Вы пополнили свой аккаунт на {00B464}%d {FFFFFF}очков", donate);
SendClientMessage(playerid, COLOR_WHITE, string);
ini_removeKey(iniFile, inputtext);
ini_closeFile(iniFile);
}
else return ShowPlayerDialog(playerid, 69, DIALOG_STYLE_MSGBOX, "Ошибка", "{FFFFFF}Вы ошиблись при вводе кодов", "Готово", "");
}
else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
}
case 12953:
{
if(response)
{
if(!strlen(inputtext)) return format(string, sizeof(string), "{FFFFFF}Действующий тариф: {00B464}Обычный {FFFFFF}(1 к 15 тыс.)\n\nНа счету вашего аккаунта {00B464}%d {FFFFFF}донат очка(о/ов)\n\nМаксимально доступная выручка с обмена состовляет %d $", PlayerInfo[playerid][pDonate], PlayerInfo[playerid][pDonate]*15000), ShowPlayerDialog(playerid, 49, DIALOG_STYLE_INPUT, "« Донат »", string, "Выбрать", "Назад");
new moneys;
moneys = strval(inputtext);
if(PlayerInfo[playerid][pDonate] < moneys) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
if(moneys > 10000 || moneys < 1) return SendClientMessage(playerid, COLOR_GREY, "Нельзя меньше 1 и больше 10000");
PlayerInfo[playerid][pBank] += moneys*15000;
format(string, sizeof(string), "Ваш аккаунт успешно пополнен, деньги были переведены в банк!");
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pDonate] -= moneys;
}
else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
}
case 12957:
{
if(response)
{
switch(listitem)
{
case 0:
{
if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pMuted] = 0;
PlayerInfo[playerid][pMuteTime] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Вы сняли бан чата за {00B464}20 {FFFFFF}донат очков");
PlayerInfo[playerid][pDonate] -= 20;
}
case 1:
{
if(PlayerInfo[playerid][pDonate] < 100) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pWarns] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Вы аннулировали варны за {00B464}100 {FFFFFF}донат очков");
PlayerInfo[playerid][pDonate] -= 100;
}
case 2:
{
if(PlayerInfo[playerid][pDonate] < 250) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pLevel] += 1;
SendClientMessage(playerid, COLOR_WHITE, "Вы прибавили 1 к игровому уровню за {00B464}250 {FFFFFF}донат очков");
PlayerInfo[playerid][pDonate] -= 250;
}
case 3:
{
if(PlayerInfo[playerid][pDonate] < 50) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
CompVehDel(playerid);
SendClientMessage(playerid, COLOR_WHITE, "Вы удалили тюнинг с личного транспорта за {00B464}50 {FFFFFF}донат очков");
PlayerInfo[playerid][pDonate] -= 50;
}
case 4:
{
if(PlayerInfo[playerid][pDonate] < 5) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pZvezdi] =0;
PlayerInfo[playerid][pDonate] -=5;
SendClientMessage(playerid,COLOR_WHITE,"Вы понизили свой уровень розыска за {00B464}5 {FFFFFF}донат очков.");
}
case 5:
{
if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pNarcoZavisimost] += 1000;
PlayerInfo[playerid][pDonate] -=20;
SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе наркозависимость на 1000 за {00B464}20 {FFFFFF}донат очков.");
}
case 6:
{
if(PlayerInfo[playerid][pDonate] < 20) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
if(PlayerInfo[playerid][pNarcoZavisimost] < 1000) return SendClientMessage(playerid, COLOR_WHITE, "Ошибка: У вас нет наркозависимости!");
PlayerInfo[playerid][pNarcoZavisimost] -= 1000;
PlayerInfo[playerid][pDonate] -=20;
SendClientMessage(playerid,COLOR_WHITE,"Вы убавили себе наркозависимость на 1000 за {00B464}20 {FFFFFF}донат очков.");
}
case 7:
{
if(PlayerInfo[playerid][pDonate] < 40) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
GetWeaponPla(playerid, 24, 1000);
GetWeaponPla(playerid, 29, 1000);
GetWeaponPla(playerid, 31, 1000);
GetWeaponPla(playerid, 25, 1000);
PlayerInfo[playerid][pDonate] -=40;
SendClientMessage(playerid,COLOR_WHITE,"Вам выдан комплект оружия за {00B464}40 {FFFFFF}донат очков.");
}
case 8:
{
if(PlayerInfo[playerid][pDonate] < 10) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
PlayerInfo[playerid][pDonate] -=10;
PlayerInfo[playerid][pZakonp] += 10;
SendClientMessage(playerid,COLOR_WHITE,"Вы прибавили себе законопослушность на 10 за {00B464}10 {FFFFFF}донат очков.");
}
}
}
else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
}
case 12958:
{
if(response)
{
if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 51, DIALOG_STYLE_INPUT, "« Донат »", "{FFFFFF}Вы можете разблокировать любой игровой аккаунт с помощью 300 донат очков.\nОчки будут списаны с вашего счета, только при успешном разбане.\n\nВведите логин заблокированного аккаунта:", "Разбан", "Назад");
if(PlayerInfo[playerid][pDonate] < 300) return SendClientMessage(playerid, COLOR_WHITE, "У вас нет столько донат очков!");
format(string, sizeof(string), "/users/%s.ini", inputtext);
if(fexist(string))
{
new File = ini_openFile(string);
ini_setInteger(File, "Locked", 0);
ini_closeFile(File);
format(string, sizeof(string), "Вы разбанили игровой аккаунт %s за {00B464}300 {FFFFFF}донат очков", inputtext);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playerid][pDonate] -= 300;
}
else return SendClientMessage(playerid, COLOR_GREY, "Аккаунт не найден");
}
else return ShowPlayerDialog(playerid, 12955, DIALOG_STYLE_LIST, "« Донат »", "[1] - Пополнение\n[2] - Обменять донат очки на деньги\n[3] - Игровые привелегии\n[4] - Донат-разблокировка аккаунтов\n[5] - Купить донат код", "Выбрать", "Отмена");
}
PHP:
else if(strcmp(cmd, "/givedonate", true) == 0)
{
if(PlayerInfo[playerid][pAdmin] == 6) // Изменяем на свой лвл адм
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) return SendClientMessage(playerid, COLOR_WHITE, "Введите: /givedonate [playerid] [кол-во очков]");
new playa;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
Donate = strval(tmp);
if(PlayerInfo[playerid][pAdmin] == 6)
{
if(IsPlayerConnected(playa))
{
if(playa != INVALID_PLAYER_ID)
{
format(string, sizeof(string), "%d переведено на счет игроку", Donate);
SendClientMessage(playerid, COLOR_WHITE, string);
PlayerInfo[playa][pDonate] += Donate;
SendClientMessage(playa, COLOR_NEWS, "Пополнение доната аккаунта");
format(string, sizeof(string),"Пополнение на: {d53e07}$%d", Donate);
SendClientMessage(playa, COLOR_WHITE, string);
format(string, sizeof(string), "Донат счет: {d53e07}$%d", PlayerInfo[playa][pDonate]);
SendClientMessage(playa, COLOR_WHITE, string);
}
}
}
}
return true;
}
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
ПАРОЛЬ: pawnoПарочка скриншотов:
Последнее редактирование модератором: