Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15
  1. #11
    Аватар для DeimoS
    Модератор?

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

    Потом, во второй, как и в первой, команде есть вот такой код (только в первой перевод нормальный)
    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,467
    Репутация:
    265 ±
    Мазахист:
    PHP код:
    #if !defined COLOR_LIGHTRED
        #define COLOR_LIGHTRED 0xFF0000FF
    #endif 
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Или без этого макроса твою команду вообще никак нереально реализовать, что оправдывает существование этого макроса? Хмм... Давайте-ка попробуем вместе! Вот код:
    PHP код:
    SCM(playeridCOLOR_LIGHTRED"Игрок с данным ID не состоит в фракции"); 
    Лёгким движением пальцев он превращается вот в это:
    PHP код:
    SendClientMessage(playerid0xFF0000FF"Игрок с данным ID не состоит в фракции"); 
    сохранив свою работоспособность, при этом став адаптированным под любого пользователя. Чудо, не правда ли?
    Оригинально. Теперь то я знаю, чем ты год в Москве занимался.
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Ты же мастурбацией не начнёшь заниматься, стоя в очереди в магазине? Или начнёшь?

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

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

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

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

 

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

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

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

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

Ваши права

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