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

Тема: cmd

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

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±

    cmd

    Здравствуй легендарный портал pro-pawn и его жители!
    Пожалуйста, помогите мне перевести вот эти 2-е команды на cmd:
    За вашу помощь, с меня как полагается!

     cmd: lwarn / unlwarn
    PHP код:
        //================================|/lwarn|==================================
        
    else  if(strcmp(cmd"/lwarn"true) == 0)
        {
            if(
    FD1 || FD2 || FD3)//Проверка на Уровень Админки
            
    {
                    
    tmp strcharsplit(cmdtextidx);
                    if(!
    strlen(tmp)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /lwarn [id] [Причина]");
                    
    giveplayerid ReturnUser(tmp);
                new 
    ftext[25];
                switch(
    PlayerInfo[giveplayerid][pMRInections])//Проверка на лидерство у игрока
                
    {
                    case 
    1: { ftext "LSPD"; }
                    case 
    2: { ftext "FBI"; }
                    case 
    3: { ftext "Army SF"; }
                    case 
    4: { ftext "Мин.Здрава"; }
                    case 
    5: { ftext "La Cosa Nostra"; }
                    case 
    6: { ftext "Yakuza"; }
                    case 
    7: { ftext "Мэрии"; }
                    case 
    10: { ftext "SFPD"; }
                    case 
    11: { ftext "Инструкторов"; }
                    case 
    12: { ftext "Ballas Gang"; }
                    case 
    13: { ftext "Vagos Gang"; }
                    case 
    14: { ftext "Russian Mafia"; }
                    case 
    15: { ftext "Grove Street Gang"; }
                    case 
    16: { ftext "San News"; }
                    case 
    17: { ftext "Aztecas Gang"; }
                    case 
    18: { ftext "Rifa Gang"; }
                    case 
    19: { ftext "Army LV"; }
                    case 
    21: { ftext "LVPD"; }
                    case 
    23: { ftext "Hitmans"; }
                    case 
    24: { ftext "Street Racers"; }
                    case 
    25: { ftext "S.W.A.T"; }
                    case 
    26: { ftext "Правительства"; }
                    default: { 
    ftext "Ошибка"; }
                }
                if(
    PlayerInfo[giveplayerid][pLRInections] == 0) return SendClientMessage(playeridCOLOR_GRAD2"Он не лидер!");
                if(
    IsPlayerConnected(giveplayerid))
                {
                    if(
    giveplayerid != INVALID_PLAYER_ID)
                    {
                        new 
    length strlen(cmdtext);
                        while ((
    idx length) && (cmdtext[idx] <= ' '))
                        {
                            
    idx++;
                        }
                        new 
    offset idx;
                        new 
    result[64];
                        while ((
    idx length) && ((idx offset) < (sizeof(result) - 1)))
                        {
                            
    result[idx offset] = cmdtext[idx];
                            
    idx++;
                        }
                        
    result[idx offset] = EOS;
                        if(!
    strlen(result)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /lwarn [id] [Причина]");
                        
    PlayerInfo[giveplayerid][pLWarns] += 1;//Выдает +1 выговор
                        
    if(PlayerInfo[giveplayerid][pLWarns] >= 4) return SendClientMessage(playeridCOLOR_GREY"У него 3/3 Выговоров");
                        if(
    PlayerInfo[giveplayerid][pLWarns] >= 3)//Если выговор 3, то
                        
    {
                            
    format(stringersizeof(stringer), "[WARNING!]:{00ff00}%s {ffffff}был снят Администратором {00FF00}%s {ff0000}[Выговор: /3]. {ffffff}Причина: %s "PlayerInfo[giveplayerid][pNames],PlayerInfo[playerid][pNames], (result));
                            
    SendAdminMessage(COLOR_REDDstringer);//Сообщение Для Администрации
                            
    format(stringersizeof(stringer), "<< %s[%d]: Лидер %s %s Снят!  [Выговор: 3/3]. Причина: %s>>"PlayerInfo[playerid][pNames], playeridftextPlayerInfo[giveplayerid][pNames], (result));
                            
    OOCOff(COLOR_OOC,stringer);//Сообщение в Глобал Чат(Типо /o)
                            
    SendClientMessage(giveplayeridCOLOR_WHITE"Теперь вы снова гражданский...");
                            
    SetPlayerArmourAC(giveplayerid,0);//Обнуляем броню
                            
    Delgun(giveplayerid);//Обнуляем оружие
                            
    ResetPlayerWeapons(giveplayerid);//Забираем все оружие
                            
    PlayerInfo[giveplayerid][pMRInections] = 0;//Обнуление фракции
                            
    PlayerInfo[giveplayerid][pLRInections] = 0;//Обнуление лидерства
                            
    PlayerInfo[giveplayerid][pRKInections] = 0;//Обнуление ранка
                            
    PlayerInfo[giveplayerid][pLWarns] = 0;//Обнуление Выговор
                            
    SetPlayerInterior(giveplayerid0);//Перемещаем в интерьер 0
                            
    PlayerInfo[giveplayerid][pInt] = 0;//Сохраняем интерьер 0
                            
    SpawnPlayer(giveplayerid);//Спавним игрока
                            
    return 1;
                        }
                              
    format(stringersizeof(stringer), "[WARNING!]:{00ff00}%s {ffffff}получил Выговор от {00FF00}%s {ff0000}[Выговор: %d/3]. {ffffff}Причина: %s "PlayerInfo[giveplayerid][pNames],PlayerInfo[playerid][pNames],PlayerInfo[giveplayerid][pLWarns], (result));
                        
    SendAdminMessage(COLOR_REDDstringer);//Сообщение в Админ чат
                        
    format(stringersizeof(stringer), "<< %s[%d]: Лидер %s %s получил выговор [%d/3]. Причина: %s>>"PlayerInfo[playerid][pNames], playeridftextPlayerInfo[giveplayerid][pNames], PlayerInfo[giveplayerid][pLWarns], (result));
                        
    OOCOff(COLOR_OOC,stringer);//Сообщение в глобал
                        
    OnPlayerUpdateRL(giveplayerid);//Обновление игрока
                        
    return 1;
                    }
    //not connected
                
    }
                else
                {
                    
    SendClientMessage(playeridCOLOR_GREY"Игрок не найден!");
                }
            }
            return 
    true;
        }
        
    //===============================|/lunwarn|=================================
        
    if(strcmp(cmd"/lunwarn"true) == 0)
        {
            if(
    FD1 || FD2 || FD3 || PlayerInfo[playerid][pAdmLed] == 3)//Проверка на Админ Уровень
            
    {
                
    tmp strcharsplit(cmdtextidx);
                if(!
    strlen(tmp)) return    SendClientMessage(playeridCOLOR_WHITE" Введите: /lunwarn [id]");
                
    giveplayerid ReturnUser(tmp);
                if(
    PlayerInfo[giveplayerid][pLWarns] <= 0) {SendClientMessage(playeridCOLOR_RED"Выговоров нет"); return true;}
                if(
    IsPlayerConnected(giveplayerid))
                {
                    
    PlayerInfo[giveplayerid][pLWarns] -= 1;//Убираем 1 выговор
                    
    format(stringersizeof(stringer), "Выговор с %s снят"PlayerInfo[giveplayerid][pNames]);
                    
    SendClientMessage(playeridCOLOR_REDstringer);
                    
    format(stringersizeof(stringer), "[LUNWARN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}снял Выговор с {FF6347}%s [Выговоры: %d/3]",PlayerInfo[playerid][pNames],PlayerInfo[giveplayerid][pNames],PlayerInfo[giveplayerid][pLWarns]);
                    
    ABroadCast(COLOR_LIGHTRED,stringer,1);
                    
    format(stringersizeof(stringer), "С вас снят один Выговор Лидера");
                    
    SendClientMessage(giveplayeridCOLOR_GREENstringer);
                }
                else 
    SendClientMessage(playeridCOLOR_GREY"[Ошибка] Игрок не найден!");
            }
            return 
    true;
        } 

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Ну пиши уж сразу не "помогите мне перевести", а "переведите за меня".

    1. //================================|/lwarn|==================================
    2. CMD:lwarn(playerid, params[])
    3. {
    4. if(FD1 || FD2 || FD3)//Проверка на Уровень Админки
    5. {
    6. new giveplayerid;
    7. if(!sscanf(params, "us[128]", giveplayerid, params))
    8. return SendClientMessage(playerid, COLOR_WHITE, "Введите: /lwarn [id] [Причина]");
    9.  
    10. if(giveplayerid == INVALID_PLAYER_ID)
    11. return SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!");
    12.  
    13. new ftext[25];
    14. switch(PlayerInfo[giveplayerid][pMRInections])//Проверка на лидерство у игрока
    15. {
    16. case 1: { ftext = "LSPD"; }
    17. case 2: { ftext = "FBI"; }
    18. case 3: { ftext = "Army SF"; }
    19. case 4: { ftext = "Мин.Здрава"; }
    20. case 5: { ftext = "La Cosa Nostra"; }
    21. case 6: { ftext = "Yakuza"; }
    22. case 7: { ftext = "Мэрии"; }
    23. case 10: { ftext = "SFPD"; }
    24. case 11: { ftext = "Инструкторов"; }
    25. case 12: { ftext = "Ballas Gang"; }
    26. case 13: { ftext = "Vagos Gang"; }
    27. case 14: { ftext = "Russian Mafia"; }
    28. case 15: { ftext = "Grove Street Gang"; }
    29. case 16: { ftext = "San News"; }
    30. case 17: { ftext = "Aztecas Gang"; }
    31. case 18: { ftext = "Rifa Gang"; }
    32. case 19: { ftext = "Army LV"; }
    33. case 21: { ftext = "LVPD"; }
    34. case 23: { ftext = "Hitmans"; }
    35. case 24: { ftext = "Street Racers"; }
    36. case 25: { ftext = "S.W.A.T"; }
    37. case 26: { ftext = "Правительства"; }
    38. default: { ftext = "Ошибка"; }
    39. }
    40. if(PlayerInfo[giveplayerid][pLRInections] == 0) return SendClientMessage(playerid, COLOR_GRAD2, "Он не лидер!");
    41. PlayerInfo[giveplayerid][pLWarns] += 1;//Выдает +1 выговор
    42. if(PlayerInfo[giveplayerid][pLWarns] >= 4) return SendClientMessage(playerid, COLOR_GREY, "У него 3/3 Выговоров");
    43. if(PlayerInfo[giveplayerid][pLWarns] >= 3)//Если выговор 3, то
    44. {
    45. format(stringer, sizeof(stringer), "[WARNING!]:{00ff00}%s {ffffff}был снят Администратором {00FF00}%s {ff0000}[Выговор: /3]. {ffffff}Причина: %s ", PlayerInfo[giveplayerid][pNames],PlayerInfo[playerid][pNames], (params));
    46. SendAdminMessage(COLOR_REDD, stringer);//Сообщение Для Администрации
    47. format(stringer, sizeof(stringer), "<< %s[%d]: Лидер %s %s Снят! [Выговор: 3/3]. Причина: %s>>", PlayerInfo[playerid][pNames], playerid, ftext, PlayerInfo[giveplayerid][pNames], (params));
    48. OOCOff(COLOR_OOC,stringer);//Сообщение в Глобал Чат(Типо /o)
    49. SendClientMessage(giveplayerid, COLOR_WHITE, "Теперь вы снова гражданский...");
    50. SetPlayerArmourAC(giveplayerid,0);//Обнуляем броню
    51. Delgun(giveplayerid);//Обнуляем оружие
    52. ResetPlayerWeapons(giveplayerid);//Забираем все оружие
    53. PlayerInfo[giveplayerid][pMRInections] = 0;//Обнуление фракции
    54. PlayerInfo[giveplayerid][pLRInections] = 0;//Обнуление лидерства
    55. PlayerInfo[giveplayerid][pRKInections] = 0;//Обнуление ранка
    56. PlayerInfo[giveplayerid][pLWarns] = 0;//Обнуление Выговор
    57. SetPlayerInterior(giveplayerid, 0);//Перемещаем в интерьер 0
    58. PlayerInfo[giveplayerid][pInt] = 0;//Сохраняем интерьер 0
    59. SpawnPlayer(giveplayerid);//Спавним игрока
    60. return 1;
    61. }
    62. format(stringer, sizeof(stringer), "[WARNING!]:{00ff00}%s {ffffff}получил Выговор от {00FF00}%s {ff0000}[Выговор: %d/3]. {ffffff}Причина: %s ", PlayerInfo[giveplayerid][pNames],PlayerInfo[playerid][pNames],PlayerInfo[giveplayerid][pLWarns], (params));
    63. SendAdminMessage(COLOR_REDD, stringer);//Сообщение в Админ чат
    64. format(stringer, sizeof(stringer), "<< %s[%d]: Лидер %s %s получил выговор [%d/3]. Причина: %s>>", PlayerInfo[playerid][pNames], playerid, ftext, PlayerInfo[giveplayerid][pNames], PlayerInfo[giveplayerid][pLWarns], (params));
    65. OOCOff(COLOR_OOC,stringer);//Сообщение в глобал
    66. OnPlayerUpdateRL(giveplayerid);//Обновление игрока
    67. return 1;
    68. }
    69. return true;
    70. }
    71. //===============================|/lunwarn|=================================
    72. CMD:lunwarn(playerid, params[])
    73. {
    74. if(FD1 || FD2 || FD3 || PlayerInfo[playerid][pAdmLed] == 3)//Проверка на Админ Уровень
    75. {
    76. new giveplayerid;
    77. if(!sscanf(params, "u", giveplayerid))
    78. return SendClientMessage(playerid, COLOR_WHITE, " Введите: /lunwarn [id]");
    79.  
    80. if(giveplayerid == INVALID_PLAYER_ID)
    81. return SendClientMessage(playerid, COLOR_GREY, "Игрок не найден!");
    82.  
    83. if(PlayerInfo[giveplayerid][pLWarns] <= 0) {SendClientMessage(playerid, COLOR_RED, "Выговоров нет"); return true;}
    84. PlayerInfo[giveplayerid][pLWarns] -= 1;//Убираем 1 выговор
    85. format(stringer, sizeof(stringer), "Выговор с %s снят", PlayerInfo[giveplayerid][pNames]);
    86. SendClientMessage(playerid, COLOR_RED, stringer);
    87. format(stringer, sizeof(stringer), "[LUNWARN] {FFFFFF}Администратор {FF6347}%s {FFFFFF}снял Выговор с {FF6347}%s [Выговоры: %d/3]",PlayerInfo[playerid][pNames],PlayerInfo[giveplayerid][pNames],PlayerInfo[giveplayerid][pLWarns]);
    88. ABroadCast(COLOR_LIGHTRED,stringer,1);
    89. format(stringer, sizeof(stringer), "С вас снят один Выговор Лидера");
    90. SendClientMessage(giveplayerid, COLOR_GREEN, stringer);
    91. }
    92. return true;
    93. }
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  3. Пользователь сказал cпасибо:
    Den_Gurino (13.04.2019)
  4. #3
    Аватар для Den_Gurino
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±
    В связи с этой темой, я думаю рас мод на mysql, значит нужно сделать запрос в бд для проверки на plwarn
    Правильно ли я делаю, если да, потом куда мне это запихать?
    PHP код:
    mysql_format(connectsstringMAX_STR"UPDATE `accounts` SET `pLWarns` = '0' WHERE `Name` = '%s'"tmp); 
    Последний раз редактировалось Den_Gurino; 13.04.2019 в 22:35.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Эмм, этот запрос обнулит значение столбца pLWarns у указанного игрока, а у тебя в коде отнимается единица от общего числа предупреждений. И да, тут только формирование запроса. Отправки запроса тут нет.
    Вставлять нужно в конец второй команды, после
    1. format(stringer, sizeof(stringer), "С вас снят один Выговор Лидера");
    2. SendClientMessage(giveplayerid, COLOR_GREEN, stringer);


    Сам запрос будет выглядеть как-то так:
    1. format(string, sizeof(string), "UPDATE accounts SET pLWarns=%d WHERE Name='%s' LIMIT 1", PlayerInfo[giveplayerid][pLWarns], PlayerInfo[giveplayerid][pNames]);
    2. //Тут функция отправки запроса

    Только размер string подсчитай правильно для этого запроса.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Den_Gurino (14.04.2019)
  7. #5
    Аватар для Den_Gurino
    Пользователь

    Статус
    Оффлайн
    Регистрация
    29.07.2017
    Сообщений
    36
    Репутация:
    3 ±
    Сделал вот так
    PHP код:
    mysql_format(connectsstringsizeof(string), "UPDATE accounts SET pLWarns=%d WHERE Name='%s' LIMIT 1"PlayerInfo[giveplayerid][pLWarns], PlayerInfo[giveplayerid][pNames]);
     
    mysql_empty(connectsstring); 
    Будет работать ли, не знаю, проверить вечером только смогу!

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    mysql_format там не нужен. Я же не просто так переделал на обычный format. Хотя бы изучи предназначение mysql_format, а не просто пихай как попало :)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  9. Пользователь сказал cпасибо:
    Den_Gurino (19.04.2019)
 

 

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

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

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

Ваши права

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