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

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

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

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

Таймер в минус уходит

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

Sergey12rus

Ученик
Такакя проблема в системе дуэлей Есть отчёт 3-2-1 старт.
Но после отчёта он считает -1,-2,-3 и тд
Из за чего такое может быть?? + она выходит какому либо игроку зашедшему по каким то определённым ид.
И не пропадёт хоть перезаходить. Пока серв не рестарнёшь не исчезнет.)

PHP:
public OnPlayerDeath
if(PlayerInDuel[killerid] == 1 && PlayerInDuel[playerid] == 1)
        {
                new string[256];
                DuelPlaceVisit = false;
                PlayerInDuel[killerid] = 0;
                PlayerInDuel[playerid] = 0;
                GetDuelCreate[killerid] = INVALID_PLAYER_ID;
                GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                GivePlayerMoney(killerid, MoneyDuel);
                GivePlayerMoney(playerid, -MoneyDuel);
                format(string, sizeof(string), "~g~+%d$", MoneyDuel);
                GameTextForPlayer(killerid, string, 1000, 1);
                format(string, sizeof(string), "~r~-%d$", MoneyDuel);
                GameTextForPlayer(playerid, string, 1000, 1);
                format(string, sizeof(string), "[Mari_info]>>> В дуэли между игроками {FFFFFF}%s{00FF00} и {FFFFFF}%s{00FF00} победил игрок {FFFFFF}%s", pNick(killerid), pNick(playerid), pNick(killerid));
                SendClientMessageToAll(0x00FF00FF, string);
                SetTimerEx("OnPlayerSpawn", 1000, false, "i", killerid);
                return 1;
 }
	if(strcmp(cmd, "/дуэль46786548", true) == 0 || strcmp(cmd, "/duel35486187", true) == 0)
        {
                if(PlayerInDuel[playerid] == 1) return SendClientMessage(playerid, -1, "[Mari_info]Ты уже участвуешь в дуэли.");
                if(DuelPlaceVisit) return SendClientMessage(playerid, -1, "[Mari_info]Подождите пока место для дуэли освободится.");
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) return SendClientMessage(playerid, -1, "[Mari_info]Использование: /duel /дуэль [ id игрока ] [ id оружия ] [ ставка ]");
                giveplayerid = strval(tmp);
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) return SendClientMessage(playerid, -1, "[Mari_info]Использование: /duel /дуэль [ id игрока ] [ id оружия ] [ ставка ]");
                WeaponDuel = strval(tmp);
                if(WeaponDuel < 0 || WeaponDuel > 42) return SendClientMessage(playerid, -1, "[Mari_info]Ты ввёл не верный id оружия. Используй id от 0 до 42");
                tmp = strtok(cmdtext, idx);
                if(!strlen(tmp)) return SendClientMessage(playerid, -1, "[Mari_info]Использование: /duel /дуэль [ id игрока ] [ id оружия ] [ ставка ]");
                MoneyDuel = strval(tmp);
                if(MoneyDuel < 1 || MoneyDuel > 100000) return SendClientMessage(playerid, -1, "[Mari_info]Ты ввёл не верную сумму ставки. Используй сумму от 1$ до 100000$");
                if(MoneyDuel > GetPlayerMoney(playerid)) return SendClientMessage(playerid, -1, "[Mari_info]Тебе не хватает на ставку. Укажи другую сумму!");
                if(MoneyDuel > GetPlayerMoney(giveplayerid)) return SendClientMessage(playerid, -1, "[Mari_info]Твоему противнику не хватает на ставку. Укажи другую сумму!");
                if(IsPlayerConnected(giveplayerid))
                {
                        new Float:POS[3];
                        GetPlayerPos(giveplayerid, POS[0], POS[1], POS[2]);
                        if(playerid == giveplayerid) return SendClientMessage(playerid, -1, "[Mari_info]Ты не можешь применить это действие к самому себе.");
                        if(!IsPlayerInRangeOfPoint(playerid, 150, POS[0], POS[1], POS[2])) return SendClientMessage(playerid, -1, "[Mari_info]Ты находишься слишком далеко от этого игрока.");
                        if(PlayerInDuel[giveplayerid] == 1) return SendClientMessage(playerid, -1, "[Mari_info]Этот игрок уже участвует в дуэли.");
                        GetDuelCreate[giveplayerid] = playerid;
                        format(string, sizeof(string), "[Mari_info]Ты успешно пригласил игрока {9DDAF2}%s{FFFFFF} на дуэль! Дождись ответа.", pNick(giveplayerid));
                        SendClientMessage(playerid, -1, string);
                        format(string, sizeof(string), "[Mari_info]Игрок %s приглашает тебя на дуэль.\n\nОружие: %d\nСтавка: %d$", pNick(playerid), WeaponDuel, MoneyDuel);
                        ShowPlayerDialog(giveplayerid, DUEL_ID, DIALOG_STYLE_MSGBOX, "Приглашение на дуэль", string, "Да", "Нет");
                }
                else
                {
                        SendClientMessage(playerid, -1, "[Mari_info]Игрок с указанным тобой id не найден!");
                }
        		return 1;
	}
       
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])

	if(dialogid == DUEL_ID)
    {
           if(response)
            {
                    if(PlayerInDuel[playerid] == 1)
                    {
                            SendClientMessage(playerid, -1, "[Mari_info]Ты уже участвуешь в дуэли.");
                            SendClientMessage(dueledid, -1, "[Mari_info]При соглашении на участие в дуэли произошла ошибка!");
                            GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                            return 1;
                    }
                    if(PlayerInDuel[dueledid] == 1)
                    {
                            SendClientMessage(playerid, -1, "[Mari_info]Игрок, отославший тебе приглашение, уже участвует в дуэли.");
                            SendClientMessage(dueledid, -1, "[Mari_info]При соглашении на участие в дуэли произошла ошибка!");
                            GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                            return 1;
                    }
                    if(DuelPlaceVisit)
                    {
                            SendClientMessage(playerid, -1, "[Mari_info]Подожди пока место для дуэли освободится.");
                            SendClientMessage(dueledid, -1, "[Mari_info]Подожди пока место для дуэли освободится.");
                            GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                            return 1;
                    }
                    if(IsPlayerConnected(dueledid))
                    {
                            PlayerInDuel[playerid] = 1;
                            PlayerInDuel[dueledid] = 1;
                            DuelPlaceVisit = true;
                            new rand1 = random(sizeof(duelspawn));
                            SetPlayerPos(playerid, duelspawn[rand1][0], duelspawn[rand1][1], duelspawn[rand1][2]);
                            new rand2 = random(sizeof(duelspawn));
                            SetPlayerPos(dueledid, duelspawn[rand2][0], duelspawn[rand2][1], duelspawn[rand2][2]);
                            SetCameraBehindPlayer(playerid);
                            SetCameraBehindPlayer(dueledid);
                            SetPlayerInterior(playerid, 10);
                            SetPlayerInterior(dueledid, 10);
                            SetPlayerHealth(dueledid, 100);
                            SetPlayerHealth(playerid, 100);
                            SetPlayerVirtualWorld(playerid, DUEL_MIR);
                            SetPlayerVirtualWorld(dueledid, DUEL_MIR);
                            TogglePlayerControllable(playerid, false);
                            TogglePlayerControllable(dueledid, false);
                            StartingDuel[playerid] = 6;
                            StartingDuel[dueledid] = 6;
                            CountDuelTimer[playerid] = SetTimerEx("DuelStarting", 1000, true, "i", playerid);
                            CountDuelTimer[dueledid] = SetTimerEx("DuelStarting", 1000, true, "i", dueledid);
                            ResetPlayerWeapons(playerid);
                            ResetPlayerWeapons(dueledid);
                            GivePlayerWeapon(playerid, WeaponDuel, 99999);
                            GivePlayerWeapon(dueledid, WeaponDuel, 99999);
                            GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                            return 1;
                    }
                    else
                    {
                            SendClientMessage(playerid, -1, "Игрок, отославший тебе приглашение, отсоеденился!");
                            GetDuelCreate[playerid] = INVALID_PLAYER_ID;
                    }
            }
            else
            {
                    format(string, sizeof(string), "[Mari_info]Ты отказался на участие в дуэли с игроком {9DDAF2}%s", pNick(dueledid));
                    SendClientMessage(playerid, -1, string);
                    format(string, sizeof(string), "[Mari_info]Игрок {9DDAF2}%s{FFFFFF} отказался на участие в дуэли с тобой!", pNick(playerid));
                    SendClientMessage(GetDuelCreate[playerid], -1, string);
                    GetDuelCreate[playerid] = INVALID_PLAYER_ID;
            }
           return 1;
    }
public DuelStarting(playerid)//дуэль
{
        new string[256];
        StartingDuel[playerid] -= 1;
        format(string, sizeof(string), "~y~STARTING: ~w~%d", StartingDuel[playerid]);
        GameTextForPlayer(playerid, string, 999, 3);
        SetPlayerHealth(playerid, 100);
        if(StartingDuel[playerid] == 0)
        {
                        GameTextForPlayer(playerid, "~g~DUEL START", 3000, 3);
                        TogglePlayerControllable(playerid, true);
                        KillTimer(CountDuelTimer[playerid]);
        }
        return 1;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу