06:14
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
          





Рекомендуем:





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
[GM] The Big PEN1:LS v2.00 ... 04.12.2017
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Alcoholik  
[Manual]Рифы возят материалы
KARLIONE000Дата: Среда, 11.08.2010, 14:05 | Сообщение # 16
Уверенный в себе
Группа: Продвинутые
Сообщений: 193
Награды: 1
Город: Привморск
Репутация: -8
Замечания: 20%
Статус:
У меня ошибки вот в этих строках

C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11754) : error 017: undefined symbol "cmd"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11764) : error 017: undefined symbol "idx"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11779) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11779) : error 017: undefined symbol "idx"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11780) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11785) : error 017: undefined symbol "tmp"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11797) : error 017: undefined symbol "string"
C:\Documents and Settings\Àðòåì\Ðàáî÷èé ñòîë\GF.pwn(11797) : error 017: undefined symbol "string"

Вот строки
if(strcmp(cmd,"/mats",true)==0)
{
if(IsPlayerConnected(playerid))
{
if (!IsAnRifa(playerid))
{
SendClientMessage(playerid,COLOR_GREY,"Âû íå ðèôà");
return 1;
}
new x_nr[256];
x_nr = strtok(cmdtext, idx);
if(!strlen(x_nr)) {
SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: Ââåäèòå: /mats [name]");
SendClientMessage(playerid, COLOR_WHITE, "Èñïîëüçóéòå: buy, sell, load.");
return 1;
}
if(strcmp(x_nr,"buy",true) == 0) // buy Durak (xD)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(2.0, playerid, 2799.3376,-2356.4172,13.6383))//Êîîðäèíàòû ïîêóïêè
{
SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå");//Åñëè íå ðàâíî êîîðäèíàòîì ïîêóïêè òî âûâîäæèò òàêîå ñîîáùåíèå
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: /mats buy [êîëè÷åñòâî]");//Åñëè ââåäåííî íå ïðàâåëüíî, òî âûâîäèò ýòî
return 1;
}
mammount = strval(tmp);
if(mammount < 1 || mammount > 1000)//Ïîêóïàòü íå ìåíüøå 1 è íå áîëüøå 1000
{
SendClientMessage(playerid, COLOR_GREY, "Íå ìåíüøå 1 è íå áîëüøå 1000");
return 1;
}
if(GetPlayerMoney(playerid) < mammount * 5)//Ïðîâåðêà, åñëè äåíåã ìåíüøå òî
{
SendClientMessage(playerid, COLOR_GREY, "Ó âàñ íå õâàòàåò äåíåã");
return 1;
}
palammm[playerid] = mammount;
format(string, sizeof(string), " Âû êóïèëè %d çàãîòîâîê çà %d$ !", palammm[playerid], mammount * 5);
SendClientMessage(playerid, COLOR_GREY, string);
GivePlayerMoney(playerid, - mammount * 5);
}
}
else if(strcmp(x_nr,"sell",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(2.0, playerid, -2119.5625,-178.4151,35.3203))
{
SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_WHITE, "..::13 - rus::..: /mats sell [êîëè÷åñòâî]");
return 1;
}
if (matbi>=30000)
{
SendClientMessage(playerid, COLOR_GREY, "Çàâîä ïîëîí");
return 1;
}
else
{
new xyun = (10)*(palammm[playerid]);
format(string, sizeof(string), "Âû ïðîäàëè %d çàãîòîâîê çà %d$!", palammm[playerid], xyun);
SendClientMessage(playerid, COLOR_GREY, string);
GivePlayerMoney(playerid, (10)*(palammm[playerid]));
matbi += palammm[playerid];
palammm[playerid] = 0;
}
}
}
else if(strcmp(x_nr,"load",true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!PlayerToPoint(2.0, playerid, -2119.5625,-178.4151,35.3203))
{
SendClientMessage(playerid, COLOR_GREY, "Âû íå íà çàâîäå");
return 1;
}
format(string, sizeof(string), "Íà ñêëàäå %d/30000 ìàòîâ", matbi);
SendClientMessage(playerid, COLOR_GREY, string);
}
}
}
}

SatelliteДата: Среда, 11.08.2010, 14:35 | Сообщение # 17
Местный
Группа: Продвинутые
Сообщений: 622
Награды: 10
Город: Хмельницкий
Замечания: 20%
Статус:
Система УГ ибо нет сохранения в файл ;)
Dmitrij_MedvedevДата: Суббота, 14.08.2010, 20:53 | Сообщение # 18
Новенький
Группа: Продвинутые
Сообщений: 35
Награды: 0
Город: Москва
Репутация: 0
Замечания: 0%
Статус:
Эт вещь конечно,как на родном ГВ :)
Jumpman23Дата: Суббота, 14.08.2010, 23:41 | Сообщение # 19
Группа: I'm V.I.P.
Сообщений: 1359
Награды: 23
Город: Kingston, Rastapolis
Репутация: 504
Замечания: 100%
Статус:
Quote (KARLIONE000)
У меня ошибки вот в этих строках

ты в правильный паблик вставлял комманды?

Добавлено (14.08.2010, 23:41)
---------------------------------------------

Quote (Satellite)
Система УГ ибо нет сохранения в файл

перефразирую : Система УГ ибо нет сохранения вообще :D


Тсссс, тссс, отключите снисходительный тон. Помните: вас уже лишали права слова на этом форуме.
Прошу прощения у всех кого я заебал или оскорбил (Кроме икварпа и чеза - вы ибланы).
Великс ты красава.
SatelliteДата: Воскресенье, 15.08.2010, 00:18 | Сообщение # 20
Местный
Группа: Продвинутые
Сообщений: 622
Награды: 10
Город: Хмельницкий
Замечания: 20%
Статус:
Quote (Dmitrij_Medvedev)
Эт вещь конечно,как на родном ГВ

Охх какие люди, здарова, мб помнишь, Grey_Winston с сансити йа)

Drago_JekaДата: Воскресенье, 15.08.2010, 13:16 | Сообщение # 21
Группа: I'm V.I.P.
Сообщений: 754
Награды: 41
Город: Где-то там...
Замечания: 0%
Статус:
код ужасен :(

[off]20 симфалов пилять[/off]


FiLEДата: Среда, 18.08.2010, 18:53 | Сообщение # 22
Группа: Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус:
Делать было нечего, вот сварганил чтото похожее с сохранением в фаил + бонус, работа водителя билазов. Имхо код страшноват, но вроде работает :D

Первое что делаем - заносим forwards

Code

forward LoadMaterials();
forward SaveMaterials();
forward ruda(playerid);
forward IsAnRifa(playerid);

Следующий шаг - заносим переменные
Code

new encarier; // Вход в карьер
new excarier; // Выход из карьера
new Rudabox = 0; // Склад руды
new Materialsbox = 0; // Склад завода
new Bilaz1 = 0;
new Bilaz2 = 0;
new Bilaz3 = 0;
new Bilaz4 = 0;
new Bilaz5 = 0;
new Bilaz6 = 0;
new mammount; // Покупка материалов (введеное кол-во)
new palammm[MAX_PLAYERS];
new rudaslots = 1;

Находим public IsAnInstructor(playerid)
Перед ним вставляем
Code

public ruda(playerid)
{
      new newcar = GetPlayerVehicleID(playerid);
         SendClientMessage(playerid, COLOR_GREY, "Погрузка руды окончена. Отвезите руду в указанное место!");
      TogglePlayerControllable(playerid, 1);
      SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
      if(newcar == 453)
      { Bilaz1 = 100; }
      if(newcar == 454)
      { Bilaz2 = 100; }
      if(newcar == 455)
      { Bilaz3 = 100; }
      if(newcar == 456)
      { Bilaz4 = 100; }
      if(newcar == 457)
      { Bilaz5 = 100; }
      if(newcar == 458)
      { Bilaz6 = 100; }
      SaveMaterials();
      return 1;
}

public IsAnRifa(playerid)
{
if(IsPlayerConnected(playerid))
{
      new leader = PlayerInfo[playerid][pLeader];
      new member = PlayerInfo[playerid][pMember];
      if(member==17)//Вместо 17 Вставляем ид Фракции Рифы
      {
       return 1;
      }
      if(leader==17)//Тут тоже вместо 17 ид Фракции Рифы
      {
       return 1;
      }
}
return 0;
}

Находим public LoadStuff() и перед ним вставляем
Code

public LoadMaterials()
{
      new arrCoords[9][64];
      new strFromFile2[256];
      new File: file = fopen("materials.ini", io_read);
      if (file)
      {
       fread(file, strFromFile2);
       split(strFromFile2, arrCoords, '|');
            
       Rudabox = strval(arrCoords[0]);
       Materialsbox = strval(arrCoords[1]);
       Bilaz1 = strval(arrCoords[2]);
       Bilaz2 = strval(arrCoords[3]);
       Bilaz3 = strval(arrCoords[4]);
       Bilaz4 = strval(arrCoords[5]);
       Bilaz5 = strval(arrCoords[6]);
       Bilaz6 = strval(arrCoords[7]);
            
       fclose(file);
      }
      return 1;
}

public SaveMaterials()
{
      new coordsstring[256];
      format(coordsstring, sizeof(coordsstring), "%d|%d|%d|%d|%d|%d|%d|%d", Rudabox, Materialsbox, Bilaz1, Bilaz2, Bilaz3, Bilaz4, Bilaz5, Bilaz6);
      new File: file2 = fopen("materials.ini", io_write);
      fwrite(file2, coordsstring);
      fclose(file2);
      return 1;
}

В паблик OnPlayerCommandText
Code

      if(strcmp(cmd, "/loadruda", true) == 0)// Узнать кол-ко руды на складе
      {
        if(PlayerInfo[playerid][pJob] != 17 )
          {
        SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!");
        return 1;
          }
if (PlayerToPoint(8.0, playerid,804.801,842.090,10.732)) {}
     else { SendClientMessage(playerid, COLOR_RED, "Вы не около склада складе!"); return 1; }
        format(string, sizeof(string), "Количество руды на складе: %d из 50000!", Rudabox);
           SendClientMessage(playerid, COLOR_GREY, string);
       return 1;
      }
           
           
      if(strcmp(cmd, "/ruda", true) == 0)// Загрузить руду в грузовик
      {
        if(PlayerInfo[playerid][pJob] != 17)
          {
        SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!");
        return 1;
          }

          new newcar = GetPlayerVehicleID(playerid);
       if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458)
       {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; }
            
            
       if(newcar == 453)
       {
        if(Bilaz1 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
       }
       if(newcar == 454)
       {
        if(Bilaz2 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
       }
       if(newcar == 455)
       {
        if(Bilaz3 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
       }
       if(newcar == 456)
       {
        if(Bilaz4 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
         }
       if(newcar == 457)
       {
        if(Bilaz5 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
       }
       if(newcar == 458)
       {
        if(Bilaz6 == 100)
        {
        SendClientMessage(playerid, COLOR_GREY, "Машина уже загружена, едьте на склад!");
        SetPlayerCheckpoint(playerid, 804.801,842.090,10.732, 8.0);
        return 1;
        }
       }
            
            
            
       SendClientMessage(playerid, COLOR_WHITE, "Следуйте к месту погрузки руды.");
          if(rudaslots == 1)
          {
          SetPlayerCheckpoint(playerid, 599.036,932.729,-40.953, 8.0);
          rudaslots += 1;
          }
          else if(rudaslots == 2)
          {
          SetPlayerCheckpoint(playerid, 556.766,923.956,-42.960, 8.0);
          rudaslots += 1;
          }
          else if(rudaslots == 3)
          {
          SetPlayerCheckpoint(playerid, 576.121,871.943,-43.616, 8.0);
          rudaslots += 1;
          }
          else if(rudaslots == 4)
          {
          SetPlayerCheckpoint(playerid, 551.299,878.674,-42.683, 8.0);
          rudaslots += 1;
          }
          else if(rudaslots == 5)
          {
          SetPlayerCheckpoint(playerid, 540.563,844.478,-41.794, 8.0);
          rudaslots += 1;
          }
          else if(rudaslots == 6)
          {
          SetPlayerCheckpoint(playerid, 585.906,844.187,-42.469, 8.0);
          rudaslots = 1;
          }
       return 1;
      }

Добавлено (18.08.2010, 13:01)
---------------------------------------------

Code
    if(strcmp(cmd, "/takeruda", true) == 0)
      {
        if(PlayerInfo[playerid][pJob] != 17)
          {
        SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!");
        return 1;
          }
          new newcar = GetPlayerVehicleID(playerid);
       if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458)
       {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; }
               
       if(IsPlayerInCheckpoint(playerid)) {}
       else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; }

       if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469))
        {}
        else
        {
        SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!");
       return 1;
       }
       SendClientMessage(playerid, COLOR_WHITE, "Началась погрузка руды. Подождите 2 минуты!");
        TogglePlayerControllable(playerid,0);
        DisablePlayerCheckpoint(playerid);
        SetTimerEx("ruda", 120000, 0, "d", playerid);
       return 1;
      }
           
           
      if(strcmp(cmd, "/sellruda", true) == 0)// Сдать руду на склад
      {
        if(PlayerInfo[playerid][pJob] != 17)
          {
        SendClientMessage(playerid, COLOR_GREY, "Доступ имеют только водители Билазов!");
        return 1;
          }
          new newcar = GetPlayerVehicleID(playerid);
       if(newcar == 453 || newcar == 454 || newcar == 455 || newcar == 456 || newcar == 457 || newcar == 458)
       {} else { SendClientMessage(playerid, COLOR_GREY, "Вы не в Билазе"); return 1; }

       if(IsPlayerInCheckpoint(playerid)) {}
       else { SendClientMessage(playerid, COLOR_RED, "Вы не возле склада!"); return 1; }
               
       if (PlayerToPoint(8.0, playerid,804.801,842.090,10.732)) {}
       else { SendClientMessage(playerid, COLOR_RED, "Вы не возле склада!"); return 1; }

       if (Rudabox >= 50000)
       {
       SendClientMessage(playerid, COLOR_RED, "Извените, склад полон. Попробуйте позже!"); return 1;
       }
               
       if(newcar == 453)
       { Bilaz1 = 0; }
       if(newcar == 454)
       { Bilaz2 = 0; }
       if(newcar == 455)
       { Bilaz3 = 0; }
       if(newcar == 456)
       { Bilaz4 = 0; }
       if(newcar == 457)
       { Bilaz5 = 0; }
       if(newcar == 458)
       { Bilaz6 = 0; }
             SendClientMessage(playerid, COLOR_RED, "Доставлено, вы заработали $5000!");
          Rudabox +=100;
          new sellmoney = 5000;
          GivePlayerMoney(playerid, sellmoney);
          DisablePlayerCheckpoint(playerid);
          SaveMaterials();

       return 1;
      }
           
         if(strcmp(cmd,"/mats",true)==0)
         {
          if(IsPlayerConnected(playerid))
             {
             if (!IsAnRifa(playerid))
           {
        SendClientMessage(playerid,COLOR_GREY,"Перевозкой материалов занимается Rifa Gang");
               return 1;
           }
           new x_nr[256];
           x_nr = strtok(cmdtext, idx);
           if(!strlen(x_nr))
       {
             SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте:  /mats [название]");
             SendClientMessage(playerid, COLOR_WHITE, "Используйте: buy, sell, load.");
             return 1;
           }
          if(strcmp(x_nr,"buy",true) == 0) // покупка
          {
              if(IsPlayerConnected(playerid))
              {
                  if(!PlayerToPoint(5.0, playerid, 321.816741,916.144958,22.131235))//Координаты покупки
                  {
                     SendClientMessage(playerid, COLOR_GREY, "Вы не на месте покупки материалов");//
                     return 1;
                  }
                  tmp = strtok(cmdtext, idx);
                  if(!strlen(tmp))
                  {
          SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте: /mats buy [количество]");//
          return 1;
                  }
         mammount = strval(tmp);
         if(mammount < 1 || mammount > 100)// Диапазон покупки
         {
          SendClientMessage(playerid, COLOR_GREY, "Покупка материалов не должна превышать в 100 штук.");
          return 1;
         }
         if(GetPlayerMoney(playerid) < mammount * 50)// Кол-во материалов умножаем на 50, это и будет оплата за маты + проверка на наличные
             {
          SendClientMessage(playerid, COLOR_GREY, "У вас не хватает наличных.");
          return 1;
             }
       if(Rudabox < mammount)
       {
         SendClientMessage(playerid, COLOR_GREY, "На складе недостаточно заготовок.");
         return 1;
       }
             palammm[playerid] = mammount;
             format(string, sizeof(string), "Вы купили %d заготовок за %d$ !", palammm[playerid], mammount * 50);
             SendClientMessage(playerid, COLOR_GREY, string);
             GivePlayerMoney(playerid, - mammount * 50);
         Rudabox -= palammm[playerid];
         SaveMaterials();
         }
       }
           else if(strcmp(x_nr,"sell",true) == 0)
          {
              if(IsPlayerConnected(playerid))
              {
            if(!PlayerToPoint(5.0, playerid, 89.951538,-311.614837,1.381098))
                  {
                      SendClientMessage(playerid, COLOR_GREY, "Вы не на оптовой базе.");
                      return 1;
                  }
                  tmp = strtok(cmdtext, idx);
                  if(!strlen(tmp))
                  {
                      SendClientMessage(playerid, COLOR_WHITE, "..::Virtual City::..: Используйте: /mats sell [количество]");
                      return 1;
                  }
                   if (Materialsbox >= 50000)
             {
              SendClientMessage(playerid, COLOR_GREY, "Приём материалов окончен, база полна!");
              return 1;
             }
             else
             {
                   new sellprice = (100)*(palammm[playerid]); // Цена на продажу
              format(string, sizeof(string), "Вы продали %d заготовок за %d$!", palammm[playerid], sellprice);
              SendClientMessage(playerid, COLOR_GREY, string);
              GivePlayerMoney(playerid, (100)*(palammm[playerid]));
              Materialsbox += palammm[playerid];
              palammm[playerid] = 0;
              SaveMaterials();
             }
            }
           }
           else if(strcmp(x_nr,"load",true) == 0)
       {
        if(IsPlayerConnected(playerid))
        {
             if(!PlayerToPoint(10.0, playerid, 89.951538,-311.614837,1.381098))
             {
                      SendClientMessage(playerid, COLOR_GREY, "Вы не на складе");
                      return 1;
             }
         format(string, sizeof(string), "На складе %d/50000 материалов", Materialsbox);
         SendClientMessage(playerid, COLOR_GREY, string);
        }
           }
      }
}

Добавлено (18.08.2010, 13:02)
---------------------------------------------
Исправляем materials deliver

Code

        else if(strcmp(x_nr,"deliver",true) == 0)
            {
                if(PlayerToPoint(3.0,playerid,49.759590,-224.803787,1.776501))
                {
                 if (Materialsbox > 0)
                 {
                     if(MatsHolding[playerid] > 0)
                     {
                         new payout = (50)*(MatsHolding[playerid]);
                         format(string, sizeof(string), "* Фабрика дала вам %d материалов за ваши %d пакетов.", payout, MatsHolding[playerid]);
                     SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                         PlayerInfo[playerid][pMats] += payout;
                         Materialsbox -= payout;
                         MatsHolding[playerid] = 0;
                     }
                     else
                     {
                         SendClientMessage(playerid, COLOR_GREY, "   У вас нет пакетов материалов!");
                       return 1;
                     }
                 }
                 else
                 {
           SendClientMessage(playerid, COLOR_GREY, "   Вы не на фабрике материалов !");
                     return 1;
                 }
             }
             else
             {
                 SendClientMessage(playerid, COLOR_GREY, "  Не действительное название материалов!");
                 return 1;
             }
            }
            else
            {
             SendClientMessage(playerid, COLOR_GREY, "На складе нет материалов!");
                return 1;
            }
          }
          return 1;
      }

Вставляем объекты
Code

         CreateStreamObject(11081,327.55908203,906.82421875,29.18076706,0.00000000,352.00000000,303.99914551, 250.0); //object(crackfacttanks_sfs) (1)
      CreateStreamObject(12941,822.45507812,848.72753906,9.78227806,355.99548340,0.00000000,113.99963379, 250.0); //object(sw_lastdrop) (1)
      CreateStreamObject(3867,820.21386719,864.98046875,9.28411293,0.00000000,0.00000000,199.99511719, 250.0); //object(ws_scaffolding_sfx) (1)
      CreateStreamObject(9361,50.22949219,-224.23339844,3.15150118,0.00000000,0.00000000,41.99523926, 250.0); //object(boatoffice_sfn) (1)
      CreateStreamObject(3795,49.87942886,-227.43286133,1.11750674,0.00000000,0.00000000,356.00000000, 250.0); //object(missile_04_sfxr) (1)
      CreateStreamObject(3794,47.81445312,-225.91308594,1.37590325,0.00000000,0.00000000,265.99548340, 250.0); //object(missile_07_sfxr) (1)
      CreateStreamObject(3396,49.85042191,-226.11399841,0.77650118,0.00000000,0.00000000,266.00000000, 250.0); //object(a51_sdsk_4_) (1)

И чуть ниже, где все Load'ы добавляем
Code
LoadMaterials();

Находим пикап
Code
Materials Package building

Заменяем его на
Code
AddStaticPickup(1239, 1, 49.759590,-224.803787,1.776501); //Materials Package building
         Create3DTextLabel( "Продажа материалов\nВведите /materials ", 0x008080FF, 49.759590,-224.803787,2.776501, 40.0, 0 );

Ниже дописываем
Code

      AddStaticPickup(1239, 1, 835.904968,858.773803,12.753187); //Работа водителя билаза
      Create3DTextLabel( "Работа водителя Билаза\nЧтобы устроится введите /go", 0x008080FF, 835.904968,858.773803,13.5, 40.0, 0 );
      encarier = CreatePickup(1318,1,835.898498,854.819152,12.614954); // Вход в карьер
      excarier = CreatePickup(1318,1,814.163818,839.041259,10.970828); // Выход из карьера

Добавляем Дамперы (Билазы), кстати узнайте их id'ы и исправте их в выше написанных командах (для наглядности я написал свои иды в коментах)
Code

      AddStaticVehicleEx(406,677.848,838.661,-42.209,61.986,-1,-1,600000); //Dumper 453
      AddStaticVehicleEx(406,689.033,853.925,-42.209,59.986,-1,-1,600000); //Dumper 454
      AddStaticVehicleEx(406,668.415,821.055,-42.202,59.985,-1,-1,600000); //Dumper 455
      AddStaticVehicleEx(406,677.759,926.492,-40.087,59.985,-1,-1,600000); //Dumper 456
      AddStaticVehicleEx(406,543.247,834.544,-39.816,319.985,-1,-1,600000); //Dumper 457
      AddStaticVehicleEx(406,598.033,873.089,-42.209,359.982,-1,-1,600000); //Dumper 458

Находим if(strcmp(cmd, "/go", true) == 0)
и в самый конец к else if'ам
добавляем
Code

           else if (GetPlayerState(playerid) == 1 && PlayerToPoint(3.0, playerid,835.904968,858.773803,12.753187))
           {
               if(PlayerInfo[playerid][pMember] > 0 || PlayerInfo[playerid][pFMember] < 255) { SendClientMessage(playerid, COLOR_GREY, "   Families cannot take on this Job !"); return 1; }
               SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Вы собираетесь стать Водителем Билаза, и получить 5-часовой Контракт.");
             SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Если у вас есть другая работа то сначало пропишите /quitjob.");
             SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Если вы уверены что хотите стать Водителем грузовика, напечатайте /accept job.");
             GettingJob[playerid] = 17; // id профессии (поменяйте на свой)
         }

Вроде-бы все, ах да, создайте в scriptfiles файл materials.ini

Еще, забыл... находите public OnPlayerPickUpPickup
и по аналогии вставляете

Code

    else if(pickupid == encarier)
   {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 811.919921,837.891418,9.830896);
    }
    else if(pickupid == excarier)
   {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 839.547973,857.159484,12.895117);
    }

Таким образом мы имеем сохранение 2-х складов + сохранение в каждом дампере.

Если возникнут проблемы или хотите чтото тут улучшить то готов выслушать.

Добавлено (18.08.2010, 18:53)
---------------------------------------------
Видео, примерно как работает и где находится...






Сообщение отредактировал FiLE95 - Среда, 18.08.2010, 14:09
Fifa4kaДата: Среда, 29.09.2010, 17:51 | Сообщение # 23
Местный
Группа: I'm V.I.P.
Сообщений: 748
Награды: 38
Город: Рига
Замечания: 0%
Статус:
Я заметила ошибку слишком много всего напихана что не работает потом ;) воть

Code
       if(IsPlayerInCheckpoint(playerid)) {}
         else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; }

         if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469))
          {}
          else
          {
          SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!");
         return 1;
         }

сносите это вообще

Code
if(IsPlayerInCheckpoint(playerid)) {}
         else { SendClientMessage(playerid, COLOR_RED, "Вы не на месте погрузки руды!"); return 1; }

тогда будет всё работать ;)

А так всё работает,полезный скрипт молодец держи +1 и подарочек ;)

Кому нужна моя версия скину сделано под GF мод! тут чуть по другому) ;)




Сообщение отредактировал Fifa4ka - Среда, 29.09.2010, 17:54
Demon_WolfДата: Среда, 29.09.2010, 18:08 | Сообщение # 24
Освоившийся
Группа: Пользователи
Сообщений: 90
Награды: 0
Город: Ульяновск
Репутация: -1
Замечания: 0%
Статус:
Fifa4ka скидывай! Буду благодарен.
DiSEДата: Среда, 29.09.2010, 20:00 | Сообщение # 25
Группа: I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус:
Fifa4ka, всё работает нормально
NikonДата: Четверг, 30.09.2010, 16:26 | Сообщение # 26
Постоялец
Группа: I'm V.I.P.
Сообщений: 481
Награды: 14
Город: Kiev
Репутация: 432
Замечания: 40%
Статус:
Quote (FiLE95)

Вроде-бы все, ах да, создайте в scriptfiles файл materials.ini

А в файле materials.ini что то прописовать нужно?

FiLEДата: Четверг, 30.09.2010, 16:47 | Сообщение # 27
Группа: Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус:
Quote (Zhekan)
А в файле materials.ini что то прописовать нужно?

Наверное ненужно, но на всякий добав строчку
Code

0|0|0|0|0|0|0|0




NikonДата: Четверг, 30.09.2010, 18:36 | Сообщение # 28
Постоялец
Группа: I'm V.I.P.
Сообщений: 481
Награды: 14
Город: Kiev
Репутация: 432
Замечания: 40%
Статус:
Quote (FiLE95)
Quote (Zhekan)
А в файле materials.ini что то прописовать нужно?

Наверное ненужно, но на всякий добав строчку
Code

0|0|0|0|0|0|0|0


Спасибо, добавлю

DiSEДата: Пятница, 01.10.2010, 13:10 | Сообщение # 29
Группа: I'm V.I.P.
Сообщений: 1759
Награды: 23
Город: Уфа
Репутация: 337
Замечания: 80%
Статус:
Quote
if (PlayerToPoint(8.0, playerid,599.036,932.729,-40.953) || PlayerToPoint(8.0, playerid,556.766,923.956,-42.960) || PlayerToPoint(8.0, playerid,576.121,871.943,-43.616) || PlayerToPoint(8.0, playerid,551.299,878.674,-42.683) || PlayerToPoint(8.0, playerid,540.563,844.478,-41.794) || PlayerToPoint(8.0, playerid,585.906,844.187,-42.469))

Fifa4ka

знаешь, этим мы узнаём где находится игрок. Так вот вопрос: зачем нам загружать руду, где угодно? Надо же в определённом месте

FiLEДата: Понедельник, 04.10.2010, 23:37 | Сообщение # 30
Группа: Разработчики
Сообщений: 681
Награды: 70
Город: Одесса
Замечания: 0%
Статус:
Quote (Fifa4ka)
сносите это вообще

это повлечет за собой баг при котором команда /sellruda будет бесконечной говоря образно.

И нужно будет фиксить проверку билазов типа:

Code

       if(newcar == 453)
       {
       if(Bilaz1 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz1 = 0;
       }
       if(newcar == 454)
       {
         if(Bilaz2 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz2 = 0;
       }
       if(newcar == 455)
       {
         if(Bilaz3 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz3 = 0;
       }
       if(newcar == 456)
       {
         if(Bilaz4 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz4 = 0;
       }
       if(newcar == 457)
       {
         if(Bilaz5 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz5 = 0;
       }
       if(newcar == 458)
       {
         if(Bilaz6 == 0)
       {
       SendClientMessage(playerid, COLOR_RED, "Áèëàç ïóñò");
       return 1;
       }
       Bilaz6 = 0;
       }

где Áèëàç ïóñò - билаз пуст или чтото типа такого crazy

Также спасибо Fifa4ka, с обнаружением подводного камня.
/mats buy можно было много раз куплять (а машина то не резиновая crazy )

Замените buy

Code

        if(strcmp(x_nr,"buy",true) == 0) // покупка
        {
            if(IsPlayerConnected(playerid))
            {
                if(!PlayerToPoint(5.0, playerid, 321.816741,916.144958,22.131235))//Координаты покупки
                {
                   SendClientMessage(playerid, COLOR_GREY, "Вы не на месте покупки материалов");//
                   return 1;
                }
                tmp = strtok(cmdtext, idx);
                mammount = strval(tmp);
                if(!strlen(tmp))
                {
        SendClientMessage(playerid, COLOR_WHITE, "+++:::Crazy_Universe:::+++ Используйте: /mats buy [количество]");//
        return 1;
                }
       new manybag = palammm[playerid] + mammount;
                if(manybag > 100)
                {
                SendClientMessage(playerid, COLOR_GREY, "Вы не можете взять больше");
                return 1;
                }
       if(mammount < 1 || mammount > 100)// Диапазон покупки
       {
        SendClientMessage(playerid, COLOR_GREY, "Покупка материалов не должна превышать в 100 штук.");
        return 1;
       }
       if(GetPlayerMoney(playerid) < mammount * 50)// Кол-во материалов умножаем на 50, это и будет оплата за маты + проверка на наличные
           {
        SendClientMessage(playerid, COLOR_GREY, "У вас не хватает наличных.");
        return 1;
           }
           palammm[playerid] = mammount;
           format(string, sizeof(string), "Вы купили %d заготовок за %d$ !", palammm[playerid], mammount * 50);
           SendClientMessage(playerid, COLOR_GREY, string);
           GivePlayerMoney(playerid, - mammount * 50);
       Rudabox -= palammm[playerid];
       SaveMaterials();
       }
     }






Сообщение отредактировал FiLE95 - Вторник, 05.10.2010, 00:02
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:





 


 


 
Хостинг от uCoz samp.at.ua