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

Реклама


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

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

    Работа перевозчика

    Привет бандиты-оптимизаторы, выкладываю работу для того, чтоб может кто взялся довести до ума, основа заложена и идея, стоит из нее сделать только конфету оптимизированную.


    Суть: Грузовики уже с оградой, после получения груза - цепляется объект.
    Получаем груз, везем в указанное место.





    Код разбит по пабликам сразу

    PHP код:
    new PickUp;

    public 
    OnGameModeInit()
    {
        for(new 
    i=0i<MAX_VEHICLESi++) VehSpawn(i);
        
    PickUp CreatePickup(127523, -77.9037,-1136.1981,1.07810);
        return 
    1;
    }

    public 
    OnDialogResponse(playeriddialogidresponselistiteminputtext[])
    {
            if(
    dialogid == 23)
            {
                if(!
    response) return 1;
                if(
    GetPVarInt(playerid"carrier") == 0)
                {
                        
    SetPVarInt(playerid"carrier",1);
                        
    DeletePVar(playerid"load");
                        
    SetPVarInt(playerid"char"GetPlayerSkin(playerid));
                        
    SetPlayerSkin(playerid16);
                        
    SendClientMessage(playerid,-1"Рабочий день начат. Cадитесь в машину");
                }
                else 
    DeletePVar(playerid"load"),DeletePVar(playerid"carrier"),SetPlayerSkin(playerid,GetPVarInt(playerid"char"));
            }
            if(
    dialogid == 24)
            {
                if(!
    response) return 1;
                if(
    listitem == 0)
                {
                        
    SetPVarInt(playerid"load",1);
                        
    SetPVarInt(playerid"carid",GetPlayerVehicleID(playerid));
                        
    SetPVarInt(playerid"cabine",CreateObject(967,0.0,0.0,0.00.000000,0.000000,0.000000));
                        
    SetPVarInt(playerid"cabineone",CreateObject(967,0.0,0.0,0.00.000000,0.000000,0.000000));
                        
    SetPVarInt(playerid"cabinetwo",CreateObject(967,0.0,0.0,0.00.000000,0.000000,0.000000));
                        
    AttachObjectToVehicle(GetPVarInt(playerid"cabine"),GetPlayerVehicleID(playerid), -0.381190,1.047714,-0.2,0,0,0);
                        
    AttachObjectToVehicle(GetPVarInt(playerid"cabineone"),GetPlayerVehicleID(playerid),0.563816,-0.859311,-0.2,0,0,0);
                        
    AttachObjectToVehicle(GetPVarInt(playerid"cabinetwo"),GetPlayerVehicleID(playerid), -0.360608,-2.638458,-0.2,0,0,0);
                        
    SetPlayerRaceCheckpoint(playerid,2,132.2981,1945.9371,19.3538 ,0.0,0.0,0.0,3.0);
                        
    SendClientMessage(playerid,-1"Рабочий день начат. Cадитесь в машину");
                }
            }
            return 
    1;
    }

    public 
    OnPlayerEnterRaceCheckpoint(playerid)
    {
        if(
    GetPVarInt(playerid"load") == 1)
        {
            
    DestroyObject(GetPVarInt(playerid"cabine"));
            
    DestroyObject(GetPVarInt(playerid"cabineone"));
            
    DestroyObject(GetPVarInt(playerid"cabinetwo"));
            
    SendClientMessage(playerid, -1"Груз доставлен! Возращайтесь на базу.");
            
    SetPVarInt(playerid"load",2);
            
    DisablePlayerRaceCheckpoint(playerid);
            
    SetPlayerRaceCheckpoint(playerid,2,-77.9037,-1136.1981,1.0781 ,0.0,0.0,0.0,5.0);
        }
        if(
    GetPVarInt(playerid"load") == && IsPlayerInRangeOfPoint(playerid20.0,-77.9037,-1136.1981,1.0781) && GetPVarInt(playerid"carid") == GetPlayerVehicleID(playerid))
        {
            
    SendClientMessage(playerid, -1"Вы заработали за груз: 560$");
            
    GivePlayerMoney(playerid560);
            
    DeletePVar(playerid"load");
            
    DisablePlayerRaceCheckpoint(playerid);
        }
        return 
    1;
    }

    public 
    OnPlayerCommandText(playeridcmdtext[])
    {
        if(
    strcmp(cmd"/load"true) == 0)
        {
            if(!
    IsPlayerInRangeOfPoint(playerid15.0,-71.9037,-1117.1981,1.0781)) return SendClientMessage(playerid, -1"Вы должны находится на базе");
            if(
    GetPVarInt(playerid"load") > 0) return SendClientMessage(playerid, -1"Вы уже взяли груз!");
            if(
    GetVehicleModel(GetPlayerVehicleID(playerid)) == 578 && GetPVarInt(playerid"carrier") == 1ShowPlayerDialog(playerid,24,DIALOG_STYLE_LIST,"{ffcc00}Выберите груз:","{FFFFFF}Кабины (Место сдачи: Зона 51) {000000}Оплата: 560$","Купить","Отмена");
            return 
    1;
        }
        return 
    1;
    }

    public 
    OnPlayerPickUpPickup(playeridpickupid)
    {
        if(
    pickupid == PickUp)
        {
             if(
    GetPVarInt(playerid"carrier") == 1SPD(playerid,23,0,"Работа \"Грузоперевозчик\"","{ffffff}Вы хотите уволиться с работы?","Да","Нет");
            else 
    SPD(playerid,23,0,"Работа \"Грузоперевозчик\"","{ffffff}Вы хотите устроится на работу?","Да","Нет");
        }
        return 
    1;
    }

    stock VehSpawn(vehicleid)
    {
        if(
    GetVehicleModel(vehicleid) == 578)
        {
            
    AttachObjectToVehicle(CreateObject(9830.0,0.0,0.00.000000,0.000000,0.000000),vehicleid,  -1.410061,-0.879146,0.454786,0,0,0);
            
    AttachObjectToVehicle(CreateObject(983,0.0,0.0,0.00.000000,0.000000,0.000000),vehicleid, -1.410061,-2.454485,0.434786,0,0,0);
            
    AttachObjectToVehicle(CreateObject(9830.0,0.0,0.00.000000,0.000000,0.000000),vehicleid,  1.410061,-0.879146,0.454786,0,0,0);
            
    AttachObjectToVehicle(CreateObject(983,0.0,0.0,0.00.000000,0.000000,0.000000),vehicleid1.410012,-2.454485,0.434786,0,0,0);
        }
    }
    public 
    OnVehicleDeath(vehicleidkillerid)
    {
            
    DestroyObject(GetPVarInt(0"cabine"));
        
    DestroyObject(GetPVarInt(0"cabineone"));
        
    DestroyObject(GetPVarInt(0"cabinetwo"));
        return 
    1;

    Автор: Y.Jeen
    Последний раз редактировалось YouJeen; 31.05.2014 в 19:18.

  2. #2
    Аватар для A N D R E Y
    Пользователь

    Статус
    Оффлайн
    Регистрация
    07.12.2013
    Сообщений
    149
    Репутация:
    14 ±
    Вырезано не полностью...

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    13
    Репутация:
    1 ±
    Цитата Сообщение от A N D R E Y Посмотреть сообщение
    Вырезано не полностью...
    О да, откуда же интересно?

  4. #4
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Онлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,663
    Репутация:
    2145 ±
    Цитата Сообщение от A N D R E Y Посмотреть сообщение
    Вырезано не полностью...
    Цитата Сообщение от YouJeen Посмотреть сообщение
    О да, откуда же интересно?
    SCM, SPD, gray - эти макросы сами собой не объявятся.
    Вообще интересен факт того, что SCM используется вперемешку с SendClientMessage. То же самое и для SPD. ТС, Вы уж определитесь, что хотите использовать.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

    Статус
    Оффлайн
    Регистрация
    07.03.2014
    Сообщений
    333
    Репутация:
    47 ±
    А еще лучше не врать.
    "Власть, кровь, няш-мяш, кровь, власть, Крым наш!" - (c) Наталья Поклонская.

    Критик должен быть готов и способен в любой момент и по первому требованию занять место критикуемого им и выполнять его дело продуктивно и компетентно. В противном случае критика превращается в наглую, самодовлеющую силу и становится тормозом на пути прогресса. (с) AXE

  6. #6
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    375
    Репутация:
    144 ±
    Автор, приложите к теме недостающие функции. У вас на это 3 дня.

  7. #7
    Аватар для YouJeen
    Пользователь

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    13
    Репутация:
    1 ±
    Готово, Автор - я, писал в своем моде, от того и макросы такие, исправил. Кто готов поспорить о том что я вырезал откуда-то - давайте док-ва

  8. #8
    Аватар для wAx
    ¯\_(ツ)_/¯

    Статус
    Оффлайн
    Регистрация
    13.12.2013
    Сообщений
    375
    Репутация:
    144 ±
    Вот вам совет: проверяйте код перед публикацией.

  9. #9
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,282
    Репутация:
    417 ±
    Цитата Сообщение от YouJeen Посмотреть сообщение
    Готово, Автор - я, писал в своем моде, от того и макросы такие, исправил. Кто готов поспорить о том что я вырезал откуда-то - давайте док-ва
    Не готово, "SPD" - нет такого.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    3,931
    Репутация:
    1502 ±
    Цитата Сообщение от wAx Посмотреть сообщение
    Вот вам совет: проверяйте код перед публикацией.
    Не только код, но и свои знания, прежде чем что-то писать. Например, циклы на авто.... ID авто на сервере начинается с единицы, а не с 0
    И "else if", похоже, не для вас сделали
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

 

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

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

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

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

Ваши права

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