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

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±

    Помощь по команде

    Добрый день помогите написать команду к этому диалогу я так понимаю это система доставки материалов фракциям а команд нету ни для загрузки не для разгрузки

    PHP код:
        case D_JOB+9://============= загрузка авто армии
            
    {
                if(!
    response) return true;
                new 
    till 0;
                if(
    sscanf(inputtext"i",till)) return ShowPlayerDialog(playeridD_JOB+91"материалы""Введите кол-во материалов:""Принять""Отмена");
                if(
    till || till 10000)
                {
                    
    SendMes(playeridCOLOR_GREY"Кол-во материалов от 1 до 10000!");
                    return 
    ShowPlayerDialog(playeridD_JOB+91"материалы""Введите кол-во материалов:""Принять""Отмена");
                }
                if(
    till Mats[0])
                {
                    
    SendClientMessage(playeridCOLOR_GREY"На складе недостаточно материалов!");
                    return 
    ShowPlayerDialog(playeridD_JOB+91"материалы""Введите кол-во материалов:""Принять""Отмена");
                }
                
    Mats[0] -= till;
                
    format(string50"материалов: {9ACD32}%i / 10000"Mats[0]);
                
    UpdateDynamic3DTextLabelText(tPickup[5], 0xFFFFFFFFstring);
                
    UpdateDynamic3DTextLabelText(tPickup[12], 0xFFFFFFFFstring);
                
    SetOtherInt("armymats"Mats[0]);
                
    SendMes(playeridCOLOR_LIGHTGREEN"Вы загрузили {ffffff}%i {9ACD32}материалов. Остаток на складе: {ffffff}%i {9ACD32}материалов",till,Mats[0]);
                
    materials_Vehicle[GetPlayerVehicleID(playerid)] += till;
                return 
    true;
            } 

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    еслибы я еще знал да и команда должна быть с проверкой на фракцию и авто

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

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Ну с загрузкой материалов я вопрос решил теперь остался такой вопрос сделать команду для разгрузки и переписать диалог вместо загрузки только разгрузку но только на 3х чекпоинтах подскажите пожалуйста как это сделать?

  5. #5
    Аватар для Daniel_Cortez
    "Это не хак, это фича"

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    2,192
    Репутация:
    2590 ±
    Больше одного чекпоинта поставить нельзя, поэтому единственное очевидное решение - сделать диалог, в котором игрок сам выберет место разгрузки.
    Индивидуально в ЛС по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).

  6. #6
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    Больше одного чекпоинта поставить нельзя, поэтому единственное очевидное решение - сделать диалог, в котором игрок сам выберет место разгрузки.
    Помогите пожалуйста с диалогом и вот еще такая проблемма разгрузку материалов я сделал но не могу понять как сделать счтобы не разгружало больше загруженного количества а точнее вот у меня загрузка 3000 и я могу по несколько раз вводить эту команду и оно разгружает по 3000

    вот сама команда
    PHP код:
    CMD:unmatget(playeridparams[])//разгрузка материалов у армии
    {
        if(!
    PlayerLogged[playerid]) return true;
        if(!
    IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playeridCOLOR_GREY"[INFO] Вы должны быть в автомобиле!");
        if(
    MatsVehicle[GetPlayerVehicleID(playerid)] <= 0) return SendClientMessage(playeridCOLOR_GREY"[INFO] В автомобиле нет материалов!");
        if(
    GetPlayerVehicleSeat(playerid) == 0)
        {
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 427)
            {
                if(
    PlayerInfo[playerid][pMember] == F_POLICE || PlayerInfo[playerid][pMember] == F_DPS || PlayerInfo[playerid][pMember] == F_FSB || PlayerInfo[playerid][pMember] == F_ARMY)
                {
                    if(
    IsPlayerInRangeOfPoint(playerid5.02542.8711, -2430.664821.0034))
                    {
                        
    ShowPlayerDialog(playerid,D_JOB+6,1,"Склад боеприпасов ПОЛИЦИИ","{FFFFFF}Введите кол-во материалов разгрузки.\nМаксимально : 3000","Принять","Отмена");
                    }
                }
            }
            else 
    SendClientMessage(playeridCOLOR_GREY"Вы должны быть в специализированом автомобиле для перевозки материалов!");
        }
        else 
    SendClientMessage(playeridCOLOR_GREY"[INFO] Вы должны быть на водительском сидении!");
        return 
    true;


    и диалог разгрузки

    PHP код:
        case D_JOB+6://============= разгрузка авто армии
            
    {
                if(!
    response) return true;
                new 
    till 0;
                if(
    sscanf(inputtext"i",till)) return ShowPlayerDialog(playeridD_JOB+61"материалы""Введите кол-во материалов:""Принять""Отмена");
                if(
    till || till 3000)
                {
                    
    SendMes(playeridCOLOR_GREY"Кол-во материалов от 1 до 3000!");
                    return 
    ShowPlayerDialog(playeridD_JOB+61"материалы""Введите кол-во материалов:""Принять""Отмена");
                }
                if(
    till Mats[1])
                {
                    
    SendClientMessage(playeridCOLOR_GREY"В транспорте недостаточно материалов!");
                    return 
    ShowPlayerDialog(playeridD_JOB+61"материалы""Введите кол-во материалов:""Принять""Отмена");
                }
                
    Mats[1] += till;
                
    format(string60"БОЕПРИПАСОВ:       {FF9900}%i{ffffff}          шт."Mats[1]); //police
                
    Update3DTextLabelText(tPickup[34], 0xFFFFFFFFstring);
                
    SetOtherInt("lspdmats"Mats[1]);
                
    SendMes(playeridCOLOR_LIGHTGREEN"Вы разгрузили {ffffff}%i {9ACD32}материалов.На складе: {ffffff}%i {9ACD32}материалов",till,Mats[1]);
                
    materials_Vehicle[GetPlayerVehicleID(playerid)] -= till;
                return 
    true;
            } 
    - - - Добавлено - - -

    и если возможно подскажите как установить таймер на разгрузку

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Как я ранее уже писал, то, о в чём просишь помочь ты - это не просто написать 3 строки кода, а целая система. И тут никто не сможет объяснить тебе как это сделать, ибо для этого нужно целый пласт основ Pawn и api SA-MP тебе расписать. Ну либо сделать всё за тебя, что делать вряд ли кто-то будет. Так что либо займись изучением основ и постепенно научишься сам всё делать, либо иди в стол заказов и оплачивай работу скриптера, который будет делать всё, что тебе нужно. Третьего тут не дано.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  8. #8
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Как я ранее уже писал, то, о в чём просишь помочь ты - это не просто написать 3 строки кода, а целая система. И тут никто не сможет объяснить тебе как это сделать, ибо для этого нужно целый пласт основ Pawn и api SA-MP тебе расписать. Ну либо сделать всё за тебя, что делать вряд ли кто-то будет. Так что либо займись изучением основ и постепенно научишься сам всё делать, либо иди в стол заказов и оплачивай работу скриптера, который будет делать всё, что тебе нужно. Третьего тут не дано.
    Я конечно извеняюсь но где в моих словах нпаисано что я прошу делать целую систему я всего лишь попросил подскажите как исправить чтобы постоянной разгрузки не было и таймер типа как на заправке а остальное я уже сам все сделаю

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

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

    Создать таймер - SetTimer/SetTimerEx (хотя достаточно было вбить в гугл "как создать таймер pawn")
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  10. #10
    Аватар для Andrik851
    Пользователь

    Статус
    Оффлайн
    Регистрация
    03.10.2018
    Сообщений
    199
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Отнимай от переменной, в которой хранится количество материалов, количество выгруженных материалов и остановишь разгрузку.

    Создать таймер - SetTimer/SetTimerEx (хотя достаточно было вбить в гугл "как создать таймер pawn")
    с таймерами я надеюсь разберусь но вот переменная про которую вы говорите знать бы как она выглядит визуально я смогу понять но переменная в которой хранятся материалы мне не о чем не говорит. Здесь переменных полно и они все разные

 

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

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

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

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

Ваши права

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