I can't help you with Ide.img, but through the script will be easier for me to help you. First the all, Peter does not have a boss style. Secondly, i don't figure out how to trigger BOSS_Darby to attack without my custom made script which got lost a couple months ago and i don't have a plan to make it, so i will not include the darby boss style in here. Download the script in the attachments, and here's the source if anybody interested to develop:
function main()
while not SystemIsReady() or AreaIsLoading() do
Wait(0)
end
F_AnimationGroup(true)
local SetupPed = {
{23,"GRlead_Johnny","GRlead_Johnny_W",0,"Large","GREASER","STAT_G_JOHNNY","F_Greas","G_Johnny","null","null","/Global/G_Johnny","Act/Anim/G_Johnny.act"},
{10,"NDLead_Earnest","NDlead_Earnest_W",0,"Medium","NERD","STAT_N_EARNEST","F_Nerds","N_Striker","N_Ranged","Straf_Nerd","/Global/N_Earnest","Act/Anim/N_Earnest.act"},
{130,"Nemesis_Gary","Nemesis_Gary_W",0,"Medium","STUDENT","STAT_GS_GARY","Straf_Male","F_BULLY","null","null","/Global/Nemesis","Act/Anim/Nemesis.act"},
{19,"JKlead_Ted","JKlead_Ted_W",0,"Large","JOCK","STAT_J_TED","F_Jocks","J_Striker","null","null","/Global/J_Ted","Act/Anim/J_Ted.act"}
}
for Number = 1,table.getn(SetupPed) do
local Data,Texture = SetupPed[Number],function()
if ChapterGet() == 2 then return SetupPed[Number][3] else return SetupPed[Number][2] end
end
SetupPedObject(
Data[1],Data[2],Texture(),Data[4],Data[5],Data[6],
Data[7],Data[8],Data[9],Data[10],Data[11],1,Data[12],
Data[13],"/Global/AI","Act/AI/AI.act"
)
end
while true do
for i,Ped in {PedFindInAreaXYZ(0,0,0,999999)} do
if PedIsValid(Ped) and Ped ~= gPlayer then
-- Earnest does nothing without script, so here the script is
if (PedIsModel(Ped,10) or PedIsModel(Ped,215)) and not MissionActiveSpecific("4_B1") then
if PedIsInCombat(Ped) and PedIsValid(PedGetTargetPed(Ped)) then
if math.random(1,30) == 5 then
local Action,Random = {
{"/Global/N_Earnest/Offense/FireSpudGun","Act/Anim/N_Earnest.act",{305,50}},
{"/Global/N_Earnest/Offense/ThrowBombs","Act/Anim/N_Earnest.act",{417,8}},
},math.random(1,2)
if PedMePlaying(Ped,"DEFAULT_KEY") then
PedSetWeaponNow(Ped,unpack(Action[Random][3]))
PedSetActionNode(Ped,Action[Random][1],Action[Random][2])
end
end
end
end
end
end
-- Spawn all peds
for PedIndex = 1,258 do
if PedGetUniqueModelStatus(PedIndex) ~= 1 then
PedSetUniqueModelStatus(PedIndex,1)
end
end
Wait(0)
end
end
function F_AnimationGroup(Load)
local AnimationGroup = {
"Authority","Boxing","Russell","Nemesis","B_Striker","CV_Female","CV_Male","DO_Edgar","DO_Grap","DO_StrikeCombo",
"DO_Striker","F_Adult","F_BULLY","F_Douts","F_Girls","F_Greas","F_Jocks","F_Nerds","F_OldPeds","F_Pref","F_Preps",
"G_Grappler","G_Johnny","G_Striker","Grap","J_Damon","J_Grappler","J_Melee","J_Ranged","J_Striker","LE_Orderly","N_Ranged",
"N_Striker","N_Striker_A","N_Striker_B","P_Grappler","P_Striker","PunchBag","Qped","Rat_Ped","Russell_Pbomb","Straf_Dout",
"Straf_Fat","Straf_Female","Straf_Male","Straf_Nerd","Straf_Prep","Straf_Savage","Straf_Wrest","TE_Female","MINI_React",
"Earnest",
}
for _animoption,Anim in ipairs(AnimationGroup) do
if type(Load) == "boolean" and Load == true then
if HasAnimGroupLoaded(Anim) == false then LoadAnimationGroup(Anim) end
elseif type(Load) == "boolean" and Load == false then
if HasAnimGroupLoaded(Anim) == true then UnLoadAnimationGroup(Anim) end
end
end
end
--[[
STimeCycle.lur
]]
function F_AttendedClass()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(false)
PlayerSetPunishmentPoints(0)
end
function F_MissedClass()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
SetSkippedClass(true)
StatAddToInt(166)
end
function F_AttendedCurfew()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrintString("You got home in time for curfew", 4)
end
end
function F_MissedCurfew()
if not PedInConversation(gPlayer) and not MissionActive() then
TextPrint("TM_TIRED5", 4, 2)
end
end
function F_StartClass()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
end
function F_EndClass()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
end
function F_StartMorning()
F_UpdateTimeCycle()
end
function F_EndMorning()
F_UpdateTimeCycle()
end
function F_StartLunch()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
F_UpdateTimeCycle()
return
end
F_UpdateTimeCycle()
end
function F_EndLunch()
F_UpdateTimeCycle()
end
function F_StartAfternoon()
F_UpdateTimeCycle()
end
function F_EndAfternoon()
F_UpdateTimeCycle()
end
function F_StartEvening()
F_UpdateTimeCycle()
end
function F_EndEvening()
F_UpdateTimeCycle()
end
function F_StartCurfew_SlightlyTired()
F_UpdateTimeCycle()
end
function F_StartCurfew_Tired()
F_UpdateTimeCycle()
end
function F_StartCurfew_MoreTired()
F_UpdateTimeCycle()
end
function F_StartCurfew_TooTired()
F_UpdateTimeCycle()
end
function F_EndCurfew_TooTired()
F_UpdateTimeCycle()
end
function F_EndTired()
F_UpdateTimeCycle()
end
function F_Nothing()
end
function F_ClassWarning()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
local l_23_0 = math.random(1, 2)
end
function F_UpdateTimeCycle()
if not IsMissionCompleated("1_B") then
local l_24_0 = GetCurrentDay(false)
if l_24_0 < 0 or l_24_0 > 2 then
SetCurrentDay(0)
end
end
F_UpdateCurfew()
end
function F_UpdateCurfew()
local l_25_0 = shared.gCurfewRules
if not l_25_0 then
l_25_0 = F_CurfewDefaultRules
end
l_25_0()
end
function F_CurfewDefaultRules()
local l_26_0 = ClockGet()
if l_26_0 >= 23 or l_26_0 < 7 then
shared.gCurfew = true
else
shared.gCurfew = false
end
end