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

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

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

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

Мануал Крестики-Нолики

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

Thomas_Makaveli

Мастер
Итак, всем привет. Вот вам небольшой мануал игры в крестики нолики, по нажатию кнопок Y и N (согласие)
Автор: я (Thomas_Makaveli)
Причина работы: Как-то делал для Advance RolePlay. Внизу видео.
Начнем:

Ко всем NEW

PHP:
main(){}
new Text:GameTD[11],PlayerText:MyGame[MAX_PLAYERS][9],kvadrat[MAX_PLAYERS][9];
В public OnPlayerCommandText, добавляем команду:

PHP:
	if(strcmp(cmd, "/kn", true) == 0)
	{
	    tmp = strcharsplit(cmdtext, idx);
		if(!strlen(tmp)) return	SendClientMessage(playerid, -1, "Введите: /kn [id]");
		giveplayerid = ReturnUser(tmp);
		if(giveplayerid == playerid) return SendClientMessage(playerid,-1,"Вы указали свой ID.");
		if(GetPVarInt(giveplayerid,"GOGAME") != 999) return SendClientMessage(playerid,-1,"Игрок уже играет.");
		if (!ProxDetectorS(10.0, playerid, giveplayerid)) return SendClientMessage(playerid,-1,"Вы слишком далеко от игрока.");
		new n1[24],n2[24];
		GetPlayerName(playerid,n1,sizeof(n1));
		GetPlayerName(giveplayerid,n2,sizeof(n2));
		format(stringer,sizeof(stringer),"Вы предложили игроку %s сыграть в крестики-нолики.",n2);
		SendClientMessage(playerid,0x6495EDFF,stringer);
		format(stringer,sizeof(stringer),"%s предложил вам сыграть в крестики-нолики.",n1);
		SendClientMessage(giveplayerid,0x6495EDFF,stringer  );
		SendClientMessage(giveplayerid,-1, "Нажмите {48FC23}Y {FFFFFF}чтобы согласиться {FF0000}N {FFFFFF}для отказа");
		SetPVarInt(giveplayerid,"KN",playerid);
		return true;
	}
Добавляем сами TD

PHP:
 GameTD[0] = TextDrawCreate(250.000000, 120.000000, "_");
	TextDrawBackgroundColor(GameTD[0], 255);
	TextDrawFont(GameTD[0], 1);
	TextDrawLetterSize(GameTD[0], 0.500000, 15.699991);
	TextDrawColor(GameTD[0], 0xFFFF00FF);
	TextDrawSetOutline(GameTD[0], 0);
	TextDrawSetProportional(GameTD[0], 1);
	TextDrawSetShadow(GameTD[0], 1);
	TextDrawUseBox(GameTD[0], 1);
	TextDrawBoxColor(GameTD[0], -1);
	TextDrawTextSize(GameTD[0], 392.000000, 24.000000);
	TextDrawSetSelectable(GameTD[0], 0);

	GameTD[1] = TextDrawCreate(250.000000, 120.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[1], 0xFFFFFF00);
	TextDrawFont(GameTD[1], 5);
	TextDrawLetterSize(GameTD[1], 0.500000, 1.000000);
	TextDrawColor(GameTD[1], -1);
	TextDrawSetOutline(GameTD[1], 0);
	TextDrawSetProportional(GameTD[1], 1);
	TextDrawSetShadow(GameTD[1], 1);
	TextDrawUseBox(GameTD[1], 1);
	TextDrawBoxColor(GameTD[1], 0xFFFFFF00);
	TextDrawTextSize(GameTD[1], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[1], 19461);
	TextDrawSetPreviewRot(GameTD[1], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[1], 1);

	GameTD[2] = TextDrawCreate(298.000000, 120.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[2], 0xFFFFFF00);
	TextDrawFont(GameTD[2], 5);
	TextDrawLetterSize(GameTD[2], 0.500000, 1.000000);
	TextDrawColor(GameTD[2], -1);
	TextDrawSetOutline(GameTD[2], 0);
	TextDrawSetProportional(GameTD[2], 1);
	TextDrawSetShadow(GameTD[2], 1);
	TextDrawUseBox(GameTD[2], 1);
	TextDrawBoxColor(GameTD[2], 0xFFFFFF00);
	TextDrawTextSize(GameTD[2], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[2], 19461);
	TextDrawSetPreviewRot(GameTD[2], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[2], 1);

	GameTD[3] = TextDrawCreate(347.000000, 120.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[3], 0xFFFFFF00);
	TextDrawFont(GameTD[3], 5);
	TextDrawLetterSize(GameTD[3], 0.500000, 1.000000);
	TextDrawColor(GameTD[3], -1);
	TextDrawSetOutline(GameTD[3], 0);
	TextDrawSetProportional(GameTD[3], 1);
	TextDrawSetShadow(GameTD[3], 1);
	TextDrawUseBox(GameTD[3], 1);
	TextDrawBoxColor(GameTD[3], 0xFFFFFF00);
	TextDrawTextSize(GameTD[3], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[3], 19461);
	TextDrawSetPreviewRot(GameTD[3], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[3], 1);

	GameTD[4] = TextDrawCreate(250.000000, 168.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[4], 0xFFFFFF00);
	TextDrawFont(GameTD[4], 5);
	TextDrawLetterSize(GameTD[4], 0.500000, 1.000000);
	TextDrawColor(GameTD[4], -1);
	TextDrawSetOutline(GameTD[4], 0);
	TextDrawSetProportional(GameTD[4], 1);
	TextDrawSetShadow(GameTD[4], 1);
	TextDrawUseBox(GameTD[4], 1);
	TextDrawBoxColor(GameTD[4], 0xFFFFFF00);
	TextDrawTextSize(GameTD[4], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[4], 19461);
	TextDrawSetPreviewRot(GameTD[4], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[4], 1);

	GameTD[5] = TextDrawCreate(298.000000, 168.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[5], 0xFFFFFF00);
	TextDrawFont(GameTD[5], 5);
	TextDrawLetterSize(GameTD[5], 0.500000, 1.000000);
	TextDrawColor(GameTD[5], -1);
	TextDrawSetOutline(GameTD[5], 0);
	TextDrawSetProportional(GameTD[5], 1);
	TextDrawSetShadow(GameTD[5], 1);
	TextDrawUseBox(GameTD[5], 1);
	TextDrawBoxColor(GameTD[5], 0xFFFFFF00);
	TextDrawTextSize(GameTD[5], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[5], 19461);
	TextDrawSetPreviewRot(GameTD[5], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[5], 1);

	GameTD[6] = TextDrawCreate(347.000000, 168.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[6], 0xFFFFFF00);
	TextDrawFont(GameTD[6], 5);
	TextDrawLetterSize(GameTD[6], 0.500000, 1.000000);
	TextDrawColor(GameTD[6], -1);
	TextDrawSetOutline(GameTD[6], 0);
	TextDrawSetProportional(GameTD[6], 1);
	TextDrawSetShadow(GameTD[6], 1);
	TextDrawUseBox(GameTD[6], 1);
	TextDrawBoxColor(GameTD[6], 0xFFFFFF00);
	TextDrawTextSize(GameTD[6], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[6], 19461);
	TextDrawSetPreviewRot(GameTD[6], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[6], 1);

	GameTD[7] = TextDrawCreate(250.000000, 216.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[7], 0xFFFFFF00);
	TextDrawFont(GameTD[7], 5);
	TextDrawLetterSize(GameTD[7], 0.500000, 1.000000);
	TextDrawColor(GameTD[7], -1);
	TextDrawSetOutline(GameTD[7], 0);
	TextDrawSetProportional(GameTD[7], 1);
	TextDrawSetShadow(GameTD[7], 1);
	TextDrawUseBox(GameTD[7], 1);
	TextDrawBoxColor(GameTD[7], 0xFFFFFF00);
	TextDrawTextSize(GameTD[7], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[7], 19461);
	TextDrawSetPreviewRot(GameTD[7], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[7], 1);

	GameTD[8] = TextDrawCreate(298.000000, 216.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[8], 0xFFFFFF00);
	TextDrawFont(GameTD[8], 5);
	TextDrawLetterSize(GameTD[8], 0.500000, 1.000000);
	TextDrawColor(GameTD[8], -1);
	TextDrawSetOutline(GameTD[8], 0);
	TextDrawSetProportional(GameTD[8], 1);
	TextDrawSetShadow(GameTD[8], 1);
	TextDrawUseBox(GameTD[8], 1);
	TextDrawBoxColor(GameTD[8], 0xFFFFFF00);
	TextDrawTextSize(GameTD[8], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[8], 19461);
	TextDrawSetPreviewRot(GameTD[8], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[8], 1);

	GameTD[9] = TextDrawCreate(347.000000, 216.000000, "New Textdraw");
	TextDrawBackgroundColor(GameTD[9], 0xFFFFFF00);
	TextDrawFont(GameTD[9], 5);
	TextDrawLetterSize(GameTD[9], 0.500000, 1.000000);
	TextDrawColor(GameTD[9], -1);
	TextDrawSetOutline(GameTD[9], 0);
	TextDrawSetProportional(GameTD[9], 1);
	TextDrawSetShadow(GameTD[9], 1);
	TextDrawUseBox(GameTD[9], 1);
	TextDrawBoxColor(GameTD[9], 0xFFFFFF00);
	TextDrawTextSize(GameTD[9], 45.000000, 45.000000);
	TextDrawSetPreviewModel(GameTD[9], 19461);
	TextDrawSetPreviewRot(GameTD[9], 0.000000, 0.000000, 90.000000, 0.000090);
	TextDrawSetSelectable(GameTD[9], 1);

	GameTD[10] = TextDrawCreate(388.000000, 112.000000,"LD_BEAT:cross");
	TextDrawFont(GameTD[10],4);
	TextDrawLetterSize(GameTD[10],0.3,0.4);
	TextDrawTextSize(GameTD[10], 15.000,14.500);
	TextDrawColor(GameTD[10],-1);
	TextDrawSetSelectable(GameTD[10], 1);
Теперь создадим:

PHP:
public OnPlayerClickTextDraw(playerid, Text:clickedid)
{
	if(_:clickedid != INVALID_TEXT_DRAW)
	{
		for(new td = 1; td < 10; td++)
		{
		    if(clickedid == GameTD[td])
		    {
		        if(GetPVarInt(playerid,"HOD") == 0) return SendClientMessage(playerid,0xFF0B03FF,"Сейчас не ваш ход.");
		        if(kvadrat[playerid][td-1] != 0 || kvadrat[GetPVarInt(playerid,"GOGAME")][td-1] != 0) return SendClientMessage(playerid,-1,"В этой ячейке стоит елемент.");
				new  ob[14];
				if(GetPVarInt(playerid,"STATGAME") == 1) ob = "O";
	            if(GetPVarInt(playerid,"STATGAME") == 2) ob = "X";
	            kvadrat[playerid][td-1] = 1;
	            PlayerTextDrawSetString(playerid,MyGame[playerid][td-1],ob);
	            PlayerTextDrawSetString(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][td-1],ob);
                if(GetPVarInt(playerid,"STATGAME") == 1)
                {
	                PlayerTextDrawColor(playerid,MyGame[playerid][td-1], 0xF94ADFFF);
	                PlayerTextDrawColor(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][td-1], 0xF94ADFFF);
				}
				if(GetPVarInt(playerid,"STATGAME") == 2)
                {
	                PlayerTextDrawColor(playerid,MyGame[playerid][td-1], 0xE4F94AFF);
	                PlayerTextDrawColor(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][td-1], 0xE4F94AFF);
				}
	            PlayerTextDrawShow(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][td-1]);
	            PlayerTextDrawShow(playerid,MyGame[playerid][td-1]);

	            DeletePVar(playerid,"HOD");
	            SetPVarInt(GetPVarInt(playerid,"GOGAME"),"HOD",1);
				if(CHECKGAME(playerid)) // победа
				{

	   				for(new i; i < 11; i++) TextDrawHideForPlayer(GetPVarInt(playerid,"GOGAME"),GameTD[i]);
					SelectTextDraw(GetPVarInt(playerid,"GOGAME"), 0x20B2AAFF);
					for(new i; i < 9; i++) PlayerTextDrawHide(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][i]);
					CancelSelectTextDraw(GetPVarInt(playerid,"GOGAME"));

					for(new i; i < 11; i++) TextDrawHideForPlayer(playerid,GameTD[i]);
					SelectTextDraw(playerid, 0x20B2AAFF);
					for(new i; i < 9; i++) PlayerTextDrawHide(playerid,MyGame[playerid][i]);
					CancelSelectTextDraw(playerid);
					SendClientMessage(GetPVarInt(playerid,"GOGAME"),0xFF6803FF,"К сожелению, Вы проиграли.");
					SendClientMessage(playerid,0x37FA00FF,"Поздравляем, Вы выиграли.");
					DeletePVar(playerid,"HOD");
					DeletePVar(GetPVarInt(playerid,"GOGAME"),"HOD");
					SetPVarInt(GetPVarInt(playerid,"GOGAME"),"GOGAME",999);
					SetPVarInt(playerid,"GOGAME",999);
					return true;
				}
				if(CHECKEND(playerid)) // Ничья
				{
				    for(new i; i < 11; i++) TextDrawHideForPlayer(GetPVarInt(playerid,"GOGAME"),GameTD[i]);
					SelectTextDraw(GetPVarInt(playerid,"GOGAME"), 0x20B2AAFF);
					for(new i; i < 9; i++) PlayerTextDrawHide(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][i]);
					CancelSelectTextDraw(GetPVarInt(playerid,"GOGAME"));

					for(new i; i < 11; i++) TextDrawHideForPlayer(playerid,GameTD[i]);
					SelectTextDraw(playerid, 0x20B2AAFF);
					for(new i; i < 9; i++) PlayerTextDrawHide(playerid,MyGame[playerid][i]);
					CancelSelectTextDraw(playerid);
					SendClientMessage(GetPVarInt(playerid,"GOGAME"),0xFF6803FF,"Игра закончилась в ничью!");
					SendClientMessage(playerid,0xFF6803FF,"Игра закончилась в ничью!");
					DeletePVar(playerid,"HOD");
					DeletePVar(GetPVarInt(playerid,"GOGAME"),"HOD");
					SetPVarInt(GetPVarInt(playerid,"GOGAME"),"GOGAME",999);
					SetPVarInt(playerid,"GOGAME",999);
				}
			}
		}
	    if(clickedid == GameTD[10])
	    {
	        for(new i; i < 11; i++) TextDrawHideForPlayer(GetPVarInt(playerid,"GOGAME"),GameTD[i]);
			for(new i; i < 9; i++) PlayerTextDrawHide(GetPVarInt(playerid,"GOGAME"),MyGame[playerid][i]);
			CancelSelectTextDraw(GetPVarInt(playerid,"GOGAME"));
			SendClientMessage(playerid,0xFF0B03FF,"Вы отказались от продолжения игры.");
			DeletePVar(playerid,"HOD");
			DeletePVar(GetPVarInt(playerid,"GOGAME"),"HOD");
			for(new i; i < 11; i++) TextDrawHideForPlayer(playerid,GameTD[i]);
			SelectTextDraw(playerid, 0x20B2AAFF);
			for(new i; i < 9; i++) PlayerTextDrawHide(playerid,MyGame[playerid][i]);
			CancelSelectTextDraw(playerid);
			
			
			SendClientMessage(GetPVarInt(playerid,"GOGAME"),0xFF0B03FF,"Соперник отказался от продолжения игры.");
			SetPVarInt(GetPVarInt(playerid,"GOGAME"),"GOGAME",999);
			SetPVarInt(playerid,"GOGAME",999);
			return true;
	    }
	    
	}
Добавим в public OnPlayerKeyStateChange

PHP:
	if(newkeys ==  131072)
	{
	    if(GetPVarInt(playerid,"KN") == 999) return true;
	    new n1[24],n2[24],string[144];
	    GetPlayerName(playerid,n1,sizeof(n1));
		GetPlayerName(GetPVarInt(playerid,"KN"),n2,sizeof(n2));
	    format(string,sizeof(string),"Вы отказались сыграть с %s в крестики нолики.",n2);
	    SendClientMessage(playerid,0x6495EDFF,string);
		format(string,sizeof(string),"%s отказался сыграть с вами в крестики нолики.",n1);
	    SendClientMessage(GetPVarInt(playerid,"KN"),0x6495EDFF,string);
	    SetPVarInt(playerid,"KN",999);
		return true;
	}
	if(newkeys ==  65536)
	{
	    if(GetPVarInt(playerid,"KN") == 999) return true;
	    new n1[24],n2[24],string[144];
	    GetPlayerName(playerid,n1,sizeof(n1));
		GetPlayerName(GetPVarInt(playerid,"KN"),n2,sizeof(n2));
	    format(string,sizeof(string),"Вы согласились сыграть с %s в крестики нолики. Ожидайте хода соперника.",n2);
	    SendClientMessage(playerid,0x6495EDFF,string);
		format(string,sizeof(string),"%s согласился сыграть с вами в крестики нолики. Ваш ход.",n1);
	    SendClientMessage(GetPVarInt(playerid,"KN"),0x6495EDFF,string);
		for(new i; i < 11; i++) TextDrawShowForPlayer(playerid,GameTD[i]);
		SelectTextDraw(playerid, 0x20B2AAFF);
		for(new i; i < 9; i++) kvadrat[playerid][i] = 0;
		for(new i; i < 9; i++) kvadrat[GetPVarInt(playerid,"KN")][i] = 0;
		
		for(new i; i < 11; i++) TextDrawShowForPlayer(GetPVarInt(playerid,"KN"),GameTD[i]);
		SelectTextDraw(GetPVarInt(playerid,"KN"), 0x20B2AAFF);
		
		SetPVarInt(playerid,"GOGAME",GetPVarInt(playerid,"KN"));
		SetPVarInt(playerid,"STATGAME",1); // нолики
		
		SetPVarInt(GetPVarInt(playerid,"KN"),"GOGAME",playerid);
		SetPVarInt(GetPVarInt(playerid,"KN"),"STATGAME",2); // крестики
		
		SetPVarInt(GetPVarInt(playerid,"KN"),"HOD",1);
		SetPVarInt(playerid,"HOD",0);
		SetPVarInt(playerid,"KN",999);
		return true;
	}
Теперь в public OnPlayerConnect, добавим это:

PHP:
    SetPVarInt(playerid,"KN",999);
   	SetPVarInt(playerid,"GOGAME",999);
    MyGame[playerid][0] = CreatePlayerTextDraw(playerid,259.000000, 127.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][0], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][0], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][0], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][0], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][0], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][0], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][0], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][0], 0);

	MyGame[playerid][1] = CreatePlayerTextDraw(playerid,307.000000, 127.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][1], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][1], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][1], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][1], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][1], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][1], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][1], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][1], 0);

	MyGame[playerid][2] = CreatePlayerTextDraw(playerid,356.000000, 127.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][2], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][2], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][2], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][2], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][2], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][2], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][2], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][2], 0);

	MyGame[playerid][3] = CreatePlayerTextDraw(playerid,259.000000, 175.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][3], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][3], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][3], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][3], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][3], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][3], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][3], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][3], 0);

	MyGame[playerid][4] = CreatePlayerTextDraw(playerid,307.000000, 175.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][4], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][4], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][4], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][4], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][4], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][4], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][4], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][4], 0);

	MyGame[playerid][5] = CreatePlayerTextDraw(playerid,356.000000, 175.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][5], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][5], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][5], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][5], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][5], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][5], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][5], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][5], 0);

	MyGame[playerid][6] = CreatePlayerTextDraw(playerid,259.000000, 224.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][6], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][6], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][6], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][6], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][6], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][6], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][6], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][6], 0);

	MyGame[playerid][7] = CreatePlayerTextDraw(playerid,307.000000, 224.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][7], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][7], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][7], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][7], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][7], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][7], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][7], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][7], 0);

	MyGame[playerid][8] = CreatePlayerTextDraw(playerid,356.000000, 224.000000, "O");
	PlayerTextDrawBackgroundColor(playerid,MyGame[playerid][8], 255);
	PlayerTextDrawFont(playerid,MyGame[playerid][8], 1);
	PlayerTextDrawLetterSize(playerid,MyGame[playerid][8], 0.990000, 3.099999);
	PlayerTextDrawColor(playerid,MyGame[playerid][8], 255);
	PlayerTextDrawSetOutline(playerid,MyGame[playerid][8], 0);
	PlayerTextDrawSetProportional(playerid,MyGame[playerid][8], 1);
	PlayerTextDrawSetShadow(playerid,MyGame[playerid][8], 1);
	PlayerTextDrawSetSelectable(playerid,MyGame[playerid][8], 0);
Так же, создадим еще 2 stock

PHP:
stock CHECKGAME(playerid)
{
	if(kvadrat[playerid][0] == 1 && kvadrat[playerid][1] == 1 && kvadrat[playerid][2] == 1) return true;
	if(kvadrat[playerid][3] == 1 && kvadrat[playerid][4] == 1 && kvadrat[playerid][5] == 1) return true;
	if(kvadrat[playerid][6] == 1 && kvadrat[playerid][7] == 1 && kvadrat[playerid][8] == 1) return true;
	
	if(kvadrat[playerid][0] == 1 && kvadrat[playerid][3] == 1 && kvadrat[playerid][6] == 1) return true;
	if(kvadrat[playerid][1] == 1 && kvadrat[playerid][4] == 1 && kvadrat[playerid][7] == 1) return true;
	if(kvadrat[playerid][2] == 1 && kvadrat[playerid][5] == 1 && kvadrat[playerid][8] == 1) return true;
	
	if(kvadrat[playerid][0] == 1 && kvadrat[playerid][4] == 1 && kvadrat[playerid][8] == 1) return true;
	if(kvadrat[playerid][2] == 1 && kvadrat[playerid][4] == 1 && kvadrat[playerid][6] == 1) return true;
	return false;
}
stock CHECKEND(playerid)
{
    
	if((kvadrat[playerid][0] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][0] == 1) 
	&& (kvadrat[playerid][1] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][1] == 1)
	&& (kvadrat[playerid][2] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][2] == 1)
	&& (kvadrat[playerid][3] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][3] == 1)
	&& (kvadrat[playerid][4] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][4] == 1)
	&& (kvadrat[playerid][5] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][5] == 1)
	&& (kvadrat[playerid][6] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][6] == 1)
	&& (kvadrat[playerid][7] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][7] == 1)
	&& (kvadrat[playerid][8] == 1 || kvadrat[GetPVarInt(playerid,"GOGAME")][8] == 1)) return true;
	return false;
}
Вот такой, нубо мануал. Для вас:dn:

Вот, что получится. Канал уже не мой, если хотите попасть на мой, смотрите в подписи группу.


Так же, вот FS данного мануала:
WARNING: При копипасте темы, указывайте автора!
​
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу