Like[*]
Умник
Начнём, ко всем new:
В OnPlayerCommandText:
В public OnPlayerEnterCheckpoint(playerid):
Если у вас есть кпк или прочее, то в cmd:
Работа готова, теперь делаем скиллы для работы.
В pInfo:
В OnPlayerRegister:
В OnPlayerLogin:
В stock SavePlayer: (( возможно у вас подругому называется ))
Вот и всё, работа готова.
Проверял у себя, всё отлично.
По скиллам:
Возможно у вас форма другая, делайте по своей форме, только переменную pTruckSkill.
Может кому понадобятся фуры, прицепы, вот сделал:
Скриншот:
Местонахождение:
Так, фуры, прицепы:
В OnGameModeInit:
Ко всем new:
В public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger):
ВНИМАНИЕ: ID работы 5 заменяйте на свой!
Вот и всё.
Автор урока: я.
Деньги идут в зависимости от скилла, к примеру на 1-ом скилле 600-800 и т.д.
Выдачу денег заменяйте на свою.
Проверял у себя в моде, всё работает на ура.
PHP:
new takeload[MAX_PLAYERS];
new gruz[MAX_PLAYERS];
new gruz1[MAX_PLAYERS];
PHP:
if(strcmp(cmd, "/takeload", true) == 0)
{
if(PlayerInfo[playerid][pJob] != 6) return SendClientSendClientMessagee(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы не дальнобойщик, используйте (( /job )).");
if(takeload[playerid] == 1) return SendClientSendClientMessagee(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы уже взяли задание.");
new model = GetVehicleModel(GetPlayerVehicleID(playerid));
if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==515 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==514 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==403) return SendClientMessagee(playerid,COLOR_GRAD,"{ff0000}[Недоступно]{ffffff} Вы должны находиться в фуре, за рулём.");
if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessagee(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы без прицепа, подцепите прицеп для начала грузоперевозки.");
new tasks = random(2);
switch(tasks)
{
case 0:
{
SendClientMessagee(playerid, COLOR_WHITE, "- Здравствуйте, доставьте груз до места назначения №1.");
SendClientMessagee(playerid, COLOR_WHITE, "- По прибытию вы получите зарплату, удачи.");
takeload[playerid] = 1;
gruz[playerid] = 1;
SetPlayerCheckpoint(playerid, 264.1020,1409.9296,10.4917, 3.0);
return 1;
}
case 1:
{
SendClientMessagee(playerid, COLOR_WHITE, "- Здравствуйте, доставьте груз до места назначения №2.");
SendClientMessagee(playerid, COLOR_WHITE, "- По прибытию вы получите зарплату, удачи.");
takeload[playerid] = 1;
gruz1[playerid] = 1;
SetPlayerCheckpoint(playerid, 264.1020,1409.9296,10.4917, 3.0);
return 1;
}
}
}
PHP:
if(gruz[playerid] == 1)
{
if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы без прицепа.");
takeload[playerid] = 0;
SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
DisablePlayerCheckpoint(playerid);
gruz[playerid] = 0;
new rand;
new strings[256];
new level = PlayerInfo[playerid][pTruckSkill];
if(level >= 0 && level <= 20) { rand = 600-random(800); }
else if(level >= 21 && level <= 50) { rand = 1200-random(1400); }
else if(level >= 51 && level <= 100) { rand = 1800-random(2000); }
else if(level >= 101 && level <= 225) { rand = 3600-random(5000); }
GivePlayerMoney(playerid, rand);
new rand1;
format(strings, sizeof(strings),"Груз {ff0000}№1{ffffff} успешно доставлен. Ваша зарплата: {ff0000}$%d{ffffff}.", rand);
SendClientMessage(playerid, COLOR_WHITE, strings);
PlayerInfo[playerid][pTruckSkill] ++;
if(PlayerInfo[playerid][pTruckSkill] == 20)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 2, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 50)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 3, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 100)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 4, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 225)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика максимальный, теперь вы получаете более $3600 денег за доставку груза."); }
}
if(gruz1[playerid] == 1)
{
if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы не без прицепа.");
SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
DisablePlayerCheckpoint(playerid);
gruz1[playerid] = 0;
new rand2;
new strings[256];
new level = PlayerInfo[playerid][pTruckSkill];
if(level >= 0 && level <= 20) { rand2 = 680-random(880); }
else if(level >= 21 && level <= 50) { rand2 = 1280-random(1480); }
else if(level >= 51 && level <= 100) { rand2 = 1880-random(2880); }
else if(level >= 101 && level <= 225) { rand2 = 3680-random(6980); }
GivePlayerMoney(playerid, rand2);
format(strings, sizeof(strings),"Груз {ff0000}№2{ffffff} успешно доставлен. Ваша зарплата: {ff0000}$%d{ffffff}.", rand2);
SendClientMessage(playerid, COLOR_WHITE, strings);
PlayerInfo[playerid][pTruckSkill] ++;
if(PlayerInfo[playerid][pTruckSkill] == 20)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 2, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 50)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 3, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 100)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 4, теперь вы получаете больше денег за доставку груза."); }
else if(PlayerInfo[playerid][pTruckSkill] == 225)
{ SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика максимальный, теперь вы получаете более $3680 денег за доставку груза."); }
}
PHP:
if(takeload[playerid] == 1) return SendClientMessage(playerid, COLOR_GRAD, "{ff0000}[Недоступно]{ffffff} Во время грузоперевозки, невозможно использовать карманный компьютер.");
В pInfo:
PHP:
pTruckSkill,
PHP:
iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]);
PHP:
iniGetInt(File,"TruckSkill", PlayerInfo[playerid][pTruckSkill]);
PHP:
iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]);
Проверял у себя, всё отлично.
По скиллам:
Возможно у вас форма другая, делайте по своей форме, только переменную pTruckSkill.
Может кому понадобятся фуры, прицепы, вот сделал:
Скриншот:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Местонахождение:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Так, фуры, прицепы:
В OnGameModeInit:
PHP:
dbcar[0] = AddStaticVehicleEx(514,-1027.98901367,-686.77301025,32.70700073,270.00000000,-1,-1,15);
AddStaticVehicleEx(514,-1027.90698242,-681.53698730,32.70700073,270.00000000,-1,-1,15);
AddStaticVehicleEx(514,-1027.84497070,-676.46099854,32.70700073,270.00000000,-1,-1,15);
AddStaticVehicleEx(514,-1027.88696289,-671.32098389,32.70700073,270.00000000,-1,-1,15);
AddStaticVehicleEx(515,-1028.16894531,-666.39300537,33.16199875,270.00000000,-1,-1,15);
AddStaticVehicleEx(515,-1028.20800781,-661.34899902,33.16199875,270.00000000,-1,-1,15);
AddStaticVehicleEx(515,-1028.25195312,-655.91900635,33.16199875,270.00000000,-1,-1,15);
AddStaticVehicleEx(403,-1027.90002441,-651.39202881,32.70800018,270.00000000,-1,-1,15);
AddStaticVehicleEx(403,-1027.70104980,-645.95397949,32.70800018,270.00000000,-1,-1,15);
AddStaticVehicleEx(584,-985.11499023,-687.21502686,33.17200089,90.00000000,-1,-1,15);
AddStaticVehicleEx(584,-985.14202881,-681.85498047,33.16699982,90.00000000,-1,-1,15);
AddStaticVehicleEx(450,-984.73101807,-676.73199463,32.66199875,90.00000000,-1,-1,15);
AddStaticVehicleEx(450,-984.61901855,-671.15600586,32.66199875,90.00000000,-1,-1,15);
AddStaticVehicleEx(450,-984.59802246,-666.30401611,32.66199875,90.00000000,-1,-1,15);
AddStaticVehicleEx(450,-984.69702148,-661.33197021,32.66199875,90.00000000,-1,-1,15);
AddStaticVehicleEx(591,-984.08599854,-656.25897217,32.66199875,90.00000000,-1,-1,15);
AddStaticVehicleEx(591,-983.96502686,-651.00500488,32.66199875,90.00000000,-1,-1,15);
dbcar[16] = AddStaticVehicleEx(591,-983.84197998,-645.99798584,32.66199875,90.00000000,-1,-1,15);
PHP:
new dbcar[17];
PHP:
if(vehicleid >= dbcar[0] && vehicleid <= dbcar[16])
{
if(ispassenger == 0)
{
if(PlayerInfo[playerid][pJob] == 6)
{
}
else
{
new Float:plocx,Float:plocy,Float:plocz;
GetPlayerPos(playerid, plocx, plocy, plocz);
SetPlayerPos(playerid, plocx, plocy, plocz+1.0);
SendClientMessage(playerid, COLOR_WHITE, "{E3BE88}[Транспорт]{ffffff} У вас нет ключей от этого транспорта.");
}
}
}
Вот и всё.
Автор урока: я.
Деньги идут в зависимости от скилла, к примеру на 1-ом скилле 600-800 и т.д.
Выдачу денег заменяйте на свою.
Проверял у себя в моде, всё работает на ура.
Последнее редактирование:
