Система кейсов, данная система отлично подойдёт для сервера с жанром drift + dm
Начнём же.
Ко всем переменным new
new Text:SystemCase[13];

Теперь текстдравы
OnGameModeInit текстдравы [Показать]
SystemCase[0] = TextDrawCreate(201.5000, 141.4665, "Box"); // nope TextDrawLetterSize(SystemCase[0], 0.0000, 12.6000); TextDrawTextSize(SystemCase[0], 433.0000, 0.0000); TextDrawAlignment(SystemCase[0], 1); TextDrawColor(SystemCase[0], -1); TextDrawUseBox(SystemCase[0], 1); TextDrawBoxColor(SystemCase[0], -1); TextDrawSetOutline(SystemCase[0], 0); TextDrawBackgroundColor(SystemCase[0], -1); TextDrawFont(SystemCase[0], 1); TextDrawSetProportional(SystemCase[0], 1); TextDrawSetShadow(SystemCase[0], 0); SystemCase[1] = TextDrawCreate(201.0000, 141.4665, "Box"); // nope TextDrawLetterSize(SystemCase[1], 0.0000, -1.2999); TextDrawTextSize(SystemCase[1], 433.0000, 0.0000); TextDrawAlignment(SystemCase[1], 1); TextDrawColor(SystemCase[1], -1); TextDrawUseBox(SystemCase[1], 1); TextDrawBoxColor(SystemCase[1], -5963521); TextDrawSetOutline(SystemCase[1], 0); TextDrawBackgroundColor(SystemCase[1], 255); TextDrawFont(SystemCase[1], 1); TextDrawSetProportional(SystemCase[1], 1); TextDrawSetShadow(SystemCase[1], 0); SystemCase[2] = TextDrawCreate(201.5000, 264.6665, "Box"); // nope TextDrawLetterSize(SystemCase[2], 0.0000, -1.2999); TextDrawTextSize(SystemCase[2], 433.0000, 0.0000); TextDrawAlignment(SystemCase[2], 1); TextDrawColor(SystemCase[2], -1); TextDrawUseBox(SystemCase[2], 1); TextDrawBoxColor(SystemCase[2], -5963521); TextDrawSetOutline(SystemCase[2], 0); TextDrawBackgroundColor(SystemCase[2], 255); TextDrawFont(SystemCase[2], 1); TextDrawSetProportional(SystemCase[2], 1); TextDrawSetShadow(SystemCase[2], 0); SystemCase[3] = TextDrawCreate(200.0000, 135.2442, "Box"); // nope TextDrawLetterSize(SystemCase[3], 0.0000, 13.8500); TextDrawTextSize(SystemCase[3], 202.0000, 0.0000); TextDrawAlignment(SystemCase[3], 1); TextDrawColor(SystemCase[3], -1); TextDrawUseBox(SystemCase[3], 1); TextDrawBoxColor(SystemCase[3], -5963521); TextDrawSetOutline(SystemCase[3], 0); TextDrawBackgroundColor(SystemCase[3], 255); TextDrawFont(SystemCase[3], 1); TextDrawSetProportional(SystemCase[3], 1); TextDrawSetShadow(SystemCase[3], 0); SystemCase[4] = TextDrawCreate(434.0000, 135.2442, "Box"); // nope TextDrawLetterSize(SystemCase[4], 0.0000, 13.8500); TextDrawTextSize(SystemCase[4], 436.0000, 0.0000); TextDrawAlignment(SystemCase[4], 1); TextDrawColor(SystemCase[4], -1); TextDrawUseBox(SystemCase[4], 1); TextDrawBoxColor(SystemCase[4], -5963521); TextDrawSetOutline(SystemCase[4], 0); TextDrawBackgroundColor(SystemCase[4], 255); TextDrawFont(SystemCase[4], 1); TextDrawSetProportional(SystemCase[4], 1); TextDrawSetShadow(SystemCase[4], 0); SystemCase[5] = TextDrawCreate(348.0000, 142.5554, ""); // nope TextDrawLetterSize(SystemCase[5], 0.0000, 0.0000); TextDrawTextSize(SystemCase[5], 93.0000, 107.0000); TextDrawAlignment(SystemCase[5], 1); TextDrawColor(SystemCase[5], -1); TextDrawSetOutline(SystemCase[5], 0); TextDrawBackgroundColor(SystemCase[5], 0); TextDrawFont(SystemCase[5], 5); TextDrawSetProportional(SystemCase[5], 0); TextDrawSetShadow(SystemCase[5], 0); TextDrawSetSelectable(SystemCase[5], true); TextDrawSetPreviewModel(SystemCase[5], 19058); TextDrawSetPreviewRot(SystemCase[5], 330.0000, 360.0000, 313.0000, 0.9624); SystemCase[6] = TextDrawCreate(274.0000, 143.1776, ""); // nope TextDrawLetterSize(SystemCase[6], 0.0000, 0.0000); TextDrawTextSize(SystemCase[6], 93.0000, 107.0000); TextDrawAlignment(SystemCase[6], 1); TextDrawColor(SystemCase[6], -1); TextDrawSetOutline(SystemCase[6], 0); TextDrawBackgroundColor(SystemCase[6], 0); TextDrawFont(SystemCase[6], 5); TextDrawSetProportional(SystemCase[6], 0); TextDrawSetShadow(SystemCase[6], 0); TextDrawSetSelectable(SystemCase[6], true); TextDrawSetPreviewModel(SystemCase[6], 19055); TextDrawSetPreviewRot(SystemCase[6], 330.0000, 360.0000, 313.0000, 0.9624); SystemCase[7] = TextDrawCreate(198.1666, 141.3110, ""); // nope TextDrawLetterSize(SystemCase[7], 0.0000, 0.0000); TextDrawTextSize(SystemCase[7], 93.0000, 107.0000); TextDrawAlignment(SystemCase[7], 1); TextDrawColor(SystemCase[7], -1); TextDrawSetOutline(SystemCase[7], 0); TextDrawBackgroundColor(SystemCase[7], 0); TextDrawFont(SystemCase[7], 5); TextDrawSetProportional(SystemCase[7], 0); TextDrawSetShadow(SystemCase[7], 0); TextDrawSetSelectable(SystemCase[7], true); TextDrawSetPreviewModel(SystemCase[7], 19054); TextDrawSetPreviewRot(SystemCase[7], 330.0000, 360.0000, 313.0000, 0.9624); SystemCase[8] = TextDrawCreate(367.0000, 242.2667, "Vip Case"); // nope TextDrawLetterSize(SystemCase[8], 0.4135, 1.4567); TextDrawAlignment(SystemCase[8], 1); TextDrawColor(SystemCase[8], 11206570); TextDrawSetOutline(SystemCase[8], 0); TextDrawBackgroundColor(SystemCase[8], 255); TextDrawFont(SystemCase[8], 1); TextDrawSetProportional(SystemCase[8], 1); TextDrawSetShadow(SystemCase[8], 0); SystemCase[9] = TextDrawCreate(280.5000, 241.6444, "Money Case"); // nope TextDrawLetterSize(SystemCase[9], 0.4135, 1.4567); TextDrawAlignment(SystemCase[9], 1); TextDrawColor(SystemCase[9], 11206570); TextDrawSetOutline(SystemCase[9], 0); TextDrawBackgroundColor(SystemCase[9], 255); TextDrawFont(SystemCase[9], 1); TextDrawSetProportional(SystemCase[9], 1); TextDrawSetShadow(SystemCase[9], 0); SystemCase[10] = TextDrawCreate(208.8332, 241.8519, "Kills Case"); // nope TextDrawLetterSize(SystemCase[10], 0.4135, 1.4567); TextDrawAlignment(SystemCase[10], 1); TextDrawColor(SystemCase[10], 11206570); TextDrawSetOutline(SystemCase[10], 0); TextDrawBackgroundColor(SystemCase[10], 255); TextDrawFont(SystemCase[10], 1); TextDrawSetProportional(SystemCase[10], 1); TextDrawSetShadow(SystemCase[10], 0); SystemCase[11] = TextDrawCreate(401.5000, 264.6666, "Box"); // nope TextDrawLetterSize(SystemCase[11], 0.0000, 1.0499); TextDrawTextSize(SystemCase[11], 435.0000, 0.0000); TextDrawAlignment(SystemCase[11], 1); TextDrawColor(SystemCase[11], -1); TextDrawUseBox(SystemCase[11], 1); TextDrawBoxColor(SystemCase[11], -1); TextDrawSetOutline(SystemCase[11], 0); TextDrawBackgroundColor(SystemCase[11], 255); TextDrawFont(SystemCase[11], 1); TextDrawSetProportional(SystemCase[11], 1); TextDrawSetShadow(SystemCase[11], 0); SystemCase[12] = TextDrawCreate(408.0000, 260.3111, "Exit"); // nope TextDrawLetterSize(SystemCase[12], 0.4000, 1.6000); TextDrawAlignment(SystemCase[12], 1); TextDrawColor(SystemCase[12], -5963521); TextDrawSetOutline(SystemCase[12], 0); TextDrawBackgroundColor(SystemCase[12], 255); TextDrawFont(SystemCase[12], 1); TextDrawSetProportional(SystemCase[12], 1); TextDrawSetShadow(SystemCase[12], 0); TextDrawSetSelectable(SystemCase[12], true);

Добавляем команду
Команда [Показать]
if(strcmp(cmd, "/case", true) == 0) { SendClientMessage(playerid, 0x00FFAAFF, "Цена Vip кейса - состовляет 15.000.000$\nЦена Money кейса - состовляет 10.000.000$\nЦена Kills кейса - состовляет 5.000.000$"); TextDrawShowForPlayer(playerid, SystemCase[0]); TextDrawShowForPlayer(playerid, SystemCase[1]); TextDrawShowForPlayer(playerid, SystemCase[2]); TextDrawShowForPlayer(playerid, SystemCase[3]); TextDrawShowForPlayer(playerid, SystemCase[4]); TextDrawShowForPlayer(playerid, SystemCase[5]); TextDrawShowForPlayer(playerid, SystemCase[6]); TextDrawShowForPlayer(playerid, SystemCase[7]); TextDrawShowForPlayer(playerid, SystemCase[8]); TextDrawShowForPlayer(playerid, SystemCase[9]); TextDrawShowForPlayer(playerid, SystemCase[10]); TextDrawShowForPlayer(playerid, SystemCase[11]); TextDrawShowForPlayer(playerid, SystemCase[12]); SelectTextDraw(playerid, 0xFF4040AA); return 1; }

Нажатие на подарочки.
public OnPlayerClickTextDraw(playerid, Text:clickedid) [Показать]
if(clickedid == SystemCase[5]) { new string[256]; new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME); if(GetPVarInt(playerid, "PlMon") < 15000000)//проверка на деньги у каждого своя { SendClientMessage(playerid, COLOR_RED, "У Вас недостаточно денег."); } else { SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") - 15000000);//переменная денег у каждого своя format(string,sizeof(string),"[Система Кейсов]{FF0000} Игрок %s[%d] открыл VIP CASE {7BFFFF}(/case)",PlayerName,playerid); SendClientMessageToAll(COLOR_WHITE,string); new g = random(4); switch(g) { case 0:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпала {FFFF00}(VIP-1)"); PlayerInfo[playerid][pVIP] = 1;}//переменная VIP у каждого своя case 1:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпала {FFFF00}(VIP-2)"); PlayerInfo[playerid][pVIP] = 2;} case 2:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпала {FFFF00}(VIP-3)"); PlayerInfo[playerid][pVIP] = 3;} case 3:{SendClientMessage(playerid, 0x9E7BFFFF, "Тебе не чего не выпало :(");} } TextDrawHideForPlayer(playerid, SystemCase[0]); TextDrawHideForPlayer(playerid, SystemCase[1]); TextDrawHideForPlayer(playerid, SystemCase[2]); TextDrawHideForPlayer(playerid, SystemCase[3]); TextDrawHideForPlayer(playerid, SystemCase[4]); TextDrawHideForPlayer(playerid, SystemCase[5]); TextDrawHideForPlayer(playerid, SystemCase[6]); TextDrawHideForPlayer(playerid, SystemCase[7]); TextDrawHideForPlayer(playerid, SystemCase[8]); TextDrawHideForPlayer(playerid, SystemCase[9]); TextDrawHideForPlayer(playerid, SystemCase[10]); TextDrawHideForPlayer(playerid, SystemCase[11]); TextDrawHideForPlayer(playerid, SystemCase[12]); CancelSelectTextDraw(playerid); } } if(clickedid == SystemCase[6]) { new string[256]; new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME); if(GetPVarInt(playerid, "PlMon") < 10000000)//проверка на деньги у каждого своя { SendClientMessage(playerid, COLOR_RED, "У Вас недостаточно денег."); } else { SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") - 10000000);//переменная денег у каждого своя format(string,sizeof(string),"[Система Кейсов]{FF0000} Игрок %s[%d] открыл Money CASE {7BFFFF}(/case)",PlayerName,playerid); SendClientMessageToAll(COLOR_WHITE,string); new g = random(9); switch(g) { case 0:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (3.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 3000000);}//переменная денег у каждого своя case 1:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (5.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 5000000);} case 2:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (7.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 7000000);} case 3:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (10.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 10000000);} case 4:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (12.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 12000000);} case 5:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (14.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 14000000);} case 6:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (15.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 15000000);} case 7:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (20.000.000$)"); SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") + 20000000);} case 8:{SendClientMessage(playerid, 0x9E7BFFFF, "Тебе не чего не выпало :(");} } TextDrawHideForPlayer(playerid, SystemCase[0]); TextDrawHideForPlayer(playerid, SystemCase[1]); TextDrawHideForPlayer(playerid, SystemCase[2]); TextDrawHideForPlayer(playerid, SystemCase[3]); TextDrawHideForPlayer(playerid, SystemCase[4]); TextDrawHideForPlayer(playerid, SystemCase[5]); TextDrawHideForPlayer(playerid, SystemCase[6]); TextDrawHideForPlayer(playerid, SystemCase[7]); TextDrawHideForPlayer(playerid, SystemCase[8]); TextDrawHideForPlayer(playerid, SystemCase[9]); TextDrawHideForPlayer(playerid, SystemCase[10]); TextDrawHideForPlayer(playerid, SystemCase[11]); TextDrawHideForPlayer(playerid, SystemCase[12]); CancelSelectTextDraw(playerid); } } if(clickedid == SystemCase[7]) { new string[256]; new PlayerName[MAX_PLAYER_NAME]; GetPlayerName(playerid,PlayerName,MAX_PLAYER_NAME); if(GetPVarInt(playerid, "PlMon") < 5000000)//проверка на деньги у каждого своя { SendClientMessage(playerid, COLOR_RED, "У Вас недостаточно денег."); } else { SetPVarInt(playerid, "PlMon", GetPVarInt(playerid, "PlMon") - 5000000);//переменная денег у каждого своя format(string,sizeof(string),"[Система Кейсов]{FF0000} Игрок %s[%d] открыл Kills CASE {7BFFFF}(/case)",PlayerName,playerid); SendClientMessageToAll(COLOR_WHITE,string); new g = random(8); switch(g) { case 1:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (40) киллов"); PlayerInfo[playerid][pKills] += 40;}//переменные Kills case 2:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (60) киллов"); PlayerInfo[playerid][pKills] += 60;} case 3:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (100) киллов"); PlayerInfo[playerid][pKills] += 100;} case 4:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (150) киллов"); PlayerInfo[playerid][pKills] += 150;} case 5:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (200) киллов"); PlayerInfo[playerid][pKills] += 200;} case 6:{SendClientMessage(playerid, 0x9E7BFFFF, "Ты открыл кейс и тебе выпало (250) киллов"); PlayerInfo[playerid][pKills] += 250;} case 7:{SendClientMessage(playerid, 0x9E7BFFFF, "Тебе не чего не выпало :(");} } TextDrawHideForPlayer(playerid, SystemCase[0]); TextDrawHideForPlayer(playerid, SystemCase[1]); TextDrawHideForPlayer(playerid, SystemCase[2]); TextDrawHideForPlayer(playerid, SystemCase[3]); TextDrawHideForPlayer(playerid, SystemCase[4]); TextDrawHideForPlayer(playerid, SystemCase[5]); TextDrawHideForPlayer(playerid, SystemCase[6]); TextDrawHideForPlayer(playerid, SystemCase[7]); TextDrawHideForPlayer(playerid, SystemCase[8]); TextDrawHideForPlayer(playerid, SystemCase[9]); TextDrawHideForPlayer(playerid, SystemCase[10]); TextDrawHideForPlayer(playerid, SystemCase[11]); TextDrawHideForPlayer(playerid, SystemCase[12]); CancelSelectTextDraw(playerid); } } if(clickedid == SystemCase[12])//Кнопка Exit { TextDrawHideForPlayer(playerid, SystemCase[0]); TextDrawHideForPlayer(playerid, SystemCase[1]); TextDrawHideForPlayer(playerid, SystemCase[2]); TextDrawHideForPlayer(playerid, SystemCase[3]); TextDrawHideForPlayer(playerid, SystemCase[4]); TextDrawHideForPlayer(playerid, SystemCase[5]); TextDrawHideForPlayer(playerid, SystemCase[6]); TextDrawHideForPlayer(playerid, SystemCase[7]); TextDrawHideForPlayer(playerid, SystemCase[8]); TextDrawHideForPlayer(playerid, SystemCase[9]); TextDrawHideForPlayer(playerid, SystemCase[10]); TextDrawHideForPlayer(playerid, SystemCase[11]); TextDrawHideForPlayer(playerid, SystemCase[12]); CancelSelectTextDraw(playerid); }

Скриншоты: https://imgur.com/a/hfViX
Если вам понравилось моё готовое решение поставьте "+сик"
Автор: Rodger_Camillo
Сообщение отредактировал Rodger_Camillo: 05 ноября 2017 - 20:21