[CM]Mikki |
Дата: Среда, 24.10.2012, 17:14 | Сообщение # 1
|
Боец
Сообщений: 98
Статус: Offline
|
Code new takeload[MAX_PLAYERS]; // Вставляем ко всем new new gruz[MAX_PLAYERS]; // Вставляем ко всем new new gruz1[MAX_PLAYERS]; // Вставляем ко всем new В OnPlayerCommandText: Code 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; } } } В public OnPlayerEnterCheckpoint(playerid): Code 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 денег за доставку груза."); } } ну в общем она и готова приступим к созданию скиллов Code В pInfo: pTruckSkill, В OnPlayerRegister: Code iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]); В OnPlayerLogin: Code iniGetInt(File,"TruckSkill", PlayerInfo[playerid][pTruckSkill]); В stock SavePlayer: (( Может по другому называется )) Code iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]); Вот и всё, работа готова. Сам не проверял поидее рабочая на 95%
Сообщение отредактировал [CM]Mikki - Среда, 24.10.2012, 19:59 |
|
|
|
Эльдар |
Дата: Четверг, 25.10.2012, 00:07 | Сообщение # 2
|
Советник
Сообщений: 672
Статус: Offline
|
Рабочая, но: 1) Не оптимизирована 2) В паблике есть другие уроки лучше
Продам инвайт в DOTA 2 - skype:e.l119
|
|
|
|