Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Система кейсов.

Статус
В этой теме нельзя размещать новые ответы.

Крепняк

Новичок
Доброго времени суток, пользователи и гости данного портала.
Хотел бы с вами поделиться такой интересной и не сложной системой кейсов.​

Вариант №1​

Команда.​

Код:
CMD:opencase(playerid)
{
 	if(PlayerInfo[playerid][pDonate] < 15000) return SendClientMessage(playerid, COLOR_GREY, "Вы не имеете 15.000 доната.");
	if(GetPVarInt(playerid,"opencase") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Вы уже открыли кейс. Следующий кейс можно открыть через 30 секунд!");
	SetPVarInt(playerid,"opencase",gettime()+30);
 	new string[150];
	switch(random(45))
	{
	    case 0..5: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+10.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=10000; }
 	    case 6..11: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+15.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=15000; }
 	    case 12..14: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+30.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=30000; }
 	    case 15..17: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+1РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=1; }
 	    case 18..21: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+5РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=5; }
 	    case 22..25: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+10РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=10; }
	    case 26..28: {
	    	format(string, sizeof(string), "{E60008}[JACKPOT] %s открывает Донат-кейс и ему выпадает: {6181F5}+103РУБ. Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=103; }
 	    case 29..33: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}НИЧЕГО. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string); }
 	    case 34..37: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BF57A}AK-47. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), GiveWeapon(playerid, 30, 300); }
 	    case 38..40: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}+3 часа игры. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pExp] += 3; }
 	    case 41..43: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}40 грамм Кокаина. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][p_drugs][0] += 40; }
		case 44..45: {
			format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {EC1E09}HELPER 4 LVL. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
	    	SendClientMessageToAll(-1, string);
			PlayerInfo[playerid][pHelper] = 4;
			PlayerInfo[playerid][pHotvet] = 0;
			UpdatePlayerData("UPDATE `"TABLE_ACCOUNT"` SET `helper` = '4', `helper_asks` = '0' WHERE `id` = '%d'", PlayerInfo[playerid][pID]); }
			}
	PlayerInfo[playerid][pDonate] -= 15000;
	return true;
}

Вариант №2​

Enum / Массивы.​
Код:
pRule

Команды.​

Код:
CMD:buycase(playerid)
{
    if(PlayerInfo[playerid][pDonatemoney2] < 15000) return SendClientMessage(playerid,COLOR_GREY, "Для открытия этого кейса вам необходимо иметь 15.000 DonateMoney.");
   	PlayerInfo[playerid][pRule] += 1; SendClientMessage(playerid, COLOR_GREY, "Вы успешно купили кейс. Открыть: /opencase");
	PlayerInfo[playerid][pDonatemoney2] -= 15000;
	UpdatePlayerData("UPDATE `"TABLE_ACCOUNT"` SET `rule` = '%d', `donate` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pRule], PlayerInfo[playerid][pDonatemoney2], PlayerInfo[playerid][pID]);
	return true;
}
CMD:opencase(playerid)
{
 	if(PlayerInfo[playerid][pRule] < 1) return SendClientMessage(playerid, COLOR_GREY, "Вы не имеете кейса. Купить: /buycase");
	if(GetPVarInt(playerid,"opencase") > gettime()) return SendClientMessage(playerid, COLOR_GREY, "Вы уже открыли кейс. Следующий кейс можно открыть через 30 секунд!");
	SetPVarInt(playerid,"opencase",gettime()+30);
 	new string[150];
	switch(random(45))
	{
	    case 0..5: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+10.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=10000; }
 	    case 6..11: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+15.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=15000; }
 	    case 12..14: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {6153F5}+30.000 донат-очков. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonatemoney2] +=30000; }
 	    case 15..17: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+1РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=1; }
 	    case 18..21: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+5РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=5; }
 	    case 22..25: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BDFF5}+10РУБ. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=10; }
	    case 26..28: {
	    	format(string, sizeof(string), "{E60008}[JACKPOT] %s открывает Донат-кейс и ему выпадает: {6181F5}+103РУБ. Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pDonateRub] +=103; }
 	    case 29..33: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}НИЧЕГО. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string); }
 	    case 34..37: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {1BF57A}AK-47. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), GiveWeapon(playerid, 30, 300); }
 	    case 38..40: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}+3 часа игры. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][pExp] += 3; }
 	    case 41..43: {
	    	format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {C553F5}40 грамм Кокаина. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
		    SendClientMessageToAll(-1, string), PlayerInfo[playerid][p_drugs][0] += 40; }
		case 44..45: {
			format(string, sizeof(string), "{FFD700}[CASE] %s открывает Донат-кейс и ему выпадает: {EC1E09}HELPER 4 LVL. {FFD700}Поздравим!", PlayerInfo[playerid][pNames]);
	    	SendClientMessageToAll(-1, string);
			PlayerInfo[playerid][pHelper] = 4;
			PlayerInfo[playerid][pHotvet] = 0;
			UpdatePlayerData("UPDATE `"TABLE_ACCOUNT"` SET `helper` = '4', `helper_asks` = '0' WHERE `id` = '%d'", PlayerInfo[playerid][pID]); }
			}
	PlayerInfo[playerid][pRule] -= 1;
	UpdatePlayerData("UPDATE `"TABLE_ACCOUNT"` SET `rule` = '%d', `rub` = '%d' WHERE `id` = '%d'", PlayerInfo[playerid][pRule], PlayerInfo[playerid][pDonateRub], PlayerInfo[playerid][pID]);
	return true;
}

Обновление / Сохранение.​

Код:
[B][I]rule = '%d'
PlayerInfo[playerid][pRule]

cache_get_value_name_int(0, "rule", PlayerInfo[playerid][pRule]);[/I][/B]

Скриншот.​

Знаете как улучшить код? Пишите в комментарий свой вариант.
У кого появились вопросы, задавайте не стесняйтесь. Ничего сложного.​

Не откажусь от "Спасибо".​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу