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

Реклама


 
IP:176.32.36.96:7777 Ha6op adm,liderov + bonuse.

**Как получить V.I.P** (Перейти)
Чтобы заказать рекламу на Pro-Pawn.Ru, обращайтесь в Skype.
Баннерная реклама 100руб/мес, Текстовая 50руб/мес.
Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15
  1. #11
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,118
    Репутация:
    1254 ±
    В первой команде лучше всё же начать табуляцию прямо от начала (левого края, а не делать отступ), дабы удобнее было вставлять код в скрипт.

    Потом, во второй, как и в первой, команде есть вот такой код (только в первой перевод нормальный)
    PHP код:
    if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"????? ?? ??????!"); 
    В котором и перевод косячный (ну это и ежу понятно), и условие не сработает, пока ты сам не введёшь "65535". IsPlayerConnect для кого придуман? Да и поздновато ты значение переменной с ID проверяешь. Если игрок введёт значение, которое больше твоего MAX_PLAYERS (или меньше 0), у тебя будет выход за пределы массива в проверке, типа:
    PHP код:
    if(PlayerInfo[giveplayerid][pLeader] != 0) return SendClientMessage(playerid, -1"Вы указали ID лидера!"); 
    Да и что за "params[0]", если в sscanf уже указаны переменные (которые ты, кстати, не объявил. Они из воздуха появляются, видимо)? Так же и с макросами для цветов - не везде изменил их (да и менять их на "-1", а не настоящие цвета - довольно халтурно...)


    Ну и возвраты я бы расставил чуть иначе, ибо это тяжко читать глазам...

    Да и вот такие сокращения оставь, пожалуйста, на p-i
    PHP код:
    GetPlayerName(playeridsendernamesizeof(sendername)), GetPlayerName(giveplayeridgiveplayersizeof(giveplayer)); 
    Вообще вот тебе готовая тема. Не благодари


      Открыть/закрыть
    Здравствуйте пользователи и гости форума pro-pawn.ru.
    Без всяких подробностей перейдём к команде.
    Команда /arank - позволяет администратору сервера изменить ранг игрока в любой организации.

    • Использование:
      • /arank [id] [rang]


    Видел данную команду на некоторых серверах и решил написай под свой.

    Предупреждение:
    Команда сделана под мой мод где в каждой организации по 10 рангов(10 - лидер). Если у вас не так то подстройте команду под себя.


    Каждую строку я опишу.


    • Вариант для обычного командного процессора + ReturnUser:

    PHP код:
    else if(strcmp(cmd"/arank"true) == 0
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5)
            return 
    SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");
            
        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
        new 
    giveplayerid ReturnUser(tmp),
            
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME],
            
    rang
            
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
        if(!
    IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрок не найдён!");
        if(
    PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!");
        if(
    PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции");
            
        
    tmp strtok(cmdtextidx);
        
    rang strval(tmp);
        
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
            
        if(
    rang || rang 9
            return 
    SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");
            
        
    PlayerInfo[giveplayerid][pRang] = rang;
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang); 
        
    SendClientMessage(giveplayerid, -1string);
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);
        
    SendClientMessage(playerid, -1string);
        return 
    1;

     Объяснение кода:
    PHP код:
    else if(strcmp(cmd"/arank"true) == 0// Команда
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5// Проверка на админку(меняйте под свое тут 5+ адм лвл).
            
    return SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");

        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку
        
    new giveplayerid ReturnUser(tmp),
            
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME],
            
    rang// Создаём переменные + зразу даём одной определение

        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer)); // Записываем в массивы ник-неймы игроков.

        
    if(!IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрок не найдён!"); // Проверка: если игрока с указанным id нет на сервер тогда ошибка.
        
    if(PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!"); // Проверка: если игрок(которому выдают ранг) лидер тогда ошибка.
        
    if(PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции"); // Проверка: если игрок не состоит в организации тогда ошибка.

        
    tmp strtok(cmdtextidx);
        
    rang strval(tmp); // присваиваем переменной rang значение указанного ранга

        
    if(!strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку

        
    if(rang || rang 9// Проверка: Если указан ранг меньше 1 и больше 9 то ошибка [Меняем на свои минимальные и максимальные ранги].
            
    return SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!"); // Ошибка к проверке на ранг

        
    PlayerInfo[giveplayerid][pRang] = rang// Изменяем ранг
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang); // Форматируем текст для игрока которому изменили ранг
        
    SendClientMessage(giveplayerid, -1string); // Отправляем текст для игрока которому изменили ранг
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang); // Форматируем текст для администратора
        
    SendClientMessage(playerid, -1string); // Отправляем текст для администратора
        
    return 1;



    • Вариант на DC_CMD/ZCMD + sscanf2:


    PHP код:
    CMD:arank(playeridparams[])
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5)
            return 
    SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");
            
        new 
    giveplayerid,
            
    rang;
            
        if(
    sscanf(params"dd"giveplayeridrang))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
        if(!
    IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрока с данным ID нет на сервере!");
        
        new 
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME];
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
        if(
    PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!");
        if(
    PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции!"
        
    if(rang || rang 9)
            return 
    SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");
            
        
    PlayerInfo[giveplayerid][pRang] = rang;
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang);
        
    SendClientMessage(giveplayerid, -1string);
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);
        
    SendClientMessage(playerid, -1string);
        return 
    1;


    Можешь скопировать, начав цитировать это сообщение и использовать в шапке темы
    Собстно, не идеально и можно ещё пошаманить с оформлением, но лучше, чем у тебя, как мне кажется. И код оформлен более-менее похоже на то, как принято кодить на pro-pawn.

    И совет на будущее. Если хочешь остаться на этом форуме и научиться кодить (если не умеешь), при этом обзаведясь авторитетом, уделяй коду, который выкладываешь на форум, больше внимания. Тут не p-i и никто тебя хвалить не будет с целью набить себе очередной пост. Большая часть людей тебе всегда поможет, если ты сам будешь проявлять инициативу. Если же ты будешь и дальше так халтурно относится к своим темам, стараясь лишь набить репутацию, тебя быстро с этого форума изживут, увы :)
    Последний раз редактировалось DeimoS; 25.02.2016 в 00:51.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

  2. #12
    Аватар для MrJu[N]ior
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.02.2016
    Сообщений
    5
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    В первой команде лучше всё же начать табуляцию прямо от начала (левого края, а не делать отступ), дабы удобнее было вставлять код в скрипт.

    Потом, во второй, как и в первой, команде есть вот такой код (только в первой перевод нормальный)
    PHP код:
    if(params[0] == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"????? ?? ??????!"); 
    В котором и перевод косячный (ну это и ежу понятно), и условие не сработает, пока ты сам не введёшь "65535". IsPlayerConnect для кого придуман? Да и поздновато ты значение переменной с ID проверяешь. Если игрок введёт значение, которое больше твоего MAX_PLAYERS (или меньше 0), у тебя будет выход за пределы массива в проверке, типа:
    PHP код:
    if(PlayerInfo[giveplayerid][pLeader] != 0) return SendClientMessage(playerid, -1"Вы указали ID лидера!"); 
    Да и что за "params[0]", если в sscanf уже указаны переменные (которые ты, кстати, не объявил. Они из воздуха появляются, видимо)? Так же и с макросами для цветов - не везде изменил их (да и менять их на "-1", а не настоящие цвета - довольно халтурно...)


    Ну и возвраты я бы расставил чуть иначе, ибо это тяжко читать глазам...

    Да и вот такие сокращения оставь, пожалуйста, на p-i
    PHP код:
    GetPlayerName(playeridsendernamesizeof(sendername)), GetPlayerName(giveplayeridgiveplayersizeof(giveplayer)); 
    Вообще вот тебе готовая тема. Не благодари


      Открыть/закрыть
    Здравствуйте пользователи и гости форума pro-pawn.ru.
    Без всяких подробностей перейдём к команде.
    Команда /arank - позволяет администратору сервера изменить ранг игрока в любой организации.

    • Использование:
      • /arank [id] [rang]


    Видел данную команду на некоторых серверах и решил написай под свой.

    Предупреждение:
    Команда сделана под мой мод где в каждой организации по 10 рангов(10 - лидер). Если у вас не так то подстройте команду под себя.


    Каждую строку я опишу.


    • Вариант для обычного командного процессора + ReturnUser:

    PHP код:
    else if(strcmp(cmd"/arank"true) == 0
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5)
            return 
    SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");
            
        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
        new 
    giveplayerid ReturnUser(tmp),
            
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME],
            
    rang
            
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
        if(!
    IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрок не найдён!");
        if(
    PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!");
        if(
    PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции");
            
        
    tmp strtok(cmdtextidx);
        
    rang strval(tmp);
        
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
            
        if(
    rang || rang 9
            return 
    SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");
            
        
    PlayerInfo[giveplayerid][pRang] = rang;
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang); 
        
    SendClientMessage(giveplayerid, -1string);
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);
        
    SendClientMessage(playerid, -1string);
        return 
    1;

     Объяснение кода:
    PHP код:
    else if(strcmp(cmd"/arank"true) == 0// Команда
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5// Проверка на админку(меняйте под свое тут 5+ адм лвл).
            
    return SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");

        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку
        
    new giveplayerid ReturnUser(tmp),
            
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME],
            
    rang// Создаём переменные + зразу даём одной определение

        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer)); // Записываем в массивы ник-неймы игроков.

        
    if(!IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрок не найдён!"); // Проверка: если игрока с указанным id нет на сервер тогда ошибка.
        
    if(PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!"); // Проверка: если игрок(которому выдают ранг) лидер тогда ошибка.
        
    if(PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции"); // Проверка: если игрок не состоит в организации тогда ошибка.

        
    tmp strtok(cmdtextidx);
        
    rang strval(tmp); // присваиваем переменной rang значение указанного ранга

        
    if(!strlen(tmp))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку

        
    if(rang || rang 9// Проверка: Если указан ранг меньше 1 и больше 9 то ошибка [Меняем на свои минимальные и максимальные ранги].
            
    return SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!"); // Ошибка к проверке на ранг

        
    PlayerInfo[giveplayerid][pRang] = rang// Изменяем ранг
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang); // Форматируем текст для игрока которому изменили ранг
        
    SendClientMessage(giveplayerid, -1string); // Отправляем текст для игрока которому изменили ранг
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang); // Форматируем текст для администратора
        
    SendClientMessage(playerid, -1string); // Отправляем текст для администратора
        
    return 1;



    • Вариант на DC_CMD/ZCMD + sscanf2:


    PHP код:
    CMD:arank(playeridparams[])
    {
        if(
    PlayerInfo[playerid][pAdmin] < 5)
            return 
    SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");
            
        new 
    giveplayerid,
            
    rang;
            
        if(
    sscanf(params"dd"giveplayeridrang))
            return 
    SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");
        if(!
    IsPlayerConnected(giveplayerid))
            return 
    SendClientMessage(playerid, -1"Игрока с данным ID нет на сервере!");
        
        new 
    string[136],
            
    giveplayer[MAX_PLAYER_NAME],
            
    sendername[MAX_PLAYER_NAME];
        
    GetPlayerName(playeridsendernamesizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
        if(
    PlayerInfo[giveplayerid][pLeader] != 0)
            return 
    SendClientMessage(playerid, -1"Вы указали ID лидера!");
        if(
    PlayerInfo[giveplayerid][pMember] == 0)
            return 
    SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции!"
        
    if(rang || rang 9)
            return 
    SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");
            
        
    PlayerInfo[giveplayerid][pRang] = rang;
        
    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang);
        
    SendClientMessage(giveplayerid, -1string);
        
    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);
        
    SendClientMessage(playerid, -1string);
        return 
    1;


     CTRL + C
    Код:
    Здравствуйте пользователи и гости форума pro-pawn.ru. Без всяких подробностей перейдём к команде. Команда /arank - позволяет администратору сервера изменить ранг игрока в любой организации.
    • Использование:
      • /arank [id] [rang]
    Видел данную команду на некоторых серверах и решил написай под свой.
    Предупреждение: Команда сделана под мой мод где в каждой организации по 10 рангов(10 - лидер). Если у вас не так то подстройте команду под себя.
    Каждую строку я опишу.
    • Вариант для обычного командного процессора + ReturnUser:
    PHP код:
    else if(strcmp(cmd"/arank"true) == 0) {    if(PlayerInfo[playerid][pAdmin] < 5)        return SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");            tmp strtok(cmdtextidx);    if(!strlen(tmp))        return SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");    new giveplayerid ReturnUser(tmp),        string[136],        giveplayer[MAX_PLAYER_NAME],        sendername[MAX_PLAYER_NAME],        rang;             GetPlayerName(playeridsendernamesizeof(sendername));    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));        if(!IsPlayerConnected(giveplayerid))        return SendClientMessage(playerid, -1"Игрок не найдён!");    if(PlayerInfo[giveplayerid][pLeader] != 0)        return SendClientMessage(playerid, -1"Вы указали ID лидера!");    if(PlayerInfo[giveplayerid][pMember] == 0)        return SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции");            tmp strtok(cmdtextidx);    rang strval(tmp);        if(!strlen(tmp))        return SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");            if(rang || rang 9)         return SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");            PlayerInfo[giveplayerid][pRang] = rang;    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang);     SendClientMessage(giveplayerid, -1string);    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);    SendClientMessage(playerid, -1string);    return 1;} 
     Объяснение кода:
    PHP код:
    else if(strcmp(cmd"/arank"true) == 0// Команда{    if(PlayerInfo[playerid][pAdmin] < 5// Проверка на админку(меняйте под свое тут 5+ адм лвл).        return SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");    tmp strtok(cmdtextidx);    if(!strlen(tmp))        return SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку    new giveplayerid ReturnUser(tmp),        string[136],        giveplayer[MAX_PLAYER_NAME],        sendername[MAX_PLAYER_NAME],        rang// Создаём переменные + зразу даём одной определение    GetPlayerName(playeridsendernamesizeof(sendername));    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer)); // Записываем в массивы ник-неймы игроков.    if(!IsPlayerConnected(giveplayerid))        return SendClientMessage(playerid, -1"Игрок не найдён!"); // Проверка: если игрока с указанным id нет на сервер тогда ошибка.    if(PlayerInfo[giveplayerid][pLeader] != 0)        return SendClientMessage(playerid, -1"Вы указали ID лидера!"); // Проверка: если игрок(которому выдают ранг) лидер тогда ошибка.    if(PlayerInfo[giveplayerid][pMember] == 0)        return SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции"); // Проверка: если игрок не состоит в организации тогда ошибка.    tmp strtok(cmdtextidx);    rang strval(tmp); // присваиваем переменной rang значение указанного ранга    if(!strlen(tmp))        return SendClientMessage(playerid, -1"Введите: /arank [id] [rang]"); // Если ввёл команду полностью то показывает подсказку    if(rang || rang 9// Проверка: Если указан ранг меньше 1 и больше 9 то ошибка [Меняем на свои минимальные и максимальные ранги].        return SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!"); // Ошибка к проверке на ранг    PlayerInfo[giveplayerid][pRang] = rang// Изменяем ранг    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang); // Форматируем текст для игрока которому изменили ранг    SendClientMessage(giveplayerid, -1string); // Отправляем текст для игрока которому изменили ранг    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang); // Форматируем текст для администратора    SendClientMessage(playerid, -1string); // Отправляем текст для администратора    return 1;} 
    • Вариант на DC_CMD/ZCMD + sscanf2:
    PHP код:
    CMD:arank(playeridparams[]){    if(PlayerInfo[playerid][pAdmin] < 5)        return SendClientMessage(playerid, -1"Вы не уполномочены использовать данную команду!");            new giveplayerid,        rang;            if(sscanf(params"dd"giveplayeridrang))        return SendClientMessage(playerid, -1"Введите: /arank [id] [rang]");    if(!IsPlayerConnected(giveplayerid))        return SendClientMessage(playerid, -1"Игрока с данным ID нет на сервере!");        new string[136],        giveplayer[MAX_PLAYER_NAME],        sendername[MAX_PLAYER_NAME];    GetPlayerName(playeridsendernamesizeof(sendername));    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));        if(PlayerInfo[giveplayerid][pLeader] != 0)        return SendClientMessage(playerid, -1"Вы указали ID лидера!");    if(PlayerInfo[giveplayerid][pMember] == 0)        return SendClientMessage(playerid, -1"Игрок с данным ID не состоит в фракции!"    if(rang || rang 9)        return SendClientMessage(playerid, -1"Нельзя установить ранг менее 1 или более 9!");            PlayerInfo[giveplayerid][pRang] = rang;    format(stringsizeof(string), "Администратор %s[%d] изменил ваш ранг на %d"sendernameplayeridrang);    SendClientMessage(giveplayerid, -1string);    format(stringsizeof(string), "Вы изменили ранг %s[%d] на %d"giveplayergiveplayeridrang);    SendClientMessage(playerid, -1string);    return 1;} 

    Собстно, не идеально и можно ещё пошаманить с оформлением, но лучше, чем у тебя, как мне кажется. И код оформлен более-менее похоже на то, как принято кодить на pro-pawn.

    И совет на будущее. Если хочешь остаться на этом форуме и научиться кодить (если не умеешь), при этом обзаведясь авторитетом, уделяй коду, который выкладываешь на форум, больше внимания. Тут не p-i и никто тебя хвалить не будет с целью набить себе очередной пост. Большая часть людей тебе всегда поможет, если ты сам будешь проявлять инициативу. Если же ты будешь и дальше так халтурно относится к своим темам, стараясь лишь набить репутацию, тебя быстро с этого форума изживут, увы :)
    Все обязательно учту. Спасибо. Подправлю позже...

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

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,321
    Репутация:
    232 ±
    Мазахист:
    PHP код:
    #if !defined COLOR_LIGHTRED
        #define COLOR_LIGHTRED 0xFF0000FF
    #endif 
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Или без этого макроса твою команду вообще никак нереально реализовать, что оправдывает существование этого макроса? Хмм... Давайте-ка попробуем вместе! Вот код:
    PHP код:
    SCM(playeridCOLOR_LIGHTRED"Игрок с данным ID не состоит в фракции"); 
    Лёгким движением пальцев он превращается вот в это:
    PHP код:
    SendClientMessage(playerid0xFF0000FF"Игрок с данным ID не состоит в фракции"); 
    сохранив свою работоспособность, при этом став адаптированным под любого пользователя. Чудо, не правда ли?
    Оригинально. Теперь то я знаю, чем ты год в Москве занимался.
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ты же мастурбацией не начнёшь заниматься, стоя в очереди в магазине? Или начнёшь?
    Value your freedom or you will lose it, teaches history. "Don't bother us with politics," respond those who don't want to learn. (c) Richard Stallman

  4. Пользователь сказал cпасибо:
    Anton Styazhkin (25.02.2016)
  5. #14
    Аватар для MrJu[N]ior
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.02.2016
    Сообщений
    5
    Репутация:
    3 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Мазахист:
    PHP код:
    #if !defined COLOR_LIGHTRED
        #define COLOR_LIGHTRED 0xFF0000FF
    #endif 
    Оригинально. Теперь то я знаю, чем ты год в Москве занимался.
    Есть причины почему я тупанул с LIGHTRED. xD

  6. #15
    Аватар для MrJu[N]ior
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.02.2016
    Сообщений
    5
    Репутация:
    3 ±
    Более менее оптимизировал код. Подожду пока кто ещё что-нибудь найдёт.

 

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

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

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

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

Ваши права

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