Zeka_Peka228
Умник
Всем привет!
Создается состязание.
Записываю в пвар id игрока, который его создал.
Потом через диалоговое окно оппонент выбирает эту "комнату" и игрока который создал сост., и соперника телепортирует в указанные координаты, а также дает им оружие.
В ежесек. таймере я делаю проверку на то, есть ли игроков переменные, которые я задал и делаю отчет. В 10 сек.
Телепортирует нормально, оружие тоже выдает. Даже появляется GameText в 10 сек, но дальше ничего!
Тот самый таймер:
В чем может быть проблема? Я думаю что в проверке в таймере. Но не могу понять где именно я ошибся.
Создается состязание.
Записываю в пвар 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;
}
}
}
}
В чем может быть проблема? Я думаю что в проверке в таймере. Но не могу понять где именно я ошибся.
Последнее редактирование модератором:
