• Страница 1 из 1
  • 1
Обновленная работа Дальнобойшика
leonid767Дата: Суббота, 02.08.2014, 02:58 | Сообщение # 1
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0

Статус отсутствует
Давайте сразу начнем
ко всем new добавим
Код
new CP[MAX_PLAYERS];

далие у кого не pLevel
в enum pInfo дабавим
Код
pLevel,

в регистрацию вставим
Код

ini_setInteger(iniFile, "pLevel", 0);

в авторигистрацию
Код

ini_getInteger(iniFile, "pLevel", PlayerInfo[playerid][pLevel]);

в сохронения акаунтов
Код

ini_setInteger(iniFile, "pLevel", PlayerInfo[playerid][pLevel]);

все приступем к созданию команды
в public OnPlayerCommandText(playerid, cmdtext[])
Код

if(strcmp(cmd, "/work", true) == 0)
   {
   if(IsPlayerConnected(playerid))
   {
   if(PlayerInfo[playerid][pJob] != 0) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы не дальнобойщик.");
   {
   if(CP[playerid]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы уже взяли задание.");
   new tmpcar;
   tmpcar = GetPlayerVehicleID(playerid);
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   if(!PlayerToPoint(100,playerid,276.7208, 1988.6398, 16.8692)) return SendClientMessage(playerid, COLOR_GREY, "Вы не набазе!!");//Тут у нас координаты,на которых будет действовать данная команда.
   ShowPlayerDialog(playerid,102,DIALOG_STYLE_LIST,"Выбор груза","{ffffff}Песок 10500$\n{FF0000}Оружие 50000$\n{0xFFFF00AA}Метал 31000$\n{0xAAAAAAAA}Боеприпасы 24900$\n","Выбрать","Отмена");
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
   return 1;
   }
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
   return 1;
   }
   }
   }
   return 1;
   }

в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
Код

if(dialogid == 102)
{
if(response)
{
if(listitem == 0)
{
   moneydb[playerid] = 0;
   SetPlayerCheckpoint(playerid, 276.7208, 1988.6398, 16.8692, 8.0);//координат
   SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!");
   CP[playerid] = 1;
}
else if(listitem == 1)
{
   moneydb[playerid] = 0;
   SetPlayerCheckpoint(playerid, 2781.5938,-2494.3748,13.4599, 8.0);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!");
   CP[playerid] = 3;
}
else if(listitem == 2)
{
   moneydb[playerid] = 0;
   SetPlayerCheckpoint(playerid, 64.7506,-278.8061,1.5781, 8.0);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!");
   CP[playerid] = 5;
}
else if(listitem == 3)
{
   moneydb[playerid] = 0;
   SetPlayerCheckpoint(playerid, 2523.4004,2814.2786,10.8203, 8.0);
   SendClientMessage(playerid, COLOR_LIGHTBLUE, "*Следуйте к красому маячку на радаре для загрузки машины!");
   CP[playerid] = 7;
}
}
}

в public OnPlayerEnterCheckpoint(playerid)
Код

new string[256];
   new tmpcar;
   tmpcar = GetPlayerVehicleID(playerid);
   if(CP[playerid]==1)
   {
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 2;//Переход на новый пикап
   DisablePlayerCheckpoint(playerid);
   SetPlayerCheckpoint(playerid, 324.4989, 856.7709, 19.7881, 8.0);
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!");
   SetTimerEx("zgruzFurui",25000,false,"i",playerid);
   }
else
{
SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
return 1;
}
}
   else if(CP[playerid]==2)
   {
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 0;
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!");
   SetTimerEx("RazgruzFurui",25000,false,"i",playerid);
   DisablePlayerCheckpoint(playerid);
   new zarplata = 10500;//отвечает за зарплату
   format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata);
   SendClientMessage(playerid, COLOR_GREY,string);
   GivePlayerMoney(playerid, zarplata);
   PlayerInfo[playerid][pLevel]++;
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
   return 1;
   }
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
   return 1;
   }
   }
   else if(CP[playerid]==3)
   {
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 4;//Переход на новый пикап
   DisablePlayerCheckpoint(playerid);
   SetPlayerCheckpoint(playerid, 281.0313,1952.6752,17.6406, 8.0);
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!");
   SetTimerEx("zgruzFurui",25000,false,"i",playerid);
   }
else
{
SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
return 1;
}
}
else if(CP[playerid]==4)
{
if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 0;
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!");
   SetTimerEx("RazgruzFurui",25000,false,"i",playerid);
   DisablePlayerCheckpoint(playerid);
   new zarplata = 50000;
   format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata);
   SendClientMessage(playerid, COLOR_GREY,string);
   GivePlayerMoney(playerid, zarplata);
   PlayerInfo[playerid][pLevel]++;
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
   return 1;
   }
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
   return 1;
   }
   }
   else if(CP[playerid]==5)
   {
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 6;//Переход на новый пикап
   DisablePlayerCheckpoint(playerid);
   SetPlayerCheckpoint(playerid, -1053.2174,-640.4914,32.0078, 8.0);
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!");
   SetTimerEx("zgruzFurui",25000,false,"i",playerid);
   }
else
{
SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
return 1;
}
}
else if(CP[playerid]==6)
{
if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 0;
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!");
   SetTimerEx("RazgruzFurui",25000,false,"i",playerid);
   DisablePlayerCheckpoint(playerid);
   new zarplata = 31000;
   format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata);
   SendClientMessage(playerid, COLOR_GREY,string);
   GivePlayerMoney(playerid, zarplata);
   PlayerInfo[playerid][pLevel]++;
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
   return 1;
   }
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
   return 1;
   }
   }
    else if(CP[playerid]==7)
   {
   if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 8;//Переход на новый пикап
   DisablePlayerCheckpoint(playerid);
   SetPlayerCheckpoint(playerid, -1461.8278,431.6042,7.1875, 8.0);
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока загрузят груз!");
   SetTimerEx("zgruzFurui",25000,false,"i",playerid);
   }
else
{
SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
return 1;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
return 1;
}
}
else if(CP[playerid]==8)
{
if(IsATruckerCar(tmpcar))
   {
   if (GetVehicleTrailer(tmpcar))
   {
   CP[playerid] = 0;
   TogglePlayerControllable(playerid,0);
   SendClientMessage(playerid, RED,"Подождите какое-то време пока разгрузят фуру!");
   SetTimerEx("RazgruzFurui",25000,false,"i",playerid);
   DisablePlayerCheckpoint(playerid);
   new zarplata = 24900;
   format(string, sizeof(string), "вам вышла полько зарплота зарплата $%d", zarplata);
   SendClientMessage(playerid, COLOR_GREY,string);
   GivePlayerMoney(playerid, zarplata);
   PlayerInfo[playerid][pLevel]++;
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " У вас нету прицепа!");
   return 1;
   }
   }
   else
   {
   SendClientMessage(playerid, COLOR_GREY, " Вы не в грузовике !");
   return 1;
   }
   }

и в конец мода ставим
Код
forward IsATruckerCar(carid);
   public IsATruckerCar(carid)
   {
   new model = GetVehicleModel(carid);
   if(model == 514 || model == 515)
   {
   return 1;
   }
   return 0;
   }
forward RazgruzFurui(playerid);
forward zgruzFurui(playerid);
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);
public zgruzFurui(playerid)
{
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid, COLOR_LIGHTRED, "* Машина загружена! Получен новый маршрут! Следуйте к маячку на радаре.");
return true;
}

public RazgruzFurui(playerid)
{
TogglePlayerControllable(playerid,1);
SendClientMessage(playerid, RED,"Разгрузка фуры завершена...");
return true;
}

кстати чкть бы не забыл
вот команда для устраивания на роботу
Код
if(strcmp(cmd, "/truck", true) == 0)
          {
              if(IsPlayerConnected(playerid))
              {
              new length = strlen(cmdtext);
                          while ((idx < length) && (cmdtext[idx] <= ' '))
                          {
                     idx++;
                          }
                          new offset = idx;
                          new result[256];
                          while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
                          {
                     result[idx - offset] = cmdtext[idx];
                     idx++;
                          }
                          GetPlayerName(playerid,sendername,sizeof(sendername));
              format(string,sizeof(string), "Ты устроился дальнобойшиком.",result);
                     SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
                     PlayerInfo[playerid][pJop] = 0;
                     return true;
                     }
                     }

ну вот и все меняйте кардинаты и ид работы на свои
и зарплату
Работа подойдет для нового мода на mxINI, на других системах надо менять сохронение
грузы брать с этими координатами на зоне 51 примерно вот здесь



грузовики прицепы ставим сами
автор Я, но делал при помощи всего сайта, спасибо
 
AlexPPPPДата: Суббота, 02.08.2014, 06:05 | Сообщение # 2
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19

Статус отсутствует
Проверю,а так вроде нормально расписал)


Релизы
[GM] Far EastRolePlay[Repack LessGlobal]
S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
 
leonid767Дата: Суббота, 02.08.2014, 15:51 | Сообщение # 3
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0

Статус отсутствует
Цитата AlexPPPP ()
Проверю,а так вроде нормально расписал)

Отпишись если какие ошибки будут
 
AlexPPPPДата: Суббота, 02.08.2014, 17:01 | Сообщение # 4
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19

Статус отсутствует
У меня вопрос,он так сказать на засыпку)
Почему ты используешь new string[256] а не 128 пример,или 64 ?)
P.S в OnPlayerEnterCheckpoint


Релизы
[GM] Far EastRolePlay[Repack LessGlobal]
S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
 
leonid767Дата: Суббота, 02.08.2014, 17:10 | Сообщение # 5
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0

Статус отсутствует
Цитата AlexPPPP ()
У меня вопрос,он так сказать на засыпку)
Почему ты используешь new string[256] а не 128 пример,или 64 ?)
P.S в OnPlayerEnterCheckpoint

да просто мне привычней так а так модно использовать 128 и 64
 
AlexPPPPДата: Суббота, 02.08.2014, 17:13 | Сообщение # 6
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19

Статус отсутствует
На заметку

Строка – это массив символов (цифр и букв). Цифра в квадратных скобок отражает количество ячеек
выделенных под символы, за исключением 1 экстра-ячейки, которая должна быть всегда. Она служит для
хранения идентификатора строки.
Строки используются в основном для хранения имени игрока, текста сообщения, диалога и для других
целей. Стоит помнить, что не рекомендуется создавать много очень больших строк, так же как не
рекомендуется создавать большие строки, которые даже не половину не используются. В строках нужно
выделять ячеек приблизительно ровно столько, сколько будет использоваться. Так например имя игрока может
составлять максимально 24 символа, поэтому для хранения имени игрока используйте строку с длиной не
более 24 символов. Если в строке вы собираетесь хранить сообщение, которое будет отправлено игроку в чат,
то строка должна быть длиной не более 144 символа, так как это ограничение на длину текста в чате. Вобщем
длина строки зависит от ограничений сервера на текст в различных элементах скриптинга.


Релизы
[GM] Far EastRolePlay[Repack LessGlobal]
S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
 
leonid767Дата: Суббота, 02.08.2014, 17:18 | Сообщение # 7
.::Offline::.
Новичок
Сообщений: 9
[ 3 ]
Награды: 0

Статус отсутствует
Цитата AlexPPPP ()
Строка – это массив символов (цифр и букв). Цифра в квадратных скобок отражает количество ячеек
выделенных под символы, за исключением 1 экстра-ячейки, которая должна быть всегда. Она служит для
хранения идентификатора строки.
Строки используются в основном для хранения имени игрока, текста сообщения, диалога и для других
целей. Стоит помнить, что не рекомендуется создавать много очень больших строк, так же как не
рекомендуется создавать большие строки, которые даже не половину не используются. В строках нужно
выделять ячеек приблизительно ровно столько, сколько будет использоваться. Так например имя игрока может
составлять максимально 24 символа, поэтому для хранения имени игрока используйте строку с длиной не
более 24 символов. Если в строке вы собираетесь хранить сообщение, которое будет отправлено игроку в чат,
то строка должна быть длиной не более 144 символа, так как это ограничение на длину текста в чате. Вобщем
длина строки зависит от ограничений сервера на текст в различных элементах скриптинга.

спасибо не знал и везде пихал 256)
 
AlexPPPPДата: Суббота, 02.08.2014, 17:24 | Сообщение # 8
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19

Статус отсутствует
Цитата leonid767 ()
спасибо не знал и везде пихал 256)

Всегда пожалуйста smile


Релизы
[GM] Far EastRolePlay[Repack LessGlobal]
S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
 
PasharusДата: Среда, 06.08.2014, 13:45 | Сообщение # 9
.::Offline::.
Новичок
Сообщений: 6
[ 0 ]
Награды: 0

Статус отсутствует
отлично
 
VETER-OKДата: Воскресенье, 07.09.2014, 10:06 | Сообщение # 10
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0

Статус отсутствует
А для скрипт для RP или можно в Дальнобойный сервак вписать?
 
AlexPPPPДата: Воскресенье, 07.09.2014, 10:25 | Сообщение # 11
.::Offline::.
Гангстер
Сообщений: 179
[ 21 ]
Награды: 19

Статус отсутствует
Это больше для RP, если заменить проверки и т.д то можно вшить в "твой" мод


Релизы
[GM] Far EastRolePlay[Repack LessGlobal]
S.T.A.L.K.E.R New.pwn 45% ( мод заливать не буду )
 
VETER-OKДата: Воскресенье, 07.09.2014, 11:09 | Сообщение # 12
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0

Статус отсутствует
Хорошая работа но к сожалению не та которую я бы хотел. Если не сложно можешь сделать как на RTS работа Дальнобойщика)), буду очень благодарен))
 
fenix05Дата: Воскресенье, 07.09.2014, 11:14 | Сообщение # 13
.::Offline::.
Гангстер
Сообщений: 151
[ 62 ]
Награды: 4

Статус отсутствует
Цитата VETER-OK ()
как на RTS работа Дальнобойщика

опиши как там


Alien Brickman [vk.com/alien_brickman]Обложка:
 
VETER-OKДата: Воскресенье, 07.09.2014, 20:01 | Сообщение # 14
.::Offline::.
Новичок
Сообщений: 5
[ 0 ]
Награды: 0

Статус отсутствует
Цитата fenix05 ()
опиши как там


Го в вк спишемся: http://vk.com/andrey_popov1998
 
milok21Дата: Вторник, 17.11.2015, 01:14 | Сообщение # 15
.::Offline::.
Новичок
Сообщений: 4
[ 0 ]
Награды: 0

Статус отсутствует
спасибо:) пригодится
 
  • Страница 1 из 1
  • 1
Поиск:


Copyright www.SAMP-TEAM.com (c) 2009-2024
Правила использования материалов сайта

При копировании материалов из нашего сайта
ссылка на www.SAMP-TEAM.com обязательна!
Нарушители правил будут строго наказаны!

Хостинг от uCoz   
Для корректного просмотра мы рекомендуем Вам использовать браузер Google Chrome.
Яндекс.Метрика
Яндекс.Метрика