Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 1 2
Показано с 11 по 16 из 16
  1. #11
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    DeimoS, Это только 2 ранга, а у меня их на 7 выйдет, если даже сделать на 7 рангов будет лучше чем вообще без switch?
    Выложите полный код команды, или хотя бы тот, в котором определяются требования к ID организации и рангу. Из ваших слов вообще ничего не понятно.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
      Открыть/закрыть
    PHP код:
        if(strcmp(cmd"/giverank"true) == 0)
        {
            new 
    memb PlayerInfo[playerid][pMember];
            new 
    rank PlayerInfo[playerid][pRank];

            if(
    memb == && rank >= 14 || memb == && rank >= 14 || memb == 10 && rank >= 14 || memb == 19 && rank >= 14
            
    || memb == 21 && rank >= 14 || memb == && rank >= || memb == 26 && rank >= || memb == && rank >= 9
            
    || memb == && rank >= || memb == && rank >= || memb == 11 && rank >= || memb == 12 && rank >= 9
            
    || memb == 13 && rank >= || memb == 14 && rank >= || memb == 15 && rank >= || memb == 17 && rank >= 9
            
    || memb == 18 && rank >= || memb == 22 && rank >= || memb == 24 && rank >= || memb == 25 && rank >= 9
            
    || memb == && rank >= 13 || memb == 16 && rank >= 13 || memb == 20 && rank >= 13 || memb == && rank >= 5
            
    || memb == 27 && rank >= || memb == && rank >= || memb == 28 && rank >= || memb == 29 && rank >= 6
            
    || memb == 23 && rank >= 11 || memb == 30 && rank >= 6)
            {
                
    tmp strcharsplit(cmdtextidx);
                 if(!
    strlen(tmp))
                    return 
    SendClientMessage(playeridCOLOR_WHITE"Наберите: /giverank [id] [ðàíã]");
                new 
    para1 ReturnUser(tmp);
                
    tmp strcharsplit(cmdtextidx);
                new 
    level strval(tmp);
                switch(
    memb)
                {
                case 
    8: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 4!");
                case 
    7,27,28: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 5!");
                case 
    29,30: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 6!");
                case 
    2,4..6,11..15,17,18,22,24..26: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 9!");
                case 
    23: if(level 11 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 11!");
                case 
    16: if(level 12 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 12!");
                case 
    1,3,10,19,21: if(level 14 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 14!");
                }
                if(!
    IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID || para1 == playerid) return true;
                if (
    PlayerInfo[para1][pLeader] >= 1) return SendClientMessage(playeridCOLOR_GREY"Он лидер!");
                if(
    memb != PlayerInfo[para1][pMember]) return SendClientMessage(playeridCOLOR_GREY"Он не в вашей фраке!");
                if(
    memb && rank <= level) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà");
                if(
    PlayerInfo[playerid][pLeader] <= && rank <=  PlayerInfo[para1][pRank]) return SendClientMessage(playeridCOLOR_GREY"Ошибка");
                
    format(stringersizeof(stringer), "Вас повысил/понизил %s до %d ранга",levelPlayerInfo[playerid][pNames]);
                
    SendClientMessage(para10x6BB3FFAAstringer);
                
    format(stringersizeof(stringer), "Вы повысили %s до %d ранга."PlayerInfo[para1][pNames],level);
                
    SendClientMessage(playerid0x6BB3FFAAstringer);
                
    PlayerInfo[para1][pRank] = level;
                return 
    true;
            }
            else return 
    SendClientMessage(playerid,COLOR_GREY,"Вам не доступна команда");
        } 

    Вот допустим)

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

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
      Открыть/закрыть
    PHP код:
        if(strcmp(cmd"/giverank"true) == 0)
        {
            new 
    memb PlayerInfo[playerid][pMember];
            new 
    rank PlayerInfo[playerid][pRank];

            if(
    memb == && rank >= 14 || memb == && rank >= 14 || memb == 10 && rank >= 14 || memb == 19 && rank >= 14
            
    || memb == 21 && rank >= 14 || memb == && rank >= || memb == 26 && rank >= || memb == && rank >= 9
            
    || memb == && rank >= || memb == && rank >= || memb == 11 && rank >= || memb == 12 && rank >= 9
            
    || memb == 13 && rank >= || memb == 14 && rank >= || memb == 15 && rank >= || memb == 17 && rank >= 9
            
    || memb == 18 && rank >= || memb == 22 && rank >= || memb == 24 && rank >= || memb == 25 && rank >= 9
            
    || memb == && rank >= 13 || memb == 16 && rank >= 13 || memb == 20 && rank >= 13 || memb == && rank >= 5
            
    || memb == 27 && rank >= || memb == && rank >= || memb == 28 && rank >= || memb == 29 && rank >= 6
            
    || memb == 23 && rank >= 11 || memb == 30 && rank >= 6)
            {
                
    tmp strcharsplit(cmdtextidx);
                 if(!
    strlen(tmp))
                    return 
    SendClientMessage(playeridCOLOR_WHITE"Наберите: /giverank [id] [ðàíã]");
                new 
    para1 ReturnUser(tmp);
                
    tmp strcharsplit(cmdtextidx);
                new 
    level strval(tmp);
                switch(
    memb)
                {
                case 
    8: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 4!");
                case 
    7,27,28: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 5!");
                case 
    29,30: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 6!");
                case 
    2,4..6,11..15,17,18,22,24..26: if(level || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 9!");
                case 
    23: if(level 11 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 11!");
                case 
    16: if(level 12 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 12!");
                case 
    1,3,10,19,21: if(level 14 || level 1) return SendClientMessage(playeridCOLOR_GREY"С 1 по 14!");
                }
                if(!
    IsPlayerConnected(para1) || para1 == INVALID_PLAYER_ID || para1 == playerid) return true;
                if (
    PlayerInfo[para1][pLeader] >= 1) return SendClientMessage(playeridCOLOR_GREY"Он лидер!");
                if(
    memb != PlayerInfo[para1][pMember]) return SendClientMessage(playeridCOLOR_GREY"Он не в вашей фраке!");
                if(
    memb && rank <= level) return SendClientMessage(playerid,COLOR_GREY,"Îøèáêà");
                if(
    PlayerInfo[playerid][pLeader] <= && rank <=  PlayerInfo[para1][pRank]) return SendClientMessage(playeridCOLOR_GREY"Ошибка");
                
    format(stringersizeof(stringer), "Вас повысил/понизил %s до %d ранга",levelPlayerInfo[playerid][pNames]);
                
    SendClientMessage(para10x6BB3FFAAstringer);
                
    format(stringersizeof(stringer), "Вы повысили %s до %d ранга."PlayerInfo[para1][pNames],level);
                
    SendClientMessage(playerid0x6BB3FFAAstringer);
                
    PlayerInfo[para1][pRank] = level;
                return 
    true;
            }
            else return 
    SendClientMessage(playerid,COLOR_GREY,"Вам не доступна команда");
        } 

    Вот допустим)
    PHP код:
    if(strcmp(cmd"/giverank"true) == 0)
        {
            new 
    memb PlayerInfo[playerid][pMember];
            new 
    rank PlayerInfo[playerid][pRank];

            if(
    memb && rank 0)
            {
    // ... продолжение кода 
    p.s. переменные memb и rank лишние, можно напрямую обращаться к массиву PlayerInfo
    Последний раз редактировалось NewGreen; 15.01.2016 в 12:58.

  4. #14
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    А не чего что я овер9000 строк превратил в пару строк?
    так для себя скажем) чтобы не листать не искать и проще было

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

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от NewGreen Посмотреть сообщение
    PHP код:
    if(strcmp(cmd"/giverank"true) == 0)
        {
            new 
    memb PlayerInfo[playerid][pMember];
            new 
    rank PlayerInfo[playerid][pRank];

            if(
    memb && rank 0)
            {
    // ... продолжение кода 
    p.s. переменные memb и rank лишние, можно напрямую обращаться к массиву PlayerInfo
    Для того, чтобы двадцать раз не обращаться к массиву, сделан буфер (две переменные), который хранит в себе одно значение. Убедится в этом вы можете, посмотрев листинг ассемблера.

  6. 3 пользователя(ей) сказали cпасибо:
    Daniel_Cortez (15.01.2016) L0ndl3m (15.01.2016) vovandolg (15.01.2016)
  7. #16
    Аватар для NewGreen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.09.2014
    Сообщений
    61
    Репутация:
    44 ±
    Цитата Сообщение от VVWVV Посмотреть сообщение
    Для того, чтобы двадцать раз не обращаться к массиву, сделан буфер (две переменные), который хранит в себе одно значение. Убедится в этом вы можете, посмотрев листинг ассемблера.
    Раздаю вредные советы

 

 
Страница 2 из 2 ПерваяПервая 1 2

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

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

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

Ваши права

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