Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 5 из 5
  1. #1
    Аватар для Ne_nub
    Пользователь

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

    Вопрос по DC_CMD

    Доброго времени суток. У меня есть вопрос по DC_CMD. Вот я изучаю новый cmd. В команде есть параметры PlayerInfo[playerid][pNames], PlayerInfo[giveplayerid][pNames], PlayerInfo[playa][pNames], вот команда. Я не понимаю как сделать так, чтобы были stock'и с giveplayerid, playa ( если они вообще нужны ).

    PHP код:
    CMD:live(playeridparams[])
    {
        new 
    newcar GetPlayerVehicleID(playerid);
        switch(
    PlayerInfo[playerid][pMember])
        {
        case 
    16:
            {
                if(
    gag[playerid] == true) return    SendClientMessage(playeridCOLOR_GREY"* У вас кляп, вы не можете говорить!");
                if(
    PlayerInfo[playerid][pMuted] == 1) return MutePlayer(playerid);
                if(
    newcar >= lsnewscar[0] && newcar <= lsnewscar[1] || PlayerToPoint(30.0,playerid,1669.9496,-1341.3621,114.1579)) { } else { SendClientMessage(playeridCOLOR_GREY"* Вы не в репортёрской машине / вертолёте / офисе!"); return true;}
                if(
    TalkingLivels[playerid] != INVALID_PLAYER_ID)
                {
                    
    SendClientMessage(playerid0x6ab1ffaa"{7FB151}>> {FAEBD7}Прямой эфир завершён");
                    
    SendClientMessage(TalkingLivels[playerid], 0x6ab1ffaa"{7FB151}>> {FAEBD7}Прямой эфир завершён");
                    
    TogglePlayerControllable(playerid1);
                    
    TogglePlayerControllable(TalkingLivels[playerid], 1);
                    
    TalkingLivels[TalkingLivels[playerid]] = INVALID_PLAYER_ID;
                    
    TalkingLivels[playerid] = INVALID_PLAYER_ID;
                    return 
    true;
                }
                if(
    sscanf(params,"u",params[0])) return SendClientMessage(playeridCOLOR_WHITE"Введите: /live [id]");
                if(
    params[0] == playerid) { SendClientMessage(playeridCOLOR_GREY"* Вы не можете брать интервью у себя!"); return true; }
                if(
    ProxDetectorS(5.0playeridparams[0])){} else { SendClientMessage(playeridCOLOR_GREY"* Человек далеко от вас!"); return true; }
                if(
    params[0] == INVALID_PLAYER_ID) { SendClientMessage(playeridCOLOR_GREY"* Человек не найден!"); return true; }
                
    SendMes(playerid,0x6ab1ffaa,"{7FB151}>> {FAEBD7}Вы предложили %s снять интервью"PlayerInfo[params[0]][pNames]);
                
    SendMes(params[0],0x6ab1ffaa,"{7FB151}>> {FAEBD7}%s предлагает вам снять интервью"GetTheName(playerid));
                
    SendClientMessage(params[0], COLOR_WHITE"{7FB151}>> {FAEBD7}Введите (( /accept livels )), чтобы согласиться");
                
    LiveOfferls[params[0]] = playerid;
            }
        }
        return 
    true;

    Вот есть только stock:

    PHP код:
    stock GetTheName(playerid)
    {
        new 
    pName[MAX_PLAYER_NAME];
        
    GetPlayerName(playeridpNamesizeof pName);
        return 
    pName;

    Нужны только основные playerid ( у меня он есть ), giveplayerid, ну и еще что-то.

    И как работать с mysql и dc_cmd

    PHP код:
    CMD:offhelpers(playeridparams[])
    {
        if(
    Sergeo || Aleksey)
        {
            
    format(mysql_querysizeof(mysql_query),"SELECT * FROM  `accounts` WHERE  `pHelper` !=0 ORDER BY  `accounts`.`pHelper` DESC");
            
    mysql_function_query(connectsmysql_querytrue"OfflineHelpers","i"playerid);
        }
        return 
    true;

    И нужно ли удалять после перевода всех команда public OnPlayerCommandText(playerid, cmdtext[]) ?
    Последний раз редактировалось Ne_nub; 25.11.2016 в 15:30.

  2. #2
    Аватар для Mr.Dark
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2016
    Адрес
    Алма-Ата
    Сообщений
    56
    Репутация:
    2 ±
    Не фига не понел

    - - - Добавлено - - -

    PHP код:
    stock GetTheName(playerid)
    {
        new 
    pName[MAX_PLAYER_NAME];
        
    GetPlayerName(playeridpNamesizeof pName);
        return 
    pName;

    я понел тока надо чтобы был сток с giveplayerid токой-же ?

    Чесно не врубаюсь (Пяный) вот тут посмотри может поможет http://wiki.sa-mp.com/wiki/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_strtok_RU
    Если мне харкают в спину , я радуюсь потому что я иду впереди ! (с) Геннадий Акимов

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

    Статус
    Оффлайн
    Регистрация
    28.05.2016
    Сообщений
    74
    Репутация:
    0 ±
    Сделаю вопрос полегче.

    В общем есть команда, например /slap, или та-же самая /makeadmin.

    Там же есть и PlayerInfo[playerid][pNames] и PlayerInfo[giveplayerid][pNames], первое - это ты, второе - это кому выдаешь.

    Это тогда делать так -
    PHP код:
    PlayerInfo[params[0]][pNames
    ?

  4. #4
    Аватар для Geebrox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Советую сначала научиться работать со sscanf
    Далее уже все поймешь, параметры которых ввел игрок после определенной команды записываются в массив params, а для вычисление определенных параметров из этого массива поможет тебе sscanf.
    Последний раз редактировалось Geebrox; 02.12.2016 в 13:36.

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

    Статус
    Оффлайн
    Регистрация
    05.02.2017
    Сообщений
    6
    Репутация:
    0 ±
    Цитата Сообщение от Geebrox Посмотреть сообщение
    Советую сначала научиться работать со sscanf
    Далее уже все поймешь, параметры которых ввел игрок после определенной команды записываются в массив params, а для вычисление определенных параметров из этого массива поможет тебе sscanf.
    PHP код:
    CMD:slap(playeridparams[]){
        new 
    targetid// переменная, в которую мы запихаем параметр (id игрока)
        
    if (sscanf (params"d"targetid)) // в "" прописываем тип параметров, дальше через запятую присваиваем им значение
            
    return SendClientMessage(playerid, -1, !"Используйте /slap [id игрока]"); // что будет, если ввести пустую команду (ничего)
        
    if(!IsPlayerConnected(targetid)) //проверка на подключение
            
    return SendClientMessage(playeridCGRAY, !"Игрока с таким айди нет"); // что будет, если игрок не подключен

        
    new Float:slxFloat:slyFloat:slz// переменные в которых будут координаты игрока, на котором применяем команду
        
    GetPlayerPos(targetidslxslyslz); // полчучаем координаты игрока на котором применяем команду
        
    SetPlayerPos(targetidslxslyslz+4); // подкидываем игрока
        
    static const slap_text[] = "Вы подкинули игрока %s[%d]"// сообщение для игрока, который ввел команду
        
    new slap_str [sizeof (slap_text) + (MAX_PLAYER_NAME) + - (2*2)]; // куда запишем готовое сообщение
        
    format (slap_strsizeof(slap_str), slap_textGetTheName(targetid), targetid); // записываем в строку сообщение подставляя данные
        
    SendClientMessage(playreidstring); // отправляем сообщение игроку
        
    return true;

    Свой метод получение имени можешь юзать на ком угодно, подставляя его ID в параметр

    PHP код:
    GetTheName(playerid

 

 

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

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

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

Ваши права

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