Показано с 1 по 7 из 7

Тема: Перевод команд на ZCMD + SSCANF

  1. #1
    Активный пользователь Аватар для Быдлокодер
    Регистрация
    19.12.2015
    Адрес
    Украина
    Сообщений
    102
    Репутация: 185

    Звание: - весьма и весьма положительная личность

    Перевод команд на ZCMD + SSCANF

    ̶П̶р̶и̶у̶в̶е̶т̶ ̶н̶и̶г̶г̶е̶р̶ы̶, Здраствуйте дорогие пользователи портала

    Есть тут такие феномены которые переводят команды на процессор ZCMD в считанные минуты?
    Спасибо за помощь.

    Команды:

    PHP код:
    if(strcmp(cmd"/giverank"true) == 0)
    {
        if(
    IsPlayerConnected(playerid))
            {
                if(
    Fraction[playerid][FLeader] >= || Fraction[playerid][FLeader] < 2)
                    {
                        
    tmp strtok(cmdtextidx);
                            if(!
    strlen(tmp))
                            {
                                    
    SendClientMessage(playeridCOLOR_GRAD2"* /giverank [id игрока] [номер ранга]");
                                    return 
    1;
                            }
                            new 
    rankrankt[50];
                            
    giveplayerid ReturnUser(tmp);
                            
    tmp strtok(cmdtextidx);
                            
    rank strval(tmp);

                            if(
    IsPlayerConnected(giveplayerid))
                            {
                                    if(
    giveplayerid != INVALID_PLAYER_ID)
                                    {
                                        if(
    Fraction[playerid][FMember] == 1)
                                        {
                                            if(
    rank || rank 1){SendClientMessage(playeridCOLOR_GRAD2"Неверно введен ранг. [1-16]");return 1;}
                                            if(
    rank == 1){rankt "Рядовой."SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 280);TogglePlayerControllable(player1);}
                                            if(
    rank == 2){rankt "Сержант."SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 284);TogglePlayerControllable(player1);}
                                        }
                                        if(
    Fraction[playerid][FMember] == 2)
                                        {
                                            if(
    rank || rank 1){SendClientMessage(playeridCOLOR_GRAD2"Неверно введен ранг. [1-16]");return 1;}
                                            if(
    rank == 1){rankt "Водитель."SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 20);TogglePlayerControllable(player1);}
                                            if(
    rank == 2){rankt "Сотрудник Паспортного Стола."SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 185);TogglePlayerControllable(player1);}
                                        }
                                                    
    Fraction[giveplayerid][FRank] = rank;
                                                    
    format(stringsizeof(string), "Вы были повышены. Ваша должность %s"rankt);
                                                    
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                                                    
    SaveFrac(giveplayerid);
                                                    return 
    1;
                                    }
                            }
                    }
            }
            return 
    1;



    PHP код:
    if(strcmp(cmd"/giveleader"true) == 0)
    {
            if(
    IsPlayerConnected(playerid))
            {
                            
    tmp strtok(cmdtextidx);
                            if(!
    strlen(tmp))
                            {
                                    
    SendClientMessage(playeridCOLOR_GRAD2"* Введите: /giveleader «ID игрока» «Уровень[2]»");
                                    return 
    1;
                            }
                            new 
    idtext[100];
                            
    player ReturnUser(tmp);
                            
    tmp strtok(cmdtextidx);
                            
    id strval(tmp);

                            if(
    id >= || id 0)
                            {
                                    
    SendClientMessage(playeridCOLOR_GRAD2"* Введите: /giveleader «ID игрока» «Уровень[2]»");
                                    return 
    1;
                            }

                            if(
    IsPlayerConnected(player))
                            {
                            if(
    player != INVALID_PLAYER_ID)
                                    {
                                            if(
    id == 1){text "Полиция.";SetPlayerSkin(playerFraction[player][FSkin] = 280);SpawnPlayer(player);TogglePlayerControllable(player1);}
                                            if(
    id == 2){text "ФСБ.";SetPlayerSkin(playerFraction[player][FSkin] = 20);SpawnPlayer(player);TogglePlayerControllable(player1);}
                                            if(
    id >= 1)
                                            {
                                            
    GetPlayerName(playergiveplayersizeof(giveplayer));
                                                    
    GetPlayerName(playeridsendernamesizeof(sendername));
                                                    
    Fraction[player][FLeader] = id;
                                                    
    Fraction[player][FMember] = id;
                                                    
    Fraction[player][FRank] = 1;
                                                    
    format(stringsizeof(string), "Вам были даны права лидера. Организация: %s"text);
                                                    
    SendClientMessage(playerCOLOR_LIGHTBLUEstring);

                                                    
    format(stringsizeof(string), "Вы выдали права лидера %s[%d]. Организация: %s"giveplayerplayeridtext);
                                                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                                            }
                                            else if(
    id == 0)// если написали /giveleader [id] [0], т.е сняли лидерку, выполняем:
                                            
    {
                                                
    Fraction[player][FLeader] = 0;/
                                                
    Fraction[player][FSkin] = 0;
                                                
    Fraction[player][FMember] = 0;
                                                
    Fraction[player][FRank] = 0;
                                                
    SetPlayerSkin(playerСюда ваш код смены скинат.е PlayerInfo[playerid][pSkinили как там у вас...);
                                                
    TogglePlayerControllable(player1);
                                                
    SendClientMessage(playerCOLOR_LIGHTBLUE"Вы теперь обычный гражданин.");
                                                
    SpawnPlayer(player);
                                            }
                                            
    SaveFrac(player);//Сохраняем
                                    
    }
                            }
                            else
                            {
                                
    SendClientMessage(playeridCOLOR_RED"Игрок с таким ID не подключен!");
                                    return 
    1;
                            }
            }
            return 
    1;



    PHP код:
    if(strcmp(cmd"/invite"true) == 0)
    {
        if(
    IsPlayerConnected(playerid))
            {
                        
    tmp strtok(cmdtextidx);
                            if(!
    strlen(tmp))
                            {
                                    
    SendClientMessage(playeridCOLOR_GRAD2"* /invite [id игрока]");
                                    return 
    1;
                            }
                            
    giveplayerid ReturnUser(tmp);

                            if(
    IsPlayerConnected(giveplayerid))
                            {
                                    if(
    giveplayerid != INVALID_PLAYER_ID)
                                    {
                                            if(
    Fraction[giveplayerid][FLeader] == Fraction[playerid][FLeader] || Fraction[giveplayerid][FMember] == Fraction[playerid][FMember]){return 1;}
                                            if(
    Fraction[giveplayerid][FLeader] >= || Fraction[giveplayerid][FMember] >= 1){return 1;}
                                    if(
    Fraction[playerid][FLeader] >= 1)
                                            {
                                                new 
    rankt[100],text[100];
                                                    if(
    Fraction[playerid][FMember] == 1){text "Полицейскую академию";rankt "Cтажер";Fraction[giveplayerid][FMember] = 1Fraction[giveplayerid][FRank] = 1SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 280); SpawnPlayer(giveplayerid);}
                                                    if(
    Fraction[playerid][FMember] == 2){text "Мэрию";rankt "Cтажер";Fraction[giveplayerid][FMember] = 2Fraction[giveplayerid][FRank] = 1SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin] = 275); SpawnPlayer(giveplayerid);}
                                            
    format(stringsizeof(string), "Вы были приняты в %s. Ранг — %s."textrankt);
                                            
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                                            
    SaveFrac(giveplayerid);//Сохраняем
                                            
    return 1;
                                    }
                                    if(
    Fraction[playerid][FLeader] == 0)
                                    {
                                            
    SendClientMessage(playeridCOLOR_LIGHTBLUE"Вы не можете выполнить это действие!");
                                                return 
    1;
                                            }
                                    }
                            }
            }
            return 
    1;



    PHP код:
    if(strcmp(cmd"/uninvite"true) == 0)
    {
        if(
    IsPlayerConnected(playerid))
            {
                    
    tmp strtok(cmdtextidx);
                    if(!
    strlen(tmp))
                    {
                            
    SendClientMessage(playeridCOLOR_GRAD2"* /uninvite [id игрока]");
                            return 
    1;
                    }
                    
    giveplayerid ReturnUser(tmp);
                    if(
    IsPlayerConnected(giveplayerid))
                    {
                            if(
    giveplayerid != INVALID_PLAYER_ID)
                            {
                                if(
    Fraction[playerid][FLeader] == Fraction[playerid][FLeader]){return 1;}
                                    if(
    Fraction[playerid][FMember] != Fraction[giveplayerid][FMember]){return 1;}
                                    
    Fraction[giveplayerid][FMember] = 0;
                                    
    Fraction[giveplayerid][FRank] = 0;
                                    
    Fraction[giveplayerid][FSkin] = 0;
                                    
    Fraction[playerid][FLeader] = 0;
                                    
    SetPlayerSkin(giveplayeridFraction[giveplayerid][FSkin]);
                                    
    TogglePlayerControllable(giveplayerid1);
                                    
    SpawnPlayer(giveplayerid);
                                    
    format(stringsizeof(string), "Вы были уволены лидером %s"giveplayer);
                                    
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                                    
    SaveFrac(giveplayerid);
                                    return 
    1;
                            }
                    }
            }
            return 
    1;


    PHP код:
    if(strcmp(cmd"/r"true) == 0)
    {
            if(
    IsPlayerConnected(playerid))
            {
                    new 
    length strlen(cmdtext);
                    while ((
    idx length) && (cmdtext[idx] <= ' ')){idx++;}
                    new 
    offset idxresult[64];
                    while ((
    idx length) && ((idx offset) < (sizeof(result) - 1))){result[idx offset] = cmdtext[idx];idx++;}
                    
    result[idx offset] = EOS;
                    if(!
    strlen(result))
                    {
                            
    SendClientMessage(playeridCOLOR_GRAD2"* Введите: /r [текст]");
                            return 
    1;
                    }
                    new 
    text[256];

                    if(
    Fraction[playerid][FLeader] == || Fraction[playerid][FMember] == 1)
                    {
                        if(
    Fraction[playerid][FRank] == 1){text "Рядовой";}
                    if(
    Fraction[playerid][FRank] == 2){text "Сержант";}
                        
    format(stringsizeof(string), "[Рация] %s %s: %s"textgiveplayerresult);
                        
    SendRadioMessage(1COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }

                    if(
    Fraction[playerid][FLeader] == || Fraction[playerid][FMember] == 2)
                    {
                        if(
    Fraction[playerid][FRank] == 1){text "Водитель";}//Узнаем наш ранг, чтобы он отражался в чате
                        
    format(stringsizeof(string), "[Рация]%s %s[%d]: {FFFFFF}%s"textgiveplayerplayeridresult);//Создаем сообщение
                        
    SendRadioMessage(2COLOR_LIGHTBLUEstring);//Отправляем
                        
    return 1;
                    }
            }
            return 
    1;
    }

            return 
    0;



    Ещё раз спасибо, если кто поможет, удачи

  2. #2
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    А что мешает "скурить"... покурить гайды на форумах?

  3. #3
    Активный пользователь Аватар для Argument
    Регистрация
    06.11.2012
    Адрес
    δδδδδδδδδδδδδδδδ
    Возраст
    54
    Сообщений
    780
    Репутация: 118

    Звание: скоро придёт к известности
    Цитата Сообщение от Fallen A. Посмотреть сообщение
    А что мешает "скурить"... покурить гайды на форумах?
    offtop: Суда падашол!

  4. #4
    Джентльмен лжец Аватар для Fallen A.
    Регистрация
    03.09.2011
    Адрес
    Минск, БССР
    Возраст
    29
    Сообщений
    2,409
    Репутация: 337

    Звание: как роза среди колючек
    Цитата Сообщение от Argument Посмотреть сообщение
    offtop: Суда падашол!
    Ок.

  5. #5
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему
    В стол заказов

  6. #6
    Активный пользователь Аватар для retyrner
    Регистрация
    01.08.2011
    Адрес
    Россия, Тюмень
    Возраст
    27
    Сообщений
    432
    Репутация: 33

    Звание: на пути к лучшему
    Вот тебе пример, дальше сам...

    PHP код:
    CMD:giverank(playeridparams[])
    {
        new 
    rankt[50];
        if(!
    IsPlayerConnected(playerid)) return 1;
        if(
    sscanf(params,"ui",params[0], params[1])) return SendClientMessage(playeridCOLOR_GRAD2"* /giverank [id игрока] [номер ранга]"); 
        if(!
    IsPlayerConnected(params[0]) || params[0] == playerid) return 1;  
        if(
    Fraction[playerid][FLeader] >= || Fraction[playerid][FLeader] < 2
        { 
            if(
    Fraction[playerid][FMember] == 1) { 
                if(
    params[1] > || params[1] < 1) return SendClientMessage(playeridCOLOR_GRAD2"Неверно введен ранг. [1-16]");
                if(
    params[1] == 1){
                    
    rankt "Рядовой."
                    
    SetPlayerSkin(params[0], Fraction[params[0]][FSkin] = 280);
                    
    TogglePlayerControllable(player1);
                } 
                if(
    params[1] == 2){
                    
    rankt "Сержант."
                    
    SetPlayerSkin(params[0], Fraction[params[0]][FSkin] = 284);
                    
    TogglePlayerControllable(player1);
                } 
            }
            if(
    Fraction[playerid][FMember] == 2){ 
                if(
    params[1] > || params[1] < 1) return SendClientMessage(playeridCOLOR_GRAD2"Неверно введен ранг. [1-16]");
                if(
    params[1] == 1){
                    
    rankt "Водитель."
                    
    SetPlayerSkin(params[0], Fraction[params[0]][FSkin] = 20);
                    
    TogglePlayerControllable(player1);
                } 
                if(
    params[1] == 2){
                    
    rankt "Сотрудник Паспортного Стола."
                    
    SetPlayerSkin(params[0], Fraction[params[0]][FSkin] = 185);
                    
    TogglePlayerControllable(player1);
                } 
            } 
            
    Fraction[params[0]][Fparams[1]] = params[1]; 
            
    format(stringsizeof(string), "Вы были повышены. Ваша должность %s"ranktt); 
            
    SendClientMessage(params[0], COLOR_LIGHTBLUEstring); 
            
    SaveFrac(params[0]); 
            return 
    1
        }

    Последний раз редактировалось retyrner; 25.01.2016 в 20:31.
    Мои работы:

    [MAP] Интерьер спортзала

    [Решение] Резервный слот

  7. #7
    Активный пользователь Аватар для TwixXtra
    Регистрация
    08.01.2015
    Сообщений
    847
    Репутация: 29

    Звание: на пути к лучшему
    PHP код:
    CMD:uninvite(playeridparams[])
    {
        if(
    sscanf(params"d"params[0])) return SCM(playeridCOLOR_GRAD2"* /uninvite [id игрока]");
        else if(!
    IsPlayerConnected(params[0])) return SCM(playeridCOLOR_GRAD2"Игрок не в сети");
        else if(
    params[0] != INVALID_PLAYER_ID)
        {
            if(
    Fraction[playerid][FLeader] == Fraction[playerid][FLeader]) return 1;
            if(
    Fraction[playerid][FMember] != Fraction[params[0]][FMember]) return 1;
            
    Fraction[params[0]][FMember] = 0;
            
    Fraction[params[0]][FRank] = 0;
            
    Fraction[params[0]][FSkin] = 0;
            
    Fraction[playerid][FLeader] = 0;
            
    SetPlayerSkin(params[0], Fraction[params[0]][FSkin]);
            
    TogglePlayerControllable(params[0], true);
            
    SpawnPlayer(params[0]);
            
    format(stringsizeof(string), "Вы были уволены лидером %s"giveplayer);
            
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
            
    SaveFrac(params[0]);
        }
        return 
    1;

    Последний раз редактировалось TwixXtra; 25.01.2016 в 20:44.

Ваши права

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