PDA

Просмотр полной версии : [Мануал] Мини-игра: Сапер



Saibot
29.08.2016, 03:15
Мини-игра "Сапер"


Вам нужно будет открыть 23 ячейки, что бы не подорваться. Всего 25 ячеек в которых находится 2(две) взрывчатки.

Ко всем new


new Text:
mini_game_TD[MAX_PLAYERS][31],
mini_game_opened[MAX_PLAYERS char],
mini_game_explode[MAX_PLAYERS char],
mini_game_slot[MAX_PLAYERS][27];

const
LAST_CELL_TD = 30,
PREVIEL_MODEL_LAUNCH = 2,
PREVIEL_MODEL_ENDING = 27;

В public OnPlayerClickTextDraw(playerid, Text: clickedid)

public OnPlayerClickTextDraw(playerid, Text: clickedid)
{
if(clickedid >= mini_game_TD[playerid][2] && clickedid <= mini_game_TD[playerid][26])
{
new clicked;
for(new slot = PREVIEL_MODEL_LAUNCH; slot < PREVIEL_MODEL_ENDING; slot++)
{
if(clickedid == mini_game_TD[playerid][slot])
clicked = slot;
}
if(mini_game_slot{playerid}[clicked])
return true;

switch(random(6))
{
case 0..4:
{
mini_game_opened{playerid} ++;
PlayerPlaySound(playerid, 6801, 0.0, 0.0, 0.0);
TextDrawSetPreviewModel(mini_game_TD[playerid][clicked], 13667);
TextDrawSetPreviewRot(mini_game_TD[playerid][clicked], 0.0, 0.0, 90.0, 1.0);
}
case 5:
{
mini_game_explode{playerid} ++;
PlayerPlaySound(playerid, 17003, 0.0, 0.0, 0.0);
TextDrawSetPreviewModel(mini_game_TD[playerid][clicked], 1654);
TextDrawSetPreviewRot(mini_game_TD[playerid][clicked], 0.0, 0.0, 180.0, 1.0);
}
}
static amount_symbyl_one [] = !"Open: %d/23";
new fmt_str_one = !"Open: ",
str_amount_one[3];
#pragma unused amount_symbyl_one

valstr(str_amount_one, mini_game_opened{playerid});
strcat(fmt_str_one, str_amount_one);
strcat(fmt_str_one, !"/23");

TextDrawSetString(mini_game_TD[playerid][27], fmt_str_one);

static amount_symbyl_two [] = !"Explode: %d/2";
new fmt_str_two[sizeof amount_symbyl_two + 2 char] = !"Explode: ",
str_amount_two[3];
#pragma unused amount_symbyl_two

valstr(str_amount_two, mini_game_explode{playerid});
strcat(fmt_str_two, str_amount_two);
strcat(fmt_str_two, !"/2");

TextDrawSetString(mini_game_TD[playerid][28], fmt_str_two);
TextDrawShowForPlayer(playerid, mini_game_TD[playerid][clicked]);

mini_game_slot{playerid}[clicked] = true;
if(mini_game_opened{playerid} > 22)
{
//Выдаете приз игроку.
GameTextForPlayer(playerid, !"~g~Ты Выиграл", 500, 1);
CloseSapperGames(playerid);
}
if(mini_game_explode{playerid} > 1)
{
GameTextForPlayer(playerid, !"~r~Ты проиграл", 500, 1);
CloseSapperGames(playerid);
}
if(clickedid == mini_game_TD[playerid][29])
CloseSapperGames(playerid);
}
return true;
}

Ко всем командам

CMD:sapper(playerid)
{
const VARIABLES_PURIFICATION = 27:
for(new x = 0; x < LAST_CELL_TD; x++)
{
if(PREVIEL_MODEL_LAUNCH < x < PREVIEL_MODEL_ENDING)
{
TextDrawSetPreviewModel(mini_game_TD[playerid][x], 11704);
TextDrawSetPreviewRot(mini_game_TD[playerid][x], 0.000000, 0.000000, 0.000000, 1.000000);
}
if(x < VARIABLES_PURIFICATION)
mini_game_slot{playerid}[x] = false;

TextDrawShowForPlayer(playerid, mini_game_TD[playerid][x]);
}
SelectTextDraw(playerid, 0xFF4040AA);
return true;
}

В конец мода

stock CloseSapperGames(playerid)
{
mini_game_opened{playerid} =
mini_game_explode{playerid} = false;
CancelSelectTextDraw(playerid);
for(new i = 0; i < LAST_CELL_TD; i++)
TextDrawHideForPlayer(playerid, mini_game_TD[playerid][i]);
return true;
}

В public OnPlayerConnect(playerid)


mini_game_TD[playerid][0] = TextDrawCreate(532.000061, 120.240745, !"usebox");
TextDrawLetterSize(mini_game_TD[playerid][0], 0.000000, 31.831480);
TextDrawTextSize(mini_game_TD[playerid][0], 101.749984, 0.000000);
TextDrawBoxColor(mini_game_TD[playerid][0], 144);
TextDrawUseBox(mini_game_TD[playerid][0], true);

mini_game_TD[playerid][1] = TextDrawCreate(528.250122, 124.907409, !"usebox");
TextDrawLetterSize(mini_game_TD[playerid][1], 0.000000, 30.798044);
TextDrawTextSize(mini_game_TD[playerid][1], 105.499977, 0.000000);
TextDrawBoxColor(mini_game_TD[playerid][1], 1724697696);
TextDrawUseBox(mini_game_TD[playerid][1], true);

mini_game_TD[playerid][2] = TextDrawCreate(111.250015, 129.111038, !"New Textdraw");
mini_game_TD[playerid][3] = TextDrawCreate(170.416687, 129.111038, !"New Textdraw");
mini_game_TD[playerid][4] = TextDrawCreate(230.000061, 129.111038, !"New Textdraw");
mini_game_TD[playerid][5] = TextDrawCreate(289.166534, 129.111038, !"New Textdraw");
mini_game_TD[playerid][6] = TextDrawCreate(348.333129, 129.111038, !"New Textdraw");
mini_game_TD[playerid][7] = TextDrawCreate(407.916473, 129.111038, !"New Textdraw");
mini_game_TD[playerid][8] = TextDrawCreate(467.083068, 129.111038, !"New Textdraw");
mini_game_TD[playerid][9] = TextDrawCreate(111.666427, 198.074127, !"New Textdraw");
mini_game_TD[playerid][10] = TextDrawCreate(170.416473, 198.074127, !"New Textdraw");
mini_game_TD[playerid][11] = TextDrawCreate(229.999832, 198.074127, !"New Textdraw");
mini_game_TD[playerid][12] = TextDrawCreate(289.583312, 198.074127, !"New Textdraw");
mini_game_TD[playerid][13] = TextDrawCreate(348.749969, 198.074127, !"New Textdraw");
mini_game_TD[playerid][14] = TextDrawCreate(408.333312, 198.074127, !"New Textdraw");
mini_game_TD[playerid][15] = TextDrawCreate(467.499938, 198.074127, !"New Textdraw");
mini_game_TD[playerid][16] = TextDrawCreate(111.666709, 267.037200, !"New Textdraw");
mini_game_TD[playerid][17] = TextDrawCreate(170.416702, 267.037200, !"New Textdraw");
mini_game_TD[playerid][18] = TextDrawCreate(230.000061, 267.037200, !"New Textdraw");
mini_game_TD[playerid][19] = TextDrawCreate(290.000122, 267.037200, !"New Textdraw");
mini_game_TD[playerid][20] = TextDrawCreate(349.166809, 267.037200, !"New Textdraw");
mini_game_TD[playerid][21] = TextDrawCreate(408.750061, 267.037200, !"New Textdraw");
mini_game_TD[playerid][22] = TextDrawCreate(467.083374, 267.037200, !"New Textdraw");
mini_game_TD[playerid][23] = TextDrawCreate(111.250038, 336.000122, !"New Textdraw");
mini_game_TD[playerid][24] = TextDrawCreate(170.416732, 336.000122, !"New Textdraw");
mini_game_TD[playerid][25] = TextDrawCreate(230.416671, 336.000122, !"New Textdraw");
mini_game_TD[playerid][26] = TextDrawCreate(289.999938, 336.000122, !"New Textdraw");
for(new td = 2; td < 27; td++)
{
TextDrawLetterSize(mini_game_TD[playerid][td], 0.449999, 1.600000);
TextDrawTextSize(mini_game_TD[playerid][td], 56.250022, 65.333358);
TextDrawColor(mini_game_TD[playerid][td], -1);
TextDrawSetShadow(mini_game_TD[playerid][td], 0);
TextDrawSetOutline(mini_game_TD[playerid][td], 1);
TextDrawBackgroundColor(mini_game_TD[playerid][td], 51);
TextDrawFont(mini_game_TD[playerid][td], 5);
TextDrawSetProportional(mini_game_TD[playerid][td], 1);
TextDrawSetSelectable(mini_game_TD[playerid][td], true);
}
mini_game_TD[playerid][27] = TextDrawCreate(356.666625, 339.629547, !"Open: 0/23");
TextDrawLetterSize(mini_game_TD[playerid][27], 0.360833, 1.672592);

mini_game_TD[playerid][28] = TextDrawCreate(357.083312, 363.999938, !"Explode: 0/2");
TextDrawLetterSize(mini_game_TD[playerid][28], 0.322083, 1.734814);

for(new td = 27; td < 29; td++)
{
TextDrawAlignment(mini_game_TD[playerid][td] , 1);
TextDrawColor(mini_game_TD[playerid][td], 16711935);
TextDrawSetShadow(mini_game_TD[playerid][td], 0);
TextDrawSetOutline(mini_game_TD[playerid][td], 1);
TextDrawBackgroundColor(mini_game_TD[playerid][td], 255);
TextDrawFont(mini_game_TD[playerid][td], 2);
TextDrawSetProportional(mini_game_TD[playerid][td], 1);
}
mini_game_TD[playerid][29] = TextDrawCreate(467.083435, 351.555603, !"New Textdraw");
TextDrawLetterSize(mini_game_TD[playerid][29], 0.449999, 1.600000);
TextDrawTextSize(mini_game_TD[playerid][29], 65.833312, 72.592567);
TextDrawColor(mini_game_TD[playerid][29], -1);
TextDrawUseBox(mini_game_TD[playerid][29], true);
TextDrawSetShadow(mini_game_TD[playerid][29], 0);
TextDrawSetOutline(mini_game_TD[playerid][29], 1);
TextDrawBackgroundColor(mini_game_TD[playerid][29], 572661504);
TextDrawFont(mini_game_TD[playerid][29], 5);
TextDrawSetProportional(mini_game_TD[playerid][29], 1);
TextDrawSetSelectable(mini_game_TD[playerid][29], true);
TextDrawSetPreviewModel(mini_game_TD[playerid][29], 11711);
TextDrawSetPreviewRot(mini_game_TD[playerid][29], 0.000000, 0.000000, 0.000000, 1.000000);

mini_game_TD[playerid][30] = TextDrawCreate(262.916656, 89.703704, !"Mini-Game");
TextDrawLetterSize(mini_game_TD[playerid][30], 0.631250, 3.067406);
TextDrawAlignment(mini_game_TD[playerid][30], 1);
TextDrawColor(mini_game_TD[playerid][30], -1378294017);
TextDrawUseBox(mini_game_TD[playerid][30], true);
TextDrawBoxColor(mini_game_TD[playerid][30], 0);
TextDrawSetShadow(mini_game_TD[playerid][30], 0);
TextDrawSetOutline(mini_game_TD[playerid][30], 3);
TextDrawBackgroundColor(mini_game_TD[playerid][30], 51);
TextDrawFont(mini_game_TD[playerid][30], 3);
TextDrawSetProportional(mini_game_TD[playerid][30], 1);

Что бы начать игру введите /sapper.


[SIZE=2]Скриншоты: << Ссылка >> (http://imgur.com/a/bwbUL)

Автор: Saibot