Доступ к архиву

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

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

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

Проблема с таймером

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

Zeka_Peka228

Умник
Всем привет!

Создается состязание.
Записываю в пвар id игрока, который его создал.
Потом через диалоговое окно оппонент выбирает эту "комнату" и игрока который создал сост., и соперника телепортирует в указанные координаты, а также дает им оружие.

В ежесек. таймере я делаю проверку на то, есть ли игроков переменные, которые я задал и делаю отчет. В 10 сек.

Телепортирует нормально, оружие тоже выдает. Даже появляется GameText в 10 сек, но дальше ничего!

PHP:
case 1238:
  		{
	   		if(!response) return true;
		   	SetPVarInt(playerid,"SelectDuel",listitem+1);
		   	new dude_own = GetPVarInt(playerid,"owner_duel");
		   	//new bizz = GetPVarInt(playerid,"EnterBizz");
		   	if(listitem == 0)
		   	{
                ShowPlayerDialog(playerid,1237,DIALOG_STYLE_MSGBOX,"{ffffff}Создание состизания","{FFFFFF}Вы уверены что хотите создать состизание?","Да","Нет");
		   	}
		   	if(GetPVarInt(playerid,"SelectDuel") > 0)
		   	{
		   	   if(d_info[listitem][d_status] == 2)
		   	   {
					switch(d_info[dude][d_location])
					{
					    case 0:
					    {
					        SetPlayerPos(playerid, -376.1828,-1421.5070,25.7266);
					        SetPlayerPos(dude_own, -376.2461,-1448.6937,25.7266);
					        SetPlayerFacingAngle(playerid, 178.1284);
					        SetPlayerFacingAngle(dude_own, 359.2133);
                            TogglePlayerControllable(playerid, false);
                            TogglePlayerControllable(dude_own, false);
					        GiveWeapon(playerid,24,24);
					        GiveWeapon(dude_own,24,24);
					        GameTextDuel[playerid] = 10;
					        GameTextDuel[dude_own] = 10;
					        GunAC[playerid][2] += 1000;
					        GunAC[dude_own][2] += 1000;
					        SetPVarInt(playerid,"first_pl",playerid);
					    }
					    case 1:
					    {
					        SetPlayerPos(playerid, -376.1828,-1421.5070,25.7266);
					        SetPlayerPos(dude_own, -376.2461,-1448.6937,25.7266);
					        SetPlayerFacingAngle(playerid, 178.1284);
					        SetPlayerFacingAngle(dude_own, 359.2133);
             				TogglePlayerControllable(playerid, false);
                            TogglePlayerControllable(dude_own, false);
					        GiveWeapon(playerid,24,24);
					        GiveWeapon(dude_own,24,24);
					        GameTextDuel[playerid] = 10;
					        GameTextDuel[dude_own] = 10;
					        GunAC[playerid][2] += 1000;
					        GunAC[dude_own][2] += 1000;
					    }
					    case 2:
					    {
					        SetPlayerPos(playerid, -376.1828,-1421.5070,25.7266);
					        SetPlayerPos(dude_own, -376.2461,-1448.6937,25.7266);
					        SetPlayerFacingAngle(playerid, 178.1284);
					        SetPlayerFacingAngle(dude_own, 359.2133);
             				TogglePlayerControllable(playerid, false);
                            TogglePlayerControllable(dude_own, false);
					        GiveWeapon(playerid,24,24);
					        GiveWeapon(dude_own,24,24);
					        GameTextDuel[playerid] = 10;
					        GameTextDuel[dude_own] = 10;
					        GunAC[playerid][2] += 1000;
					        GunAC[dude_own][2] += 1000;
					    }
					}
		   	   }
		   	   if(d_info[listitem][d_status] == 1) return SendClientMessage(playerid, COLOR_RED, "Игрок еще создает дуэль!");
		   	   if(d_info[listitem][d_status] == 3) return SendClientMessage(playerid, COLOR_RED, "Дуэль начат. Найдите другую комнату!");
		   	}
  		}
Тот самый таймер:
PHP:
publics: UpdateDuelTime()
{
	for(new i = 0; i < MAX_PLAYERS; i++)
    {
        //new dude = GetPVarInt(i,"owner_duel");
        if(IsPlayerConnected(i) && GameTextDuel[GetPVarInt(i,"first_pl")] != 0 && GameTextDuel[i] != 0)
        {
            if(GameTextDuel[i] > 1 || GameTextDuel[GetPVarInt(i,"first_pl")] > 1)
            {
	            new string[10], dudestr[10];
	            format(string, 10, "Wait: %d", GameTextDuel[i]);
	            format(dudestr, 10, "Wait: %d", GameTextDuel[GetPVarInt(i,"first_pl")]);
	            GameTextForPlayer(i, string, 1000, 1);
	            GameTextForPlayer(GetPVarInt(i,"first_pl"), string, 1000, 1);
	            GameTextDuel[i] -= 1;
            	GameTextDuel[GetPVarInt(i,"first_pl")] -= 1;
            }
            if(GameTextDuel[i] == 1)
            {
                GiveWeapon(i, 24, 24);
                GameTextForPlayer(i, "START!", 1000, 1);
                TogglePlayerControllable(i, true);
                GameTextDuel[i] = 0;
            }
            if(GameTextDuel[GetPVarInt(i,"first_pl")] == 1)
            {
                GiveWeapon(GetPVarInt(i,"first_pl"), 24, 24);
                GameTextForPlayer(GetPVarInt(i,"first_pl"), "START!", 1000, 1);
                TogglePlayerControllable(GetPVarInt(i,"first_pl"), true);
                GameTextDuel[GetPVarInt(i,"first_pl")]= 0;
            }
        }
    }
}

В чем может быть проблема? Я думаю что в проверке в таймере. Но не могу понять где именно я ошибся.
 
Последнее редактирование модератором:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу