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

Тема: sscanf

  1. #1
    Аватар для #Johnson
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±

    sscanf

    Когда ввожу /adjust invite или uninvite, или rank и ввожу там ид игрока и все как нужно, то пишет "Неправильно отредактирована Категория !", не могу понять в чем ошибка.

    PHP код:
    CMD:adjust(playerid,params[])
    {
        if(
    PlayerInfo[playerid][pFMember] == CIVILIAN) return SendClientMessage(playeridCOLOR_GREY"   Вы не член Банды !");
        new 
    family PlayerInfo[playerid][pFMember];
        new 
    strings[24];
        
    format(stringssizeof(strings), "%s"PlayerName(playerid));
        if(
    strcmp(FamilyInfo[family][FamilyLeader],stringstrue) == ||
                (
    family >= && family <= && PlayerInfo[playerid][pRank] >= 6))
        {   
    //если ваше имя совпало с именем в списке gangs
            
    if(sscanf(params,"s[10]",params[0]))
            {
                
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]");
                
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank");
                return 
    1;
            }
            if(
    strcmp(params[0],"spawn",true) == 0)
            {
                if(
    PlayerCuffed[playerid] < MAX_PLAYERS-1) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете связать когда у вас надеты наручники !");
                if(
    PlayerTied[playerid] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете надеть наручники когда связаны !");
                
    GetPlayerPos(playeridFamilyInfo[family][FamilySpawn][0],FamilyInfo[family][FamilySpawn][1],FamilyInfo[family][FamilySpawn][2]);
                
    GetPlayerFacingAngle(playeridFamilyInfo[family][FamilySpawn][3]);
                
    FamilyInfo[family][FamilyInterior] = GetPlayerInterior(playerid);
                
    //SaveFamilies();
                
    SendClientMessage(playeridCOLOR_LIGHTBLUE"   Вы отредактировали место появления вашей Банды !");
                return 
    1;
            }
            else if(
    strcmp(params[0],"invite",true) == 0)
            {
                
    printf("params[0] = %s",params[0]);
                if(
    sscanf(params,"s[10]u",params[0],params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust invite [playerid/PartOfName]");
                if(
    IsPlayerConnected(params[1]) && !IsPlayerNPC(params[1]))
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember]>=1&&PlayerInfo[params[1]][pFMember]<=9) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Банде !");
                        if(
    PlayerInfo[params[1]][pJob] != || GettingJob[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы Не Можете пригласить его, т.к. игрок имеет Работу или устраивается !");
                        if(
    PlayerInfo[params[1]][pMember] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Организации !");
                        
    PlayerInfo[params[1]][pFMember] = family;
                        
    PlayerInfo[params[1]][pRank] = 1;
                        
    FamilyInfo[family][FamilyMembers] ++;
                        
    //SaveFamilies();
                        
    new string[61+(MAX_PLAYER_NAME)+35];
                        
    format(stringsizeof(string), "* Вы пригласили %s присоединиться к '%s'.",PlayerName(params[1]), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* %s пригласил Вас присоединиться к '%s', Вы - теперь член Банды.",PlayerName(playerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
                    return 
    1;
                }
            }
            else if(
    strcmp(params[0],"uninvite",true) == 0)
            {
                if(
    sscanf(params,"s[13]u",params[0],params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]");
                if(
    params[1] == playerid) { SendClientMessage(playeridCOLOR_GREY"   Вы не можете выгнать самого себя!"); return 1; }
                if(!
    IsPlayerConnected(params[1]) && params[1] == INVALID_PLAYER_ID && params[1] != playerid)
                {
                    
    params[1] = MAX_PLAYERS-2;
                    
    OnPlayerLoadParameters(params[1], PlayerName(params[1]));
                    if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                    
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                    
    PlayerInfo[params[1]][pRank] = 0;
                    
    FamilyInfo[family][FamilyMembers] --;
                    
    //SaveFamilies();
                    //--------------------------------------------------
                    
    new ind;
                    new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                    
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                    for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                    
    {
                        if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                        { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                    }
                    new 
    rand random(ind);
                    
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                    
    //--------------------------------------------------
                    
    SaveAccount(params[1]);
                    new 
    string[29+(MAX_PLAYER_NAME)];
                    
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    return 
    1;
                }
    //not connected
                
    else
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        if(
    PlayerTied[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок Связан !");
                        
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                        
    PlayerInfo[params[1]][pRank] = 0;
                        
    FamilyInfo[family][FamilyMembers] --;
                        
    //SaveFamilies();
                        //--------------------------------------------------
                        
    new ind;
                        new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                        
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                        for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                        
    {
                            if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                            { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                        }
                        new 
    rand random(ind);
                        
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                        
    //--------------------------------------------------
                        
    new string[35+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s выгнал вас из Банды.",PlayerName(playerid));
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                    return 
    1;
                }
            }
            else if(
    strcmp(params[0],"rank",true) == 0)
            {
                if(
    sscanf(params,"s[12]du",params[0],params[1],params[2])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
                if(
    params[1] < || params[1] > 6) { SendClientMessage(playeridCOLOR_GREY"   Ранг может быть от 1 до 6 !"); return 1; }
                if(
    IsPlayerConnected(params[2]) && !IsPlayerNPC(params[2]))
                {
                    if(
    params[2] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[2]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        
    PlayerInfo[params[2]][pRank] = params[1];
                        
    //SaveFamilies();
                        
    new string[29+1+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы дали %s Ранг %d.",PlayerName(params[2]),params[1]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s дал вам Ранг %d.",PlayerName(playerid),params[1]);
                        
    SendClientMessage(params[2], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"   Неправельно отредактирована Категория !");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"   Вы - не Глава этой Банды !");
        return 
    1;
    }
    //end /adjust 

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    if(sscanf(params,"s[10]",params[0])) 

        
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]"); 
        
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank"); 
        return 
    1

    на
    PHP код:
    if(isnull(params)) 

        
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]"); 
        
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank"); 
        return 
    1

    И все "params[0]" на "params"
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    PHP код:
    if(sscanf(params,"s[10]",params[0])) 

        
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]"); 
        
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank"); 
        return 
    1

    на
    PHP код:
    if(isnull(params)) 

        
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]"); 
        
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank"); 
        return 
    1

    И все "params[0]" на "params"
    Проблема осталась та же!
    PHP код:
    CMD:adjust(playerid,params[])
    {
        if(
    PlayerInfo[playerid][pFMember] == CIVILIAN) return SendClientMessage(playeridCOLOR_GREY"   Вы не член Банды !");
        new 
    family PlayerInfo[playerid][pFMember];
        new 
    strings[24];
        
    format(stringssizeof(strings), "%s"PlayerName(playerid));
        if(
    strcmp(FamilyInfo[family][FamilyLeader],stringstrue) == ||
                (
    family >= && family <= && PlayerInfo[playerid][pRank] >= 6))
        {   
    //если ваше имя совпало с именем в списке gangs
            
    if(isnull(params))
            {
                
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]");
                
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank");
                return 
    1;
            }
            if(
    strcmp(params,"spawn",true) == 0)
            {
                if(
    PlayerCuffed[playerid] < MAX_PLAYERS-1) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете связать когда у вас надеты наручники !");
                if(
    PlayerTied[playerid] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете надеть наручники когда связаны !");
                
    GetPlayerPos(playeridFamilyInfo[family][FamilySpawn][0],FamilyInfo[family][FamilySpawn][1],FamilyInfo[family][FamilySpawn][2]);
                
    GetPlayerFacingAngle(playeridFamilyInfo[family][FamilySpawn][3]);
                
    FamilyInfo[family][FamilyInterior] = GetPlayerInterior(playerid);
                
    //SaveFamilies();
                
    SendClientMessage(playeridCOLOR_LIGHTBLUE"   Вы отредактировали место появления вашей Банды !");
                return 
    1;
            }
            else if(
    strcmp(params,"invite",true) == 0)
            {
                if(
    sscanf(params,"s[10]u",params,params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust invite [playerid/PartOfName]");
                if(
    IsPlayerConnected(params[1]) && !IsPlayerNPC(params[1]))
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember]>=1&&PlayerInfo[params[1]][pFMember]<=9) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Банде !");
                        if(
    PlayerInfo[params[1]][pJob] != || GettingJob[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы Не Можете пригласить его, т.к. игрок имеет Работу или устраивается !");
                        if(
    PlayerInfo[params[1]][pMember] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Организации !");
                        
    PlayerInfo[params[1]][pFMember] = family;
                        
    PlayerInfo[params[1]][pRank] = 1;
                        
    FamilyInfo[family][FamilyMembers] ++;
                        
    //SaveFamilies();
                        
    new string[61+(MAX_PLAYER_NAME)+35];
                        
    format(stringsizeof(string), "* Вы пригласили %s присоединиться к '%s'.",PlayerName(params[1]), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* %s пригласил Вас присоединиться к '%s', Вы - теперь член Банды.",PlayerName(playerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
                    return 
    1;
                }
            }
            else if(
    strcmp(params,"uninvite",true) == 0)
            {
                if(
    sscanf(params,"s[13]u",params,params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]");
                if(
    params[1] == playerid) { SendClientMessage(playeridCOLOR_GREY"   Вы не можете выгнать самого себя!"); return 1; }
                if(!
    IsPlayerConnected(params[1]) && params[1] == INVALID_PLAYER_ID && params[1] != playerid)
                {
                    
    params[1] = MAX_PLAYERS-2;
                    
    OnPlayerLoadParameters(params[1], PlayerName(params[1]));
                    if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                    
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                    
    PlayerInfo[params[1]][pRank] = 0;
                    
    FamilyInfo[family][FamilyMembers] --;
                    
    //SaveFamilies();
                    //--------------------------------------------------
                    
    new ind;
                    new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                    
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                    for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                    
    {
                        if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                        { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                    }
                    new 
    rand random(ind);
                    
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                    
    //--------------------------------------------------
                    
    SaveAccount(params[1]);
                    new 
    string[29+(MAX_PLAYER_NAME)];
                    
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    return 
    1;
                }
    //not connected
                
    else
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        if(
    PlayerTied[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок Связан !");
                        
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                        
    PlayerInfo[params[1]][pRank] = 0;
                        
    FamilyInfo[family][FamilyMembers] --;
                        
    //SaveFamilies();
                        //--------------------------------------------------
                        
    new ind;
                        new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                        
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                        for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                        
    {
                            if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                            { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                        }
                        new 
    rand random(ind);
                        
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                        
    //--------------------------------------------------
                        
    new string[35+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s выгнал вас из Банды.",PlayerName(playerid));
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                    return 
    1;
                }
            }
            else if(
    strcmp(params,"rank",true) == 0)
            {
                if(
    sscanf(params,"s[12]du",params,params[1],params[2])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
                if(
    params[1] < || params[1] > 6) { SendClientMessage(playeridCOLOR_GREY"   Ранг может быть от 1 до 6 !"); return 1; }
                if(
    IsPlayerConnected(params[2]) && !IsPlayerNPC(params[2]))
                {
                    if(
    params[2] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[2]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        
    PlayerInfo[params[2]][pRank] = params[1];
                        
    //SaveFamilies();
                        
    new string[29+1+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы дали %s Ранг %d.",PlayerName(params[2]),params[1]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s дал вам Ранг %d.",PlayerName(playerid),params[1]);
                        
    SendClientMessage(params[2], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"   Неправильно отредактирована Категория !");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"   Вы - не Глава этой Банды !");
        return 
    1;
    }
    //end /adjust 

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Команда изначально построена неверно. Зачем в каждом блоке ты опять вызываешь sscanf, типа
    PHP код:
    if(sscanf(params,"s[13]u",params,params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]"); 
    если ты параметры обработал в самом начале?
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Команда изначально построена неверно. Зачем в каждом блоке ты опять вызываешь sscanf, типа
    PHP код:
    if(sscanf(params,"s[13]u",params,params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]"); 
    если ты параметры обработал в самом начале?
    Потом ведь добавляется новый параметр u (имя игрока).
    Если что то не правильно сделал, подскажите как правильно тогда, буду благодарен.

  6. #6
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Я так понял, тебе нужно добавлять параметры, в зависимости от значения params?
    Вот пример в общем:
    PHP код:
    CMD:set(playeridparams[])
    {
        new 
    pmr[5], playernumber;
        if(
    sscanf(params"s[5] "pmr)) return SendClientMessage(playerid, -1"Введите: /set [skin/hp]");
        else if(!
    strcmp(pmr,"hp",true))
        {
            if(
    sscanf(params"{s[5]}ii"player)) return SendClientMessage(playerid, -1"Введите: /set hp [id игрока]");
            
    SetPlayerHealth(player100.0);
        }
        else if(!
    strcmp(pmr,"skin",true))
        {
            if(
    sscanf(params"{s[5]}ii"player,number)) return SendClientMessage(playerid, -1"Введите: /set skin [id игрока] [id скина]");
            
    SetPlayerSkin(playernumber);
        }
        return 
    1;

    Skype: vitya.saveliev


  7. Пользователь сказал cпасибо:
    #Johnson (19.06.2016)
  8. #7
    Аватар для #Johnson
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Цитата Сообщение от #Vito Посмотреть сообщение
    Я так понял, тебе нужно добавлять параметры, в зависимости от значения params?
    Вот пример в общем:
    PHP код:
    CMD:set(playeridparams[])
    {
        new 
    pmr[5], playernumber;
        if(
    sscanf(params"s[5] "pmr)) return SendClientMessage(playerid, -1"Введите: /set [skin/hp]");
        else if(!
    strcmp(pmr,"hp",true))
        {
            if(
    sscanf(params"{s[5]}ii"player)) return SendClientMessage(playerid, -1"Введите: /set hp [id игрока]");
            
    SetPlayerHealth(player100.0);
        }
        else if(!
    strcmp(pmr,"skin",true))
        {
            if(
    sscanf(params"{s[5]}ii"player,number)) return SendClientMessage(playerid, -1"Введите: /set skin [id игрока] [id скина]");
            
    SetPlayerSkin(playernumber);
        }
        return 
    1;

    Сделал все по примеру, как вы показали. итог:
    Допустим вызываю /adjust invite мне пишет что нужно вызвать вот так вот: /adjust invite [playerid/partOfName], ввожу /adjust invite 1 и пишет все ровно что нужно ввести /adjust invite [playerid/partOfName]. И так со всеми.

    PHP код:
    CMD:adjust(playerid,params[])
    {
        if(
    PlayerInfo[playerid][pFMember] == CIVILIAN) return SendClientMessage(playeridCOLOR_GREY"   Вы не член Банды !");
        new 
    family PlayerInfo[playerid][pFMember];
        new 
    strings[24];
        new 
    giveplayerid;
        
    format(stringssizeof(strings), "%s"PlayerName(playerid));
        if(
    strcmp(FamilyInfo[family][FamilyLeader],stringstrue) == ||
                (
    family >= && family <= && PlayerInfo[playerid][pRank] >= 6))
        {   
    //если ваше имя совпало с именем в списке gangs
            
    if(sscanf(params,"s[10] ",params[0]))
            {
                
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]");
                
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank");
                return 
    1;
            }
            else if(
    strcmp(params[0],"spawn",true))
            {
                if(
    PlayerCuffed[playerid] < MAX_PLAYERS-1) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете связать когда у вас надеты наручники !");
                if(
    PlayerTied[playerid] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете надеть наручники когда связаны !");
                
    GetPlayerPos(playeridFamilyInfo[family][FamilySpawn][0],FamilyInfo[family][FamilySpawn][1],FamilyInfo[family][FamilySpawn][2]);
                
    GetPlayerFacingAngle(playeridFamilyInfo[family][FamilySpawn][3]);
                
    FamilyInfo[family][FamilyInterior] = GetPlayerInterior(playerid);
                
    //SaveFamilies();
                
    SendClientMessage(playeridCOLOR_LIGHTBLUE"   Вы отредактировали место появления вашей Банды !");
                return 
    1;
            }
            else if(
    strcmp(params[0],"invite",true))
            {
                if(
    sscanf(params[0],"{s[10]}u",giveplayerid)) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust invite [playerid/PartOfName]");
                if(
    IsPlayerConnected(giveplayerid) && !IsPlayerNPC(giveplayerid))
                {
                    if(
    giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[giveplayerid][pFMember]>=1&&PlayerInfo[params[1]][pFMember]<=9) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Банде !");
                        if(
    PlayerInfo[giveplayerid][pJob] != || GettingJob[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы Не Можете пригласить его, т.к. игрок имеет Работу или устраивается !");
                        if(
    PlayerInfo[giveplayerid][pMember] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Организации !");
                        
    PlayerInfo[giveplayerid][pFMember] = family;
                        
    PlayerInfo[giveplayerid][pRank] = 1;
                        
    FamilyInfo[family][FamilyMembers] ++;
                        
    //SaveFamilies();
                        
    new string[61+(MAX_PLAYER_NAME)+35];
                        
    format(stringsizeof(string), "* Вы пригласили %s присоединиться к '%s'.",PlayerName(giveplayerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* %s пригласил Вас присоединиться к '%s', Вы - теперь член Банды.",PlayerName(playerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
                    return 
    1;
                }
            }
            else if(!
    strcmp(params[0],"uninvite",true))
            {
                if(
    sscanf(params[0],"{s[10]}u",params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]");
                if(
    params[1] == playerid) { SendClientMessage(playeridCOLOR_GREY"   Вы не можете выгнать самого себя!"); return 1; }
                if(!
    IsPlayerConnected(params[1]) && params[1] == INVALID_PLAYER_ID && params[1] != playerid)
                {
                    
    params[1] = MAX_PLAYERS-2;
                    
    OnPlayerLoadParameters(params[1], PlayerName(params[1]));
                    if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                    
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                    
    PlayerInfo[params[1]][pRank] = 0;
                    
    FamilyInfo[family][FamilyMembers] --;
                    
    //SaveFamilies();
                    //--------------------------------------------------
                    
    new ind;
                    new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                    
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                    for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                    
    {
                        if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                        { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                    }
                    new 
    rand random(ind);
                    
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                    
    //--------------------------------------------------
                    
    SaveAccount(params[1]);
                    new 
    string[29+(MAX_PLAYER_NAME)];
                    
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    return 
    1;
                }
    //not connected
                
    else
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        if(
    PlayerTied[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок Связан !");
                        
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                        
    PlayerInfo[params[1]][pRank] = 0;
                        
    FamilyInfo[family][FamilyMembers] --;
                        
    //SaveFamilies();
                        //--------------------------------------------------
                        
    new ind;
                        new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                        
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                        for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                        
    {
                            if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                            { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                        }
                        new 
    rand random(ind);
                        
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                        
    //--------------------------------------------------
                        
    new string[35+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s выгнал вас из Банды.",PlayerName(playerid));
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                    return 
    1;
                }
            }
            else if(
    strcmp(params[0],"rank",true))
            {
                if(
    sscanf(params[0],"{s[10]}du",params[1],params[2])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
                if(
    params[1] < || params[1] > 6) { SendClientMessage(playeridCOLOR_GREY"   Ранг может быть от 1 до 6 !"); return 1; }
                if(
    IsPlayerConnected(params[2]) && !IsPlayerNPC(params[2]))
                {
                    if(
    params[2] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[2]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        
    PlayerInfo[params[2]][pRank] = params[1];
                        
    //SaveFamilies();
                        
    new string[29+1+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы дали %s Ранг %d.",PlayerName(params[2]),params[1]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s дал вам Ранг %d.",PlayerName(playerid),params[1]);
                        
    SendClientMessage(params[2], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"   Неправильно отредактирована Категория !");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"   Вы - не Глава этой Банды !");
        return 
    1;
    }
    //end /adjust 

  9. #8
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Немного неправильно использовал, вот так пробуй:
    PHP код:
    CMD:adjust(playerid,params[])
    {
        if(
    PlayerInfo[playerid][pFMember] == CIVILIAN) return SendClientMessage(playeridCOLOR_GREY"   Вы не член Банды !");
        new 
    family PlayerInfo[playerid][pFMember];
        new 
    strings[24];
        new 
    giveplayeridknp[9];
        
    format(stringssizeof(strings), "%s"PlayerName(playerid));
        if(
    strcmp(FamilyInfo[family][FamilyLeader],stringstrue) == ||
                (
    family >= && family <= && PlayerInfo[playerid][pRank] >= 6))
        {   
    //если ваше имя совпало с именем в списке gangs
            
    if(sscanf(params,"s[10] ",knp))
            {
                
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]");
                
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank");
                return 
    1;
            }
            else if(
    strcmp(knp,"spawn",true))
            {
                if(
    PlayerCuffed[playerid] < MAX_PLAYERS-1) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете связать когда у вас надеты наручники !");
                if(
    PlayerTied[playerid] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете надеть наручники когда связаны !");
                
    GetPlayerPos(playeridFamilyInfo[family][FamilySpawn][0],FamilyInfo[family][FamilySpawn][1],FamilyInfo[family][FamilySpawn][2]);
                
    GetPlayerFacingAngle(playeridFamilyInfo[family][FamilySpawn][3]);
                
    FamilyInfo[family][FamilyInterior] = GetPlayerInterior(playerid);
                
    //SaveFamilies();
                
    SendClientMessage(playeridCOLOR_LIGHTBLUE"   Вы отредактировали место появления вашей Банды !");
                return 
    1;
            }
            else if(
    strcmp(knp,"invite",true))
            {
                if(
    sscanf(params,"{s[10]}u",giveplayerid)) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust invite [playerid/PartOfName]");
                if(
    IsPlayerConnected(giveplayerid) && !IsPlayerNPC(giveplayerid))
                {
                    if(
    giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[giveplayerid][pFMember]>=1&&PlayerInfo[params[1]][pFMember]<=9) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Банде !");
                        if(
    PlayerInfo[giveplayerid][pJob] != || GettingJob[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы Не Можете пригласить его, т.к. игрок имеет Работу или устраивается !");
                        if(
    PlayerInfo[giveplayerid][pMember] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Организации !");
                        
    PlayerInfo[giveplayerid][pFMember] = family;
                        
    PlayerInfo[giveplayerid][pRank] = 1;
                        
    FamilyInfo[family][FamilyMembers] ++;
                        
    //SaveFamilies();
                        
    new string[61+(MAX_PLAYER_NAME)+35];
                        
    format(stringsizeof(string), "* Вы пригласили %s присоединиться к '%s'.",PlayerName(giveplayerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* %s пригласил Вас присоединиться к '%s', Вы - теперь член Банды.",PlayerName(playerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
                    return 
    1;
                }
            }
            else if(!
    strcmp(params[0],"uninvite",true))
            {
                if(
    sscanf(params,"{s[10]}u",params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]");
                if(
    params[1] == playerid) { SendClientMessage(playeridCOLOR_GREY"   Вы не можете выгнать самого себя!"); return 1; }
                if(!
    IsPlayerConnected(params[1]) && params[1] == INVALID_PLAYER_ID && params[1] != playerid)
                {
                    
    params[1] = MAX_PLAYERS-2;
                    
    OnPlayerLoadParameters(params[1], PlayerName(params[1]));
                    if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                    
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                    
    PlayerInfo[params[1]][pRank] = 0;
                    
    FamilyInfo[family][FamilyMembers] --;
                    
    //SaveFamilies();
                    //--------------------------------------------------
                    
    new ind;
                    new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                    
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                    for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                    
    {
                        if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                        { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                    }
                    new 
    rand random(ind);
                    
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                    
    //--------------------------------------------------
                    
    SaveAccount(params[1]);
                    new 
    string[29+(MAX_PLAYER_NAME)];
                    
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    return 
    1;
                }
    //not connected
                
    else
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        if(
    PlayerTied[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок Связан !");
                        
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                        
    PlayerInfo[params[1]][pRank] = 0;
                        
    FamilyInfo[family][FamilyMembers] --;
                        
    //SaveFamilies();
                        //--------------------------------------------------
                        
    new ind;
                        new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                        
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                        for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                        
    {
                            if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                            { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                        }
                        new 
    rand random(ind);
                        
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                        
    //--------------------------------------------------
                        
    new string[35+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s выгнал вас из Банды.",PlayerName(playerid));
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                    return 
    1;
                }
            }
            else if(
    strcmp(params[0],"rank",true))
            {
                if(
    sscanf(params[0],"{s[10]}du",params[1],params[2])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
                if(
    params[1] < || params[1] > 6) { SendClientMessage(playeridCOLOR_GREY"   Ранг может быть от 1 до 6 !"); return 1; }
                if(
    IsPlayerConnected(params[2]) && !IsPlayerNPC(params[2]))
                {
                    if(
    params[2] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[2]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        
    PlayerInfo[params[2]][pRank] = params[1];
                        
    //SaveFamilies();
                        
    new string[29+1+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы дали %s Ранг %d.",PlayerName(params[2]),params[1]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s дал вам Ранг %d.",PlayerName(playerid),params[1]);
                        
    SendClientMessage(params[2], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"   Неправильно отредактирована Категория !");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"   Вы - не Глава этой Банды !");
        return 
    1;
    }
    //end /adjust 
    Skype: vitya.saveliev


  10. Пользователь сказал cпасибо:
    #Johnson (19.06.2016)
  11. #9
    Аватар для #Johnson
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.05.2016
    Сообщений
    34
    Репутация:
    0 ±
    Цитата Сообщение от #Vito Посмотреть сообщение
    Немного неправильно использовал, вот так пробуй:
    PHP код:
    CMD:adjust(playerid,params[])
    {
        if(
    PlayerInfo[playerid][pFMember] == CIVILIAN) return SendClientMessage(playeridCOLOR_GREY"   Вы не член Банды !");
        new 
    family PlayerInfo[playerid][pFMember];
        new 
    strings[24];
        new 
    giveplayeridknp[9];
        
    format(stringssizeof(strings), "%s"PlayerName(playerid));
        if(
    strcmp(FamilyInfo[family][FamilyLeader],stringstrue) == ||
                (
    family >= && family <= && PlayerInfo[playerid][pRank] >= 6))
        {   
    //если ваше имя совпало с именем в списке gangs
            
    if(sscanf(params,"s[10] ",knp))
            {
                
    SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust [name]");
                
    SendClientMessage(playeridCOLOR_WHITE"Available Category: MOTD, Spawn, Invite, Uninvite, Rank");
                return 
    1;
            }
            else if(
    strcmp(knp,"spawn",true))
            {
                if(
    PlayerCuffed[playerid] < MAX_PLAYERS-1) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете связать когда у вас надеты наручники !");
                if(
    PlayerTied[playerid] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы не можете надеть наручники когда связаны !");
                
    GetPlayerPos(playeridFamilyInfo[family][FamilySpawn][0],FamilyInfo[family][FamilySpawn][1],FamilyInfo[family][FamilySpawn][2]);
                
    GetPlayerFacingAngle(playeridFamilyInfo[family][FamilySpawn][3]);
                
    FamilyInfo[family][FamilyInterior] = GetPlayerInterior(playerid);
                
    //SaveFamilies();
                
    SendClientMessage(playeridCOLOR_LIGHTBLUE"   Вы отредактировали место появления вашей Банды !");
                return 
    1;
            }
            else if(
    strcmp(knp,"invite",true))
            {
                if(
    sscanf(params,"{s[10]}u",giveplayerid)) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust invite [playerid/PartOfName]");
                if(
    IsPlayerConnected(giveplayerid) && !IsPlayerNPC(giveplayerid))
                {
                    if(
    giveplayerid != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[giveplayerid][pFMember]>=1&&PlayerInfo[params[1]][pFMember]<=9) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Банде !");
                        if(
    PlayerInfo[giveplayerid][pJob] != || GettingJob[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Вы Не Можете пригласить его, т.к. игрок имеет Работу или устраивается !");
                        if(
    PlayerInfo[giveplayerid][pMember] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок находится уже в Организации !");
                        
    PlayerInfo[giveplayerid][pFMember] = family;
                        
    PlayerInfo[giveplayerid][pRank] = 1;
                        
    FamilyInfo[family][FamilyMembers] ++;
                        
    //SaveFamilies();
                        
    new string[61+(MAX_PLAYER_NAME)+35];
                        
    format(stringsizeof(string), "* Вы пригласили %s присоединиться к '%s'.",PlayerName(giveplayerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* %s пригласил Вас присоединиться к '%s', Вы - теперь член Банды.",PlayerName(playerid), FamilyInfo[family][FamilyName]);
                        
    SendClientMessage(giveplayeridCOLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
                    return 
    1;
                }
            }
            else if(!
    strcmp(params[0],"uninvite",true))
            {
                if(
    sscanf(params,"{s[10]}u",params[1])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust uninvite [playerid/PartOfName]");
                if(
    params[1] == playerid) { SendClientMessage(playeridCOLOR_GREY"   Вы не можете выгнать самого себя!"); return 1; }
                if(!
    IsPlayerConnected(params[1]) && params[1] == INVALID_PLAYER_ID && params[1] != playerid)
                {
                    
    params[1] = MAX_PLAYERS-2;
                    
    OnPlayerLoadParameters(params[1], PlayerName(params[1]));
                    if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                    
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                    
    PlayerInfo[params[1]][pRank] = 0;
                    
    FamilyInfo[family][FamilyMembers] --;
                    
    //SaveFamilies();
                    //--------------------------------------------------
                    
    new ind;
                    new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                    
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                    for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                    
    {
                        if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                        { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                    }
                    new 
    rand random(ind);
                    
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                    
    //--------------------------------------------------
                    
    SaveAccount(params[1]);
                    new 
    string[29+(MAX_PLAYER_NAME)];
                    
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                    
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                    return 
    1;
                }
    //not connected
                
    else
                {
                    if(
    params[1] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[1]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        if(
    PlayerTied[params[1]] > 0) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок Связан !");
                        
    PlayerInfo[params[1]][pFMember] = CIVILIAN;
                        
    PlayerInfo[params[1]][pRank] = 0;
                        
    FamilyInfo[family][FamilyMembers] --;
                        
    //SaveFamilies();
                        //--------------------------------------------------
                        
    new ind;
                        new 
    Clothes[MAX_SKINS];//массив для хранения найденых
                        
    pGender PlayerInfo[params[1]][pSex]; pTypePed[params[1]] = NormalPed;
                        for(new 
    i=0i<MAX_SKINSi++)//сканируем все скины
                        
    {
                            if(
    SkinName[i][Type_Ped]==pTypePed[params[1]] && SkinName[i][Gender]==pGender)
                            { 
    ind++; Clothes[ind]=SkinName[i][Skin_ID];    break; }
                        }
                        new 
    rand random(ind);
                        
    PlayerInfo[params[1]][pModel] = Clothes[rand];
                        
    //--------------------------------------------------
                        
    new string[35+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы выгнали %s из вашей Банды.",PlayerName(params[1]));
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s выгнал вас из Банды.",PlayerName(playerid));
                        
    SendClientMessage(params[1], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                    return 
    1;
                }
            }
            else if(
    strcmp(params[0],"rank",true))
            {
                if(
    sscanf(params[0],"{s[10]}du",params[1],params[2])) return SendClientMessage(playeridCOLOR_GRAYWHITE"USAGE: /adjust rank [RankNr] [playerid/PartOfName]");
                if(
    params[1] < || params[1] > 6) { SendClientMessage(playeridCOLOR_GREY"   Ранг может быть от 1 до 6 !"); return 1; }
                if(
    IsPlayerConnected(params[2]) && !IsPlayerNPC(params[2]))
                {
                    if(
    params[2] != INVALID_PLAYER_ID)
                    {
                        if(
    PlayerInfo[params[2]][pFMember] != family) return SendClientMessage(playeridCOLOR_GREY"   Этот игрок не является членом вашей Банды !");
                        
    PlayerInfo[params[2]][pRank] = params[1];
                        
    //SaveFamilies();
                        
    new string[29+1+(MAX_PLAYER_NAME)];
                        
    format(stringsizeof(string), "* Вы дали %s Ранг %d.",PlayerName(params[2]),params[1]);
                        
    SendClientMessage(playeridCOLOR_LIGHTBLUEstring);
                        
    format(stringsizeof(string), "* Глава Банды %s дал вам Ранг %d.",PlayerName(playerid),params[1]);
                        
    SendClientMessage(params[2], COLOR_LIGHTBLUEstring);
                        return 
    1;
                    }
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"   Этого игрока нету на сервере !");
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"   Неправильно отредактирована Категория !");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"   Вы - не Глава этой Банды !");
        return 
    1;
    }
    //end /adjust 
    Спасибо, остался последний вопрос. Почему лучше использовать отдельные переменные вместо массивов params ?

  12. #10
    Аватар для #Vito
    #define

    Статус
    Оффлайн
    Регистрация
    14.09.2013
    Адрес
    Одесса
    Сообщений
    129
    Репутация:
    38 ±
    Отдельные перменные нужно использовать только в командах такого типа, т.к. с params такие команды не хотят работать (Очень давно пытался сделать, но они не срабатывали..)
    В остальных же случаях лучше использовать массивы params
    Skype: vitya.saveliev


 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

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

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

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

Ваши права

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