Показано с 1 по 7 из 7

Тема: Слив бензина

  1. #1
    Активный пользователь Аватар для John_Crossfield
    Регистрация
    30.09.2011
    Сообщений
    668
    Репутация: 47

    Звание: на пути к лучшему

    Слив бензина

    Не долго думая,решил выложить еще один урок.
    Поскольку такого урока на форуме еще не встречалось.
    Итак.
    Автор урока: Mr.Dave
    Вот он и сделал этот прекрасный,детальный урок.
    Наслаждайтесь:

    ко всем new

    PHP код:
    new PlayerSlivaet[MAX_PLAYERS];// сливаем ли бензин
    new PlayerSlivaetID[MAX_PLAYERS];//id тачки у которой сливаем бензин 
    ко всем forward

    PHP код:
    forward SendActionMessage(playerid,Float:radius,message[]); 
    в public OnPlayerConnect

    PHP код:
    PlayerSlivaet[playerid] = 0;
    PlayerSlivaetID[playerid] = 0
    в enum pInfo

    PHP код:
    pKanistra
    в public SetPlayerUnJail

    PHP код:
    if(PlayerSlivaet[i] > 0)
     {
     new 
    Float:vXFloat:vYFloat:vZ;
     
    GetVehiclePos(PlayerSlivaetID[i],vX,vY,vZ);
     new 
    carid PlayerSlivaetID[i];
     if (
    PlayerToPoint(15,i,vX,vY,vZ))
     {
     
    PlayerSlivaet[i] -=1;
     
    Gas[carid] -=1;
     
    PlayerInfo[i][pFuel] += 1;
     }
     else
     {
     
    SendClientMessage(iCOLOR_GRAD2" Машина, с которой ты сливал бензин нет рядом с тобой!");
     
    PlayerSlivaet[i] = 0;
     
    TogglePlayerControllable(i,1);
     
    ClearAnimations(i);
     return 
    1;
     }
     if(
    Gas[carid] == 0)
     {
     
    SendClientMessage(i,COLOR_WHITE," Ты слил весь бензин с машины!");
     
    TogglePlayerControllable(i,1);
     
    PlayerSlivaet[i] = 0;
     
    PlayerSlivaetID[i] = 0;
     
    ClearAnimations(i);
     return 
    1;
     }
     if(
    PlayerSlivaet[i] == 1)
     {
     
    SendClientMessage(i,COLOR_WHITE," Ты слил бензин с машины!");
     
    TogglePlayerControllable(i,1);
     
    PlayerSlivaet[i] = 0;
     
    PlayerSlivaetID[i] = 0;
     
    ClearAnimations(i);
     return 
    1;
     }
     } 
    в public OnPlayerComamndText

    PHP код:
    if(strcmp(cmd"/mergefuel"false) == 0)// слить бензин 
     
    {
     if(
    IsPlayerConnected(playerid))
     {
     if (
    PlayerSlivaet[playerid] != 0)
     {
     
    SendClientMessage(playeridCOLOR_GRAD2" Ты уже сливаешь где то бензин!");
     return 
    1;
     }
     if (
    PlayerInfo[playerid][pKanistra] != 1)
     {
     
    SendClientMessage(playeridCOLOR_GRAD2" Тебе не куда слить бензин!");
     return 
    1;
     }
     if(
    PlayerInfo[playerid][pFuel] >= 80)
     {
     
    SendClientMessage(playerid,COLOR_GREY,"В канистре много бензина,освободите чутка!");
     return 
    1;
     }
     if (
    IsPlayerInAnyVehicle(playerid))
     {
     
    SendClientMessage(playerid,COLOR_GREY," Ты должен быть на ногах!");
     return 
    1;
     }
     new 
    Float:vXFloat:vYFloat:vZ;
     new 
    towcar 0;
     new 
    il 1;
     new 
    found 0;
     for (; 
    il <= CAR_AMOUNTil++)
     {
     
    GetVehiclePos(il,vX,vY,vZ);
     if (
    PlayerToPoint(10,playerid,vX,vY,vZ))
     {
     
    towcar il;
     
    found 1;
     }
     }
     if(
    found == 0)
     {
     
    SendClientMessage(playeridCOLOR_GRAD2" Рядом с тобой нет машины!");
     return 
    1;
     }
     if(
    Gas[towcar] == 0)
     {
     
    SendClientMessage(playerid,COLOR_GREY,"В этой машине нет бензина!");
     return 
    1;
     }
     
    GetPlayerName(playerid,sendername,sizeof(sendername));
     
    PlayerSlivaet[playerid] = 60;
     
    SendClientMessage(playerid,COLOR_WHITE," Ты сливаешь бензин у этого автомобиля!");
     
    ApplyAnimation(playerid,"ROB_BANK","CAT_Safe_Rob",4.1,1,0,0,0,0);
     
    SendActionMessage(playerid,30.0,"сливает бензин у автомобиля...");
     
    TogglePlayerControllable(playerid,0);
     
    PlayerSlivaetID[playerid] = towcar;
     }
     return 
    1;
     } 
    ищем команду "/give"
    и в неё вставляем

    PHP код:
    else if(strcmp(x_nr,"канистра",true) == 0)
     {
     if(
    PlayerInfo[playerid][pAptechka] == 0)
     {
     
    SendClientMessage(playeridCOLOR_GRAD1" У тебя нет канистры!");
     return 
    1;
     }
     
    tmp strtok(cmdtextidx);
     if(!
    strlen(tmp))
     {
     
    SendClientMessage(playeridCOLOR_GRAD1" Подсказка: /give канистра [IDигрока]");
     return 
    1;
     }
     
    giveplayerid ReturnUser(tmp);
     if(
    IsPlayerConnected(giveplayerid))
     {
     if(
    giveplayerid != INVALID_PLAYER_ID)
     {
     if(
    ProxDetectorS(5playeridgiveplayerid))
     {
     if(
    PlayerInfo[giveplayerid][pKanistra] == 1)
     {
     
    SendClientMessage(playeridCOLOR_GREY" У игрока уже есть канистра !");
     return 
    1;
     }
     
    PlayerInfo[playerid][pKanistra] = 0;
     
    PlayerInfo[giveplayerid][pKanistra] = 1;
     
    SendTwoAction(playerid,giveplayerid,30.0,"дал свою канистру");
     }
     else
     {
     
    SendClientMessage(playeridCOLOR_GREY" Игрок не рядом с тобой !");
     return 
    1;
     }
     }
     }
     } 
    в 24/7 добавить
    Канистра(50$)\n
    и

    PHP код:
    else if(listitem == 15)
     {
     if(
    MRP_GetValPlayerMoney(playerid) < 50)
     {
     
    SendClientMessage(playerid,COLOR_GREY,"У вас не хватает денег!");
     return 
    1;
     }
     
    PlayerInfo[playerid][pKanistra] = 1;
     
    PlayerPlaySound(playerid10520.00.00.0);
     
    SendClientMessage(playeridCOLOR_WHITE" Канистра бензина куплена, вы можете либо слить бензин с машины(/mergefuel),либо наполнить её на заправке.");
     
    GameTextForPlayer(playerid"~r~-$500"50001);
     
    MRP_GivePlayerMoney(playerid, -50);
     return 
    1;
     } 
    и добавьте ещё одну команду (если есть то не надо )

    PHP код:
    if(strcmp(cmd"/fillcar"true) == 0)
     {
     if(
    IsPlayerConnected(playerid))
     {
     new 
    vehid GetPlayerVehicleID(playerid);
     if(
    PlayerInfo[playerid][pFuel] < 1)
     {
     
    SendClientMessage(playeridCOLOR_GREY"В канистре нет топлива. Для начала наполните её.");
     return 
    1;
     }
     if(!
    IsPlayerInAnyVehicle(playerid))
     {
     
    SendClientMessage(playerid,COLOR_GREY," Вы должны быть в авто!");
     return 
    1;
     }
     if(
    Gas[vehid] < 81)
     {
     
    SendClientMessage(playeridCOLOR_WHITE" Ты заправил свою машину на 20 процентов из своей канистры.");
     
    Gas[vehid] += 20;
     
    PlayerInfo[playerid][pFuel] -= 20;
     }
     else
     {
     
    SendClientMessage(playeridCOLOR_GREY" У тебя в машине еще достаточно бензина !");
     }
     }
     return 
    1;
     } 
    Ну вот и все,надеюсь урок вам чем-то помог.
    Автор: Mr.Dave

  2. #2
    Проверенный Аватар для Sgresss
    Регистрация
    28.01.2011
    Адрес
    Саранск
    Возраст
    26
    Сообщений
    1,734
    Репутация: 145

    Звание: скоро придёт к известности

    Re: Слив бензина

    Ебанутся код о_О

  3. #3
    Активный пользователь Аватар для John_Crossfield
    Регистрация
    30.09.2011
    Сообщений
    668
    Репутация: 47

    Звание: на пути к лучшему

    Re: Слив бензина

    Цитата Сообщение от sgresss Посмотреть сообщение
    ебанутся код о_о
    какой есть :d

  4. #4
    Проверенный
    Регистрация
    01.05.2011
    Адрес
    St.Petersburg
    Сообщений
    1,968
    Репутация: 178

    Звание: - весьма и весьма положительная личность

    Re: Слив бензина

    Есть у кого нормальный код "слив бензина"?

  5. #5
    Активный пользователь Аватар для Динар
    Регистрация
    14.05.2011
    Адрес
    Уфа
    Возраст
    32
    Сообщений
    1,146
    Репутация: 69

    Звание: скоро придёт к известности

    Re: Слив бензина

    PHP код:
    if(iscmd(cmd,"/unfuel")){
      if(
    PlayerTied[playerid] || PlayerJailed[playerid] || PlayerCuffed[playerid]) return 1;
      new 
    vid GetNearestVehicle(playerid,2.0);
      if(!
    vid){
       
    Message(playerid,"Поблизости нет автомобилей",clDarkRed);
       return 
    1;
      }
      if(
    VFaction[vid]!=128){
       
    Message(playerid,"С этого автомобиля нельзя слить бензин",clDarkRed);
       return 
    1;
      }
      if(
    VLocked[vid]){
       
    Message(playerid,"Этот автомобиль закрыт",clDarkRed);
       return 
    1;
      }
      if(
    Kanistra[playerid]==0){return Message(playerid,"У Вас нет канистры",clDarkRed);}
      
    getInt("Использование: /unfuel [количество]");
      if(
    pint<1){
       
    Message(playerid,"Вы не можете слить менее 1 литра бензина",clDarkRed);
       return 
    1;
      }
      
    pint strval(tmp);
      if(
    floatround(Fuel[vid],floatround_ceil)<pint){
       
    format(msg,max_line,"В этом автомобиле всего %i литров бензина",floatround(Fuel[vid],floatround_ceil));
       
    Message(playerid,msg,clDarkRed);
       return 
    1;
      }
      if(
    PlayerFuel[playerid]+pint>50){
       
    format(msg,max_line,"Вы не можете переносить с собой более 50 литров бензина сейчас %iл",PlayerFuel[playerid]);
       
    Message(playerid,msg,clDarkRed);
       return 
    1;
      }
      
    PlayerFuel[playerid] += pint;
      
    Fuel[vid] -= float(pint);
      
    SavePlayer(playerid);
      
    format(msg,max_line,"* %s слил бензин с автомобиля %s ",
       
    GetName(playerid),CarName[GetVehicleModel(vid)-400]);
      
    HMessage(playerid,msg,distance_close,clPurple);
      
    format(msg,max_line,"Bы слили %iл бензина c %s",pint,CarName[GetVehicleModel(vid)-400]);
      
    Message(playerid,msg,clYellow);
      return 
    1;
     } 

  6. #6
    Проверенный Аватар для Sgresss
    Регистрация
    28.01.2011
    Адрес
    Саранск
    Возраст
    26
    Сообщений
    1,734
    Репутация: 145

    Звание: скоро придёт к известности

    Re: Слив бензина

    Да тут немного вроде исправлять надо.

  7. #7
    Активный пользователь Аватар для Динар
    Регистрация
    14.05.2011
    Адрес
    Уфа
    Возраст
    32
    Сообщений
    1,146
    Репутация: 69

    Звание: скоро придёт к известности

    Re: Слив бензина

    Ну ты попросил я выложил))

Похожие темы

  1. [Samp-Rp] Слив Денег
    от nurahmat007 в разделе Вопросы по скриптингу
    Ответов: 1
    Последнее сообщение: 30.10.2011, 18:07
  2. Ответов: 4
    Последнее сообщение: 07.09.2011, 19:27
  3. Слив денег
    от Maxim_Jakson в разделе Вопросы по скриптингу
    Ответов: 2
    Последнее сообщение: 05.09.2011, 18:21
  4. Ищу систему бензина
    от VARFIN в разделе Ищу скрипт/мод/функцию/программу/плагин...
    Ответов: 8
    Последнее сообщение: 20.04.2011, 18:25

Ваши права

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