Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для TheOrsini
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2015
    Сообщений
    36
    Репутация:
    3 ±

    Криво работает выбор скина

    PHP код:
    new register_skins[2][14] = {
        {
    7816023021321220013713613513413279},
        {
    102181981971861571511301277754393113}
    };
    public 
    OnPlayerClickTextDraw(playeridText:clickedid)
    {
        if(
    clickedid == prev_reg_skin
        {
            if(
    Select[playerid]) Select[playerid] = (PlayerInfo[playerid][pSex] ? 12 14);
            else 
    Select[playerid]--;
            
    SetPlayerSkin(playeridregister_skins[PlayerInfo[playerid][pSex]-1][Select[playerid]-1]);
        }
        else if(
    clickedid == next_reg_skin)
        {
            if(
    Select[playerid] == 12 && PlayerInfo[playerid][pSex] == 1Select[playerid] = 1;
            else if(
    Select[playerid] == 14 && PlayerInfo[playerid][pSex] == 2Select[playerid] = 1;
            else 
    Select[playerid]++;
            
    SetPlayerSkin(playeridregister_skins[PlayerInfo[playerid][pSex]-1][Select[playerid]-1]);
        }
            return 
    1;

    Листает скины не в таком порядке как в массиве (при нажатии на левую стрелку всё время выдаёт 79 скин), не могу понять по какой причине.
    При начале выбора скина ставлю Select[playerid] = 1;
    pSex - 1 мужской, 2 - женский

  2. #2
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    PHP код:
    static const
        
    register_skins[2][] =
    {
        {
    7816023021321220013713613513413279},
        {
    102181981971861571511301277754393113}
    };

    public
        
    OnPlayerClickTextDraw(playeridText:clickedid
    {
        static 
    select_id[MAX_PLAYERS];
        if(
    clickedid == prev_reg_skin)
        {
            if (--
    select_id[playerid] >= 0)
                
    select_id[playerid] = sizeof register_skins[PlayerInfo[playerid][pSex]] - 1;
            
    SetPlayerSkin(playeridregister_skins[select_id[playerid]]);
        }
        else if(
    clickedid == next_reg_skin
        {
            if (++
    select_id[playerid] <= sizeof register_skins[PlayerInfo[playerid][pSex]])
                
    select_id[playerid] = 0;
            
    SetPlayerSkin(playeridregister_skins[select_id[playerid]]);
        }
            return 
    1;

    Не проверял, возможно не работает.
    Последний раз редактировалось VVWVV; 31.01.2016 в 12:09.

 

 

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

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

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

Ваши права

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