Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.

Реклама


**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 200руб/мес, Текстовая 100руб/мес.
Показано с 1 по 5 из 5
  1. #1
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,441
    Репутация:
    261 ±

    Как, при достижении последней итерации цикла, запустить его по новой

    Приветствую всех уважаемый посетители Pro Pawn!
    И у меня проблема, почему то не доходит код до обнуление (сбораса), не могу понять почему?

    PHP код:
    stock NextPlayerSpec(playerid)
    {
        
    _NextTick:
        
    PI[playerid][pSpecID]++;
        if(!
    IsPlayerConnected(PI[playerid][pSpecID]) || PlayerLogged[PI[playerid][pSpecID]] == || PI[playerid][pSpecID] == playerid) goto _NextTick;
        
    format(PI[playerid][pCMDstr], 69"PLAYERID: %d || PI[playerid][pSpecID]: %d"playeridPI[playerid][pSpecID]);
        
    SendClientMessageToAll(COLOR_LIGHTREDPI[playerid][pCMDstr]);
        if(
    PI[playerid][pSpecID] == MAX_PLAYERS 1PI[playerid][pSpecID] = 0SendClientMessageToAll(COLOR_LIGHTRED"Сброс");
        
    StartSpectate(playeridPI[playerid][pSpecID]);
        return 
    1;

    Суть кода такова: В слежке сделал прокручивание игроков, хочу сделать что бы, например: 99 ID последний на сервере, дохожу до 99 ID нажимаю далее, и заново начинался круг с ID 0 (или какой подключен наименьший ID)

    Ответить с цитированием
    Заранее спасибо.
    Последний раз редактировалось DeimoS; 09.10.2014 в 09:31.

  2. #2
    Аватар для #Diego
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.09.2014
    Сообщений
    17
    Репутация:
    -4 ±
    Интересно,зачем? Но попробуй этот код:
     Код

    if(strcmp(cmd, "/spec", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GREY," /spec [id]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(GetPlayerState(giveplayerid) == 1)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, giveplayerid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 2)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 3)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Ошибка");
    }
    }
    }
    return 1;
    }

    if(strcmp(cmd, "/specoff", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    TogglePlayerSpectating(playerid, 0);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Слежка закончена!");
    PlayerSpec[PlayerSpectateID[playerid]] = -1;
    PlayerSpectateID[playerid] = -1;
    }
    return 1;
    }

  3. #3
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,441
    Репутация:
    261 ±
    Цитата Сообщение от #Diego Посмотреть сообщение
    Интересно,зачем? Но попробуй этот код:
     Код

    if(strcmp(cmd, "/spec", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GREY," /spec [id]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(GetPlayerState(giveplayerid) == 1)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, giveplayerid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 2)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 3)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Ошибка");
    }
    }
    }
    return 1;
    }

    if(strcmp(cmd, "/specoff", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    TogglePlayerSpectating(playerid, 0);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Слежка закончена!");
    PlayerSpec[PlayerSpectateID[playerid]] = -1;
    PlayerSpectateID[playerid] = -1;
    }
    return 1;
    }
    Лесом РЛС.

    - - - Добавлено - - -

    Цитата Сообщение от #Diego Посмотреть сообщение
    Интересно,зачем? Но попробуй этот код:
     Код

    if(strcmp(cmd, "/spec", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext,idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid,COLOR_GREY," /spec [id]");
    return 1;
    }
    giveplayerid = ReturnUser(tmp);
    if(GetPlayerState(giveplayerid) == 1)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectatePlayer(playerid, giveplayerid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 2)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else if(GetPlayerState(giveplayerid) == 3)
    {
    SetPlayerInterior(playerid,GetPlayerInterior(givep layerid));
    SetPlayerVirtualWorld(playerid,GetPlayerVirtualWor ld(giveplayerid));
    new idid = GetPlayerVehicleID(giveplayerid);
    TogglePlayerSpectating(playerid, 1);
    PlayerSpectateVehicle(playerid, idid);
    PlayerSpectateID[playerid] = giveplayerid;
    PlayerSpec[giveplayerid] = playerid;
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Ошибка");
    }
    }
    }
    return 1;
    }

    if(strcmp(cmd, "/specoff", true) == 0)
    {
    if(PlayerInfo[playerid][pAdmin] >= 1)
    {
    TogglePlayerSpectating(playerid, 0);
    SetCameraBehindPlayer(playerid);
    SendClientMessage(playerid,COLOR_YELLOW,"Слежка закончена!");
    PlayerSpec[PlayerSpectateID[playerid]] = -1;
    PlayerSpectateID[playerid] = -1;
    }
    return 1;
    }
    Лесом РЛС.

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    PHP код:
    stock NextPlayerSpec(playerid)
    {
        
    _NextTick:
        
    PI[playerid][pSpecID]++;
        if(
    PI[playerid][pSpecID] == MAX_PLAYERS 1PI[playerid][pSpecID] = 0SendClientMessageToAll(COLOR_LIGHTRED"Сброс");
        if(!
    IsPlayerConnected(PI[playerid][pSpecID]) || PlayerLogged[PI[playerid][pSpecID]] == || PI[playerid][pSpecID] == playerid) goto _NextTick;
        
    format(PI[playerid][pCMDstr], 69"PLAYERID: %d || PI[playerid][pSpecID]: %d"playeridPI[playerid][pSpecID]);
        
    SendClientMessageToAll(COLOR_LIGHTREDPI[playerid][pCMDstr]);
        
    StartSpectate(playeridPI[playerid][pSpecID]);
        return 
    1;

    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для $continue$
    Пользователь

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,441
    Репутация:
    261 ±
    Спасибо, можно закрывать тему.
    Последний раз редактировалось DeimoS; 09.10.2014 в 09:30.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •