News: Welcome back to Bullworth! If you haven't already, you will need to reset your password..


Author Topic: Bullies Nightmare: Open Source Mission  (Read 11102 times)

0 Members and 1 Guest are viewing this topic.

deadpoolXYZ

  • Guest
Bullies Nightmare: Open Source Mission
« on: April 12, 2015, 04:40:09 PM »
This is my first attempt at doing a custom mission mod, pretty much like the one created by Daboss, who also helped and tested this one.
It took me around 4 days to complete it, and another extra day just to fix some things that didn't work like I wanted. Making a custom mission was a fun experience so you should try to make one... long, short, easy, hard, anything counts.  8)

In this mission you play as 3 of the bullies but things don't go as planned.

Download link: http://www.mediafire.com/download/d441rsbe94ernbx/ArcRace1.lur

Source code:
Code: [Select]
ImportScript("1_10.lua")
ImportScript("Library/LibTable.lua")
ImportScript("Library/LibObjective.lua")
ImportScript("Library/LibPed.lua")
local l_0_6, l_0_7 = nil, nil
--[[
"Troy GN_Bully01 102"
"Davis GN_Bully02 99"
"Trent GN_Bully03 85"
"Ethan GN_Bully04 145"
"Wade GN_Bully05 146"
"Tom GN_Bully06 147"
]]
function MissionSetup()
  AreaTransitionXYZ(0,196,0,6)
  PedFaceXYZ(gPlayer,202,-17,6)
  CameraReturnToPlayer()
  ClockSet(18, 00)
  PlayerSetHealth(PedGetMaxHealth(gPlayer))
  PlayerSwapModel("GN_Bully06")
  PedClearAllWeapons(gPlayer)
  PedSetActionTree(gPlayer, "/Global/Player", "act/Player.act")
  PedSetAITree(gPlayer, "/Global/PlayerAI", "Act/PlayerAI.act")
  PedSetStatsType(gPlayer,"STAT_PLAYER")
  PedSetUniqueModelStatus(102,-1)
  PedSetUniqueModelStatus(145,-1)
  PedSetUniqueModelStatus(147,-1)
  LoadAllAnim()
end

function MissionCleanup()
  TextPrintString('',1,1)
  TextPrintString('',1,2)
  PlayerSetControl(1)
  CameraReturnToPlayer()
  CameraSetWidescreen(false)
  EffectSetGymnFireOn(false)
  SoundStopStream()
  DisablePunishmentSystem(false)
  endThreads = true
end

function main()
  F_GoDorm()
end

function F_GoDorm()
  TextPrintString("Meet with the bullies in the dorm",3,1)
  local blip = BlipAddXYZ(271, -121, 7)
  local x,y = 271,-121
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
  until PedInRectangle(gPlayer,r1,r2,r3,r4)
  BlipRemove(blip)
  AreaTransitionXYZ(14, -508, 322, 31)
  F_InitialConversation()
end

function F_InitialConversation()
SoundPlayInteractiveStream("FIGHT01F.rsm", MUSIC_DEFAULT_VOLUME)
ethan = PedCreateXYZ(145,-507,322,31)
troy = PedCreateXYZ(102,-507,323,31)
PedFaceXYZ(gPlayer,-504,325,6)
PedFaceXYZ(ethan,-508,323,6)
PedFaceXYZ(troy,-508,321,6)
PedSetStationary(ethan,true)
PedSetInvulnerable(ethan,true)
PedSetStationary(troy,true)
PedSetInvulnerable(troy,true)
PlayerSetControl(0)
CameraSetXYZ(-506,325,35)
CameraLookAtXYZ(-507,322,31)
CameraSetWidescreen(true)
TextPrintString("Tom: I can't believe I failed math again, Hattrick is an idiot",10,2)
Wait(2500)
TextPrintString("Ethan: I wonder how that fat ass is still working in this place...",10,2)
Wait(2500)
TextPrintString("Troy: We should teach that bitch a lesson",10,2)
Wait(2500)
TextPrintString("Ethan: I think I have an idea",10,2)
Wait(2500)
TextPrintString("*random gibberish*",10,2)
Wait(2500)
TextPrintString("Tom: We will meet at the main building entrance",10,2)
Wait(2500)
TextPrintString("Troy: See you there",10,2)
Wait(2500)
PedSetStationary(ethan,false)
PedSetStationary(troy,false)
PedMoveToXYZ(ethan,0,-502,323,31)
PedMoveToXYZ(troy,0,-502,321,31)
Wait(3000)
PedDelete(ethan)
PedDelete(troy)
SoundPlayInteractiveStream("MS_RunningLow.rsm", MUSIC_DEFAULT_VOLUME)
TextPrintString('',10,2)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
F_OutsideMeeting()
end

function F_OutsideMeeting()
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLFRONTDOORL, true)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLRIGHTFRONTDOOR, true)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLRIGHTBACKDOOR, true)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLLEFTBACKDOOR, true)
SoundPlayInteractiveStream("MS_SearchingMid.rsm", MUSIC_DEFAULT_VOLUME)
ClockSet(00, 00)
PedSetUniqueModelStatus(49,-1)
PedSetUniqueModelStatus(50,-1)
PedSetUniqueModelStatus(51,-1)
PedSetUniqueModelStatus(52,-1)
TextPrintString("Wait for the other bullies outside",10,1)
local blip = BlipAddXYZ(215, -72, 8)
local x,y = 215,-72
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
  repeat
    Wait(0)
  until PedInRectangle(gPlayer,r1,r2,r3,r4)
  BlipRemove(blip)
PlayerSetControl(0)
CameraSetWidescreen(true)
TextPrintString("Tom: Huh... Where the hell are they?!",10,2)
Wait(2500)
karl = PedCreateXYZ(52,230,-72,7)
PedFaceXYZ(karl, 215, -72, 8)
CameraSetXYZ(215, -75, 11)
CameraLookAtXYZ(230,-72,7)
Wait(1000)
PedSetActionNode(karl, "/Global/1_02/PointAtPlayer" ,"Act/Conv/1_02.act")
TextPrintString("Karl: You should be sleeping right now!",10,2)
Wait(2500)
PedSetActionTree(karl, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetWeapon(karl, 357)
PedAttackPlayer(karl,3)
AddBlipForChar(karl,0,26,4)
DisablePunishmentSystem(true)
TextPrintString("Defeat Karl",2,1)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
repeat
Wait(0)
until not PedIsValid(karl) or PedIsDead(karl)
edward = PedCreateXYZ(51,230,-90,7)
PedSetActionTree(edward, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetWeapon(edward, 357)
PedAttackPlayer(edward,3)
AddBlipForChar(edward,0,26,4)
TextPrintString("Edward: You shouldn't have done that!",10,2)
repeat
Wait(0)
until not PedIsValid(edward) or PedIsDead(edward)
maxx = PedCreateXYZ(49,230,-60,7)
PedSetActionTree(maxx, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetWeapon(maxx, 357)
PedAttackPlayer(maxx,3)
AddBlipForChar(maxx,0,26,4)
seth = PedCreateXYZ(50,230,-90,7)
PedSetActionTree(seth, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetWeapon(seth, 357)
PedAttackPlayer(seth,3)
AddBlipForChar(seth,0,26,4)
repeat
Wait(0)
until (not PedIsValid(maxx) or PedIsDead(maxx)) and (not PedIsValid(seth) or PedIsDead(seth))
local blip = BlipAddXYZ(215, -72, 8)
local x,y = 215,-72
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
BlipRemove(blip)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(213, -70, 11)
CameraLookAtXYZ(230,-72,7)
ethan = PedCreateXYZ(145,230,-72,7)
troy = PedCreateXYZ(102,230,-70,7)
PedSetFlag(ethan, 2, true)
PedSetFlag(troy, 2, true)
PedMoveToXYZ(ethan,2,215, -72, 8)
PedMoveToXYZ(troy,2,215, -70, 8)
local x,y = 215,-71
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
  repeat
    Wait(0)
until PedInRectangle(ethan,r1,r2,r3,r4) and PedInRectangle(troy,r1,r2,r3,r4)
PedSetFlag(ethan, 2, false)
PedSetFlag(troy, 2, false)
Wait(700)
local x,y,z = PedGetPosXYZ(gPlayer)
PedFaceXYZ(ethan,x,y,z)
PedFaceXYZ(troy,x,y,z)
TextPrintString("Ethan: Sorry that wimp Bucky owed us money",10,2)
PedSetStationary(ethan,true)
PedSetInvulnerable(ethan,true)
PedSetStationary(troy,true)
PedSetInvulnerable(troy,true)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
Wait(2500)
TextPrintString("Tom: Damn the door is locked!",10,2)
Wait(2500)
TextPrintString("Ethan: Troy get inside the basement and open the door from inside",10,2)
Wait(2500)
PedSetStationary(troy,false)
PedSetInvulnerable(troy,false)
PedSetStationary(gPlayer,true)
PedSetInvulnerable(gPlayer,true)
PedSetControllerID(troy,0)
CameraFollowPed(troy)
PedSetActionTree(troy, "/Global/Player", "act/Player.act")
PedSetAITree(troy, "/Global/PlayerAI", "Act/PlayerAI.act")
TextPrintString("Troy: I hate that place, especially because that Luntz weirdo",10,2)
local x,y = 186,-42
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
until PedInRectangle(troy,r1,r2,r3,r4)
AreaTransitionXYZ(8, -731, -56, 10)
F_BasementRoom()
end

function F_BasementRoom()
AreaTransitionXYZ(8, -731, -56, 10)
PedFaceXYZ(gPlayer, -733, -56, 10)
PlayerSetHealth(PedGetMaxHealth(gPlayer))
if PedIsValid(troy) then
PedDelete(troy)
end
if PedIsValid(ethan) then
PedDelete(ethan)
end
ClockSet(00, 00)
CameraReturnToPlayer()
DisablePunishmentSystem(true)
PedSetControllerID(gPlayer,0)
CameraFollowPed(gPlayer)
PedSetStationary(gPlayer,false)
PedSetInvulnerable(gPlayer,false)
PlayerSwapModel("GN_Bully01")
PedSetActionTree(gPlayer, "/Global/Player", "Act/Player.act")
PedSetAITree(gPlayer, "/Global/PlayerAI", "Act/PlayerAI.act")
PedSetStatsType(gPlayer,"STAT_PLAYER")
luntz = PedCreateXYZ(56,-740.4,-45,10)
PedSetInvulnerable(luntz,true)
local blip = BlipAddXYZ(-774, -59, 10)
PlayerSetControl(0)
CameraSetWidescreen(true)
TextPrintString("Don't wake up Mr. Luntz",4,1)
for count = 1, 130 do
CameraSetXYZ(-738,-44,13)
CameraLookAtXYZ(-740.4,-45,10)
PedSetActionNode(luntz, "/Global/HitTree/Standing/PostHit/BellyDown", "act/anim/HitTree.act")
Wait(0)
end
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
repeat
PedSetActionNode(luntz, "/Global/HitTree/Standing/PostHit/BellyDown", "act/anim/HitTree.act")
Wait(0)
until PedIsPlaying(gPlayer, "/Global/Asyswtch/PedPropActions", "act/anim/Player.act")
Wait(1500)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(-746,-62,10)
CameraLookAtXYZ(-747, -56, 9)
PAnimOpenDoors(-747, -56, 9)--Room01
Wait(2000)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
Wait(500)
PedSetInvulnerable(luntz,false)
PedAttackPlayer(luntz,3)
AddBlipForChar(luntz,0,26,4)
PedSetWeapon(luntz, 324)
PedSetPosXYZ(luntz,-738,-50,9)
PedOverrideStat(luntz, 20, 170)
PedSetDamageTakenMultiplier(luntz, 0, 0)
TextPrintString("Mr.Luntz: What was that noise? Who is there?!",3,2)
Wait(2500)
TextPrintString("Troy: Oh shit!",3,2)
TextPrintString("Defeat Mr.Luntz",3,1)
PedShowHealthBar(luntz, true, "N_MrLuntz", true)
local moves = {}
table.insert(moves, {move = "/Global/Norton/Offense/Short/Swing1", moveFile = "Act/Anim/3_05_Norton.act"})
table.insert(moves, {move = "/Global/Norton/Offense/Short/Swing2", moveFile = "Act/Anim/3_05_Norton.act"})
table.insert(moves, {move = "/Global/Norton/Offense/Medium/Unblockable", moveFile = "Act/Anim/3_05_Norton.act"})
repeat
for count = 1, 6 do
if PedHasWeapon(luntz, 324) then
PedSetActionNode(luntz, moves[math.random(3,table.getn(moves))].move, moves[1].moveFile)
Wait(1000)
end
PedSetWeapon(luntz, 324)
end
TextPrintString("Mr.Luntz: My back god damnit!",3,2)
for count = 1, 8 do
if PedHasWeapon(luntz, 324) then
PedSetActionNode(luntz, "/Global/Norton/Defense/Tired", "act/anim/3_05_Norton.act")
Wait(500)
end
PedSetWeapon(luntz, 324)
end
Wait(0)
until not PedIsValid(luntz) or PedIsDead(luntz) or PedGetHealth(luntz) < 1
PedSetTypeToTypeAttitude(3, 13, 0)
henry = PedCreateXYZ(45,-736.5,-74,9)
PedFaceXYZ(henry,-736.5,-64,9)
local x,y = -736.5,-73
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(-735,-72,11)
CameraLookAtXYZ(-736,-73,10)
TextPrintString("Troy: Who are you?",4,2)
Wait(2500)
TextPrintString("Clint: The basement is our territory now!",4,2)
Wait(2500)
TextPrintString("Clint: We have all the keys here",4,2)
Wait(2500)
TextPrintString("Clint: Get out or get rekt!",4,2)
Wait(2500)
TextPrintString("Troy: Like if a wimp like you could beat me",4,2)
Wait(2500)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
leon = PedCreateXYZ(43,-748,-62,9)
otto = PedCreateXYZ(42,-746,-61,9)
AddBlipForChar(leon,0,26,4)
AddBlipForChar(otto,0,26,4)
PedAttackPlayer(leon,3)
PedAttackPlayer(otto,3)
PedMoveToXYZ(henry,2,-737, -79, 8)
Wait(1000)
PedDelete(henry)
repeat
Wait(0)
until (not PedIsValid(leon) or PedIsDead(leon)) and (not PedIsValid(otto) or PedIsDead(otto))
PAnimOpenDoors(-736, -76, 8)--Room02
henry = PedCreateXYZ(45,-753,-76,9)
PedFaceXYZ(henry,-746,-76,9)
local x,y = -752,-76
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
TextPrintString("Clint: You will never catch me tough guy",4,2)
duncan = PedCreateXYZ(44,-740, -79, 8)
gurney = PedCreateXYZ(46,-740, -80, 8)
AddBlipForChar(duncan,0,26,4)
AddBlipForChar(gurney,0,26,4)
PedAttackPlayer(duncan,3)
PedAttackPlayer(gurney,3)
PedMoveToXYZ(henry,2,-755,-72,9)
Wait(1000)
PedDelete(henry)
repeat
Wait(0)
until (not PedIsValid(duncan) or PedIsDead(duncan)) and (not PedIsValid(gurney) or PedIsDead(gurney))
TextPrintString("Clint: Back me up!",4,2)
PAnimOpenDoors(-754, -75, 8)--Room03
jerry = PedCreateXYZ(41,-757, -70, 9)
omar = PedCreateXYZ(47,-754, -70, 9)
AddBlipForChar(jerry,0,26,4)
AddBlipForChar(omar,0,26,4)
PedAttackPlayer(jerry,3)
PedAttackPlayer(omar,3)
repeat
Wait(0)
until (not PedIsValid(jerry) or PedIsDead(jerry)) and (not PedIsValid(omar) or PedIsDead(omar))
PAnimOpenDoors(-757, -69, 8)--Room04
local x,y = -774,-59
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
  Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
PedClearAllWeapons(gPlayer)
TextPrintString("Find the keys",4,1)
BlipRemove(blip)
PedSetTypeToTypeAttitude(3, 13, 4)
henry = PedCreateXYZ(45,-772,-81,9)
PedFaceXYZ(henry,-772,-75,0)
PedOverrideStat(henry, 20, 140)
PedSetInfiniteSprint(henry,true)
PedSetInvulnerable(henry,true)
PedSetStationary(henry,true)
local x,y = -772,-70
  local r1 = x + 1.5
  local r2 = y + 1.5
  local r3 = x - 1.5
  local r4 = y - 1.5
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
EffectCreate("AcidPool",-772.2,-135,8)
EffectCreate("AcidPool",-772.2,-135,8)
EffectCreate("AcidPool",-772.2,-135,8)
PedSetStationary(henry,false)
edgar = PedCreateXYZ(91,-772,-139,6)
omar = PedCreateXYZ(47,-774,-139,6)
PedFaceXYZ(edgar,-774,-59,9)
PedFaceXYZ(omar,-774,-59,9)
PedSetInvulnerable(edgar,true)
PedSetStationary(edgar,true)
PedSetInvulnerable(omar,true)
PedSetStationary(omar,true)
TextPrintString("Clint: Catch me if you can wanker!",4,2)
local x,y = -772,-137
  local r1 = x + 3
  local r2 = y + 3
  local r3 = x - 3
  local r4 = y - 3
  repeat
  PedMoveToXYZ(henry,2,-772,-137,6)
    Wait(0)
until PedInRectangle(henry,r1,r2,r3,r4)
PedSetInfiniteSprint(henry,false)
PedOverrideStat(henry, 20, 100)
local x,y = -771,-129
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
DeletePersistentEntity(shared.gHoleGateOpenIndex, shared.gHoleGateOpenGeometry)
HoleDoor = CreatePersistentEntity("FightPit_DoorClose", -771.43902587891, -127.03900146484, 8.8009996414185, 0, 8)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(-777, -131, 12)
CameraLookAtXYZ(-771.4, -127, 8)
Wait(1000)
TextPrintString("Edgar: No escape!",4,2)
Wait(2500)
TextPrintString("Defeat the dropouts",2,1)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
PedSetTypeToTypeAttitude(3, 13, 0)
PedSetInvulnerable(henry,false)
PedSetInvulnerable(edgar,false)
PedSetInvulnerable(omar,false)
PedSetStationary(henry,false)
PedSetStationary(edgar,false)
PedSetStationary(omar,false)
PedAttackPlayer(henry,3)
PedAttackPlayer(edgar,3)
PedAttackPlayer(omar,3)
AddBlipForChar(henry,0,26,4)
AddBlipForChar(edgar,0,26,4)
AddBlipForChar(omar,0,26,4)
TextPrintString("Edgar: You are dead bitch!",4,2)
repeat
Wait(0)
until (not PedIsValid(henry) or PedIsDead(henry)) and (not PedIsValid(edgar) or PedIsDead(edgar)) and (not PedIsValid(omar) or PedIsDead(omar))
TextPrintString("Clint: The keys are behind the table...it hurts...",4,2)
DeletePersistentEntity(HoleDoor)
--shared.gHoleGateOpenIndex, shared.gHoleGateOpenGeometry = CreatePersistentEntity("FightPit_DoorOpen", -770.00897216797, -127.03900146484, 8.8009996414185, 0, 8)
Keys = PickupCreateXYZ(496,-774,-148,10)
local blip = BlipAddXYZ(-774, -148, 10)
local x,y = -774,-148
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
 
local x1,y1 = -771.43902587891, -128
  local r11 = x1 + 1
  local r21 = y1 + 1
  local r31 = x1 - 1
  local r41 = y1 - 1 
  repeat
if PedInRectangle(gPlayer,r11,r21,r31,r41) then
PedSetPosXYZ(gPlayer,-771.43902587891,-125.5,7.39)
if PedIsValid(edgar) then
PedDelete(edgar)
end
if PedIsValid(omar) then
PedDelete(omar)
end
if PedIsValid(henry) then
PedDelete(henry)
end
end 
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
BlipRemove(blip)
repeat
Wait(0)
until PickupIsPickedUp(Keys)
TextPrintString("Get inside the school",4,1)
local blip = BlipAddXYZ(-774, -59, 10)
local x,y = -774,-59
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
  repeat
    Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
BlipRemove(blip)
AreaTransitionXYZ(2,-628,-326,0)
F_InsideSchool()
end

function F_InsideSchool()
AreaTransitionXYZ(2,-628,-326,0)
PedFaceXYZ(gPlayer,-627.3,-325,0)
PlayerSetHealth(PedGetMaxHealth(gPlayer))
PlayerSwapModel("GN_Bully04")
PedSetActionTree(gPlayer, "/Global/Player", "Act/Player.act")
PedSetAITree(gPlayer, "/Global/PlayerAI", "Act/PlayerAI.act")
PedSetStatsType(gPlayer,"STAT_PLAYER")
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLFRONTDOORL, false)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLRIGHTFRONTDOOR, false)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLRIGHTBACKDOOR, false)
AreaSetDoorLocked(TRIGGER._DT_TSCHOOL_SCHOOLLEFTBACKDOOR, false)
SoundPlayInteractiveStream("MS_BikeActionMid.rsm", MUSIC_DEFAULT_VOLUME)
ClockSet(00, 00)
DisablePunishmentSystem(false)
PedClearAllWeapons(gPlayer)
troy = PedCreateXYZ(102,-627.3,-325,0)
PedFaceXYZ(troy,-628,-326,0)
if PedHasWeapon(troy,300) then
PedSetWeapon(troy, -1)
end
PedSetFlag(gPlayer,2,true)
PedSetFlag(troy,2,true)
PedSetInvulnerable(troy,true)
PedSetStationary(troy,true)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(-630, -321, 5)
CameraLookAtXYZ(-627, -325.5, 0)
Wait(500)
TextPrintString("Troy: Where is Tom?",4,2)
Wait(2500)
TextPrintString("Ethan: That bitch Seth caught him",4,2)
Wait(2500)
TextPrintString("Ethan: He couldn't see me because I'm a ninja",4,2)
Wait(2500)
TextPrintString("Ethan: Let's split and find him, I know he's in one of the classrooms",4,2)
Wait(2500)
TextPrintString("Troy: Ok...",4,2)
Wait(1000)
PedSetInvulnerable(troy,false)
PedSetStationary(troy,false)
PedMoveToXYZ(troy,2,-640, -321, 0)
Wait(2000)
PedDelete(troy)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
SoundPlayInteractiveStream("MS_InTroubleLow.rsm", MUSIC_DEFAULT_VOLUME)
TextPrintString("Find Tom in one of the classrooms",4,1)
PedSetUniqueModelStatus(49,0)
PedSetUniqueModelStatus(50,0)
PedSetUniqueModelStatus(51,0)
PedSetUniqueModelStatus(52,0)
local classroomdoors = {}
table.insert(classroomdoors, {name = "generic down left 1",x = -643,y = -323, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "infirmary",x = -655,y = -323, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic down left 2",x = -654,y = -314, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic down left 3",x = -665.4 ,y = -301, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic down left 4",x = -672 ,y = -292, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "english",x = -653,y = -292, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic down right 1",x = -613,y = -323, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "chemistry",x = -604,y = -292, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "staff room",x = -588.4,y = -295.4, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic down right 2",x = -589.5,y = -312.7, z1 = -10, z2 = 2})
table.insert(classroomdoors, {name = "generic up left 1",x = -654,y = -314, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "home economics",x = -665.4,y = -301, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "art room",x = -670,y = -292, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "biology",x = -650,y = -292, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "janitor room",x = -606,y = -322, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "generic up right 1",x = -589,y = -313.4, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "math room",x = -601,y = -298, z1 = 3, z2 = 10})
table.insert(classroomdoors, {name = "generic up right 2",x = -588.78,y = -294, z1 = 3, z2 = 10})
local RandomNumber = math.random(1,table.getn(classroomdoors))
--local blip = BlipAddXYZ(classroomdoors[RandomNumber].x,classroomdoors[RandomNumber].y, classroomdoors[RandomNumber].z1)
local x,y = classroomdoors[RandomNumber].x,classroomdoors[RandomNumber].y
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
local xx,yy,zz = PedGetPosXYZ(gPlayer)
repeat
xx,yy,zz = PedGetPosXYZ(gPlayer)
if PedIsSpotted(gPlayer) then
PlayerSetPunishmentPoints(0)
local x,y,z = PedGetPosXYZ(gPlayer)
PlayerSetControl(0)
CameraSetXYZ(x+2,y+2,z+2)
CameraLookAtXYZ(x,y,z)
CameraSetWidescreen(true)
TextPrintString("Prefect: You are in trouble prick!",4,2)
Wait(2000)
AreaTransitionXYZ(0,215, -72, 8)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
TextPrintString("Get inside and find Tom",4,1)
end
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4) and zz > classroomdoors[RandomNumber].z1 and zz < classroomdoors[RandomNumber].z2
--BlipRemove(blip)
AreaTransitionXYZ(15, -564, 316.4, -1.950740)
F_InsideClassroom()
end

function F_InsideClassroom()
AreaTransitionXYZ(15, -564, 316.4, -1.950740)
tom = PedCreateXYZ(147,-560.2,323.2,-2)
PedFaceXYZ(tom,-560,320,-2)
PlayerSetHealth(PedGetMaxHealth(gPlayer))
PedSetInvulnerable(tom,true)
PedSetStationary(tom,true)
PedSetActionNode(tom,"/Global/5_03/5_03_Sleeping_Orderly/5_03_Sleeping_Orderly_To_Sleep","Act/Conv/5_03.act")
local x,y = -561, 321
  local r1 = x + 0.5
  local r2 = y + 0.5
  local r3 = x - 0.5
  local r4 = y - 0.5
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
local x,y,z = PedGetPosXYZ(gPlayer)
PedFaceXYZ(gPlayer,-560.2,323.2,-2)
PedFaceXYZ(tom,x,y,z)
PlayerSetControl(0)
CameraSetXYZ(-558,319,0)
CameraLookAtXYZ(-560,322,-2)
CameraSetWidescreen(true)
PedSetActionNode(tom,"/Global/5_03/5_03_Sleeping_Orderly/5_03_Sleeping_Orderly_Wake_Up","Act/Conv/5_03.act")
Wait(800)
if PedHasWeapon(tom,300) then
PedSetWeapon(tom, -1)
end
PedSetActionTree(tom,"/Global/B_Striker_A","Act/Anim/B_Striker_A.act")
TextPrintString("Tom: Finally someone came to help me",4,2)
Wait(2500)
TextPrintString("Ethan: Yeah, Troy managed to unlock the door",4,2)
Wait(2500)
TextPrintString("Tom: Let's get out of here",4,2)
Wait(2500)
TextPrintString("Tom: Before I beat the crap out of someone",4,2)
Wait(2500)
TextPrintString("Ethan: Let's meet with Troy... I wonder where he is",4,2)
Wait(2500)
SoundPlayInteractiveStream("MS_ChasePrefect.rsm", MUSIC_DEFAULT_VOLUME)
TextPrintString("Seth: What's that noise there? Who are you talking to maggot!?",4,2)
Wait(2500)
TextPrintString("Tom: Shit it's Seth! Quick, hide somewhere!",4,2)
PedSetStationary(tom,false)
local x,y = -555.8,314.5
  local r1 = x + 3
  local r2 = y + 3
  local r3 = x - 3
  local r4 = y - 3
repeat
PedMoveToXYZ(tom,2,-556,315,-2)
Wait(0)
until PedInRectangle(tom,r1,r2,r3,r4)
TextPrintString("Find a place to hide",3,1)
PedSetPosXYZ(tom,-555.8,314.5,-2.5)
PedSetStationary(tom,true)
Wait(300)
CreatePersistentEntity("SCBELL", -556,315,-1, 5, 16)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
local x,y = -555.8,314.5
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
repeat
if PedInRectangle(gPlayer,r1,r2,r3,r4) then
TextPrintString("Tom: You don't fit here!",2,2)
end
Wait(0)
until PedIsPlaying(gPlayer, "/Global/Garbagecan/PedPropsActions/Stealth", "Act/Anim/HitTree.act")
Wait(1000)
PlayerSetControl(0)
CameraSetWidescreen(true)
Wait(500)
PedSetFlag(tom,2,true)
Wait(250)
PedDelete(tom)
Wait(1000)
seth = PedCreateXYZ(50,-567,316.6,-1.9)
PedFaceXYZ(50,-565,316.6,-1.9)
local x,y = -561.7,318.6
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(seth,2,-561.7,318.6,-1.9)
Wait(0)
until PedInRectangle(seth,r1,r2,r3,r4)
PedSetActionNode(seth, "/Global/6_02/WonderNIS/LookAround","Act/Conv/6_02.act")
Wait(2000)
TextPrintString("Seth: You are so dead... just wait until I find ya",4,2)
Wait(2000)
local x,y = -567,316.6
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(seth,0,-567,316.6,-1.9)
Wait(0)
until PedInRectangle(seth,r1,r2,r3,r4)
PedDelete(seth)
SoundPlayInteractiveStream("MS_SearchingMid.rsm", MUSIC_DEFAULT_VOLUME)
TextPrintString("Ethan: That was close",4,2)
Wait(2500)
TextPrintString("Ethan: Hiding like a true ninja, it's in my blood",4,2)
Wait(2500)
TextPrintString("Tom: Damn I think I'm stuck... go ahead Ethan",4,2)
Wait(2500)
PlayerSetControl(1)
CameraSetWidescreen(false)
local x,y = -564, 316.4
  local r1 = x + 0.3
  local r2 = y + 0.3
  local r3 = x - 0.3
  local r4 = y - 0.3
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
AreaTransitionXYZ(2, -589.5, -312.7, -0.0)
F_InsideSchool2()
end

function F_InsideSchool2()
PedSetTypeToTypeAttitude(1, 13, 0)
PedSetUniqueModelStatus(49,-1)
PedSetUniqueModelStatus(50,-1)
PedSetUniqueModelStatus(51,-1)
PedSetUniqueModelStatus(52,-1)
AreaTransitionXYZ(2, -589.5, -312.7, -0.0)
PedFaceXYZ(gPlayer,-587, -312.7, -0.0)
PlayerSetHealth(PedGetMaxHealth(gPlayer))
DisablePunishmentSystem(true)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_FRONTDOORL, true)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_FRONTDOORRIGHT, true)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_BACKDOORLEFT, true)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_BACKDOORRIGHT, true)
AreaSetDoorLocked(TRIGGER._DT_ISCHOOL_HALLWIND, true)
ClockSet(00, 00)
tom = PedCreateXYZ(147,-588, -312.7, -0.0)
PedFaceXYZ(tom,-594, -312.7, -0.0)
PedSetFlag(gPlayer,2,true)
PedSetFlag(tom,2,true)
PlayerSetControl(0)
CameraSetXYZ(-585,-316,3)
CameraLookAtXYZ(-588, -312.7, -0.0)
CameraSetWidescreen(true)
Wait(500)
TextPrintString("Ethan: The prefects must still be looking for us",4,2)
Wait(2500)
TextPrintString("Tom: Let's try to get to the exit as quickly as possible at the count of 3",4,2)
Wait(2500)
CameraReturnToPlayer()
TextPrintString("Tom: 1",4,2)
Wait(1000)
TextPrintString("Tom: 2",4,2)
Wait(1000)
TextPrintString("Tom: 3!",4,2)
Wait(500)
TextPrintString("Escape from the school",4,1)
PedSetInfiniteSprint(tom,true)
PedOverrideStat(tom, 20, 140)
PedSetFlag(gPlayer,2,false)
PedSetFlag(tom,2,false)
PlayerSetControl(1)
CameraSetWidescreen(false)
local x,y = -628,-324
  local r1 = x + 3
  local r2 = y + 3
  local r3 = x - 3
  local r4 = y - 3
repeat
PedMoveToXYZ(tom,2,-628,-324,0)
Wait(0)
until PedInRectangle(tom,r1,r2,r3,r4)
PedStop(tom)
local x,y = -628,-324
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
PedSetInfiniteSprint(tom,false)
PedOverrideStat(tom, 20, 100)
PedSetHealth(tom,285)
PedRecruitAlly(gPlayer,tom)
PedSetAllyAutoEngage(tom,true)
TextPrintString("Tom: Damn they locked us!",4,2)
Wait(2500)
TextPrintString("Tom: We have to find another way",4,2)
Wait(2500)
TextPrintString("Ethan: I can hear someone coming",4,2)
SoundPlayInteractiveStream("MS_FinalShowdownMid.rsm", MUSIC_DEFAULT_VOLUME)
SoundSetHighIntensityStream("MS_FinalShowdownHigh.rsm", MUSIC_DEFAULT_VOLUME)
maxx = PedCreateXYZ(49,-634,-290,5.5)
seth = PedCreateXYZ(50,-634,-291,5.5)
PedSetActionTree(maxx, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(seth, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetFaction(maxx,1)
PedSetFaction(seth,1)
PedAttack(maxx, gPlayer,1)
PedAttack(seth, tom,1)
AddBlipForChar(maxx,0,26,4)
AddBlipForChar(seth,0,26,4)
TextPrintString("Seth: Play time is over!",4,2)
repeat
Wait(0)
until (not PedIsValid(maxx) or PedIsDead(maxx)) and (not PedIsValid(seth) or PedIsDead(seth))
TextPrintString("Ethan: No one can beat me with my martial arts",4,2)
Wait(2500)
TextPrintString("Tom: Shut up...",4,2)
Wait(2500)
local blip = BlipAddXYZ(-674,-309.5, 5)
local x,y = -674,-309.5
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
local x,y,z = PedGetPosXYZ(gPlayer)
repeat
x,y,z = PedGetPosXYZ(gPlayer)
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4) and z > 3
BlipRemove(blip)
PedDelete(maxx)
PedDelete(seth)
TextPrintString("Ethan: They locked the window too! We are dead now!",4,2)
Wait(2500)
TextPrintString("Tom: I think Seth had the keys",4,2)
SoundSetHighIntensityStream("MS_FinalShowdownHigh.rsm", MUSIC_DEFAULT_VOLUME)
Wait(2500)
edward = PedCreateXYZ(51,-660,-295,5.5)
karl = PedCreateXYZ(52,-660,-296,5.5)
PedSetActionTree(edward, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(karl, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetFaction(edward,1)
PedSetFaction(karl,1)
TextPrintString("Karl: You are done!",4,2)
PedAttack(edward, gPlayer,1)
PedAttack(karl, tom,1)
AddBlipForChar(edward,0,26,4)
AddBlipForChar(karl,0,26,4)
repeat
Wait(0)
until (not PedIsValid(edward) or PedIsDead(edward)) and (not PedIsValid(karl) or PedIsDead(karl))
Wait(2500)
TextPrintString("Look for Seth",4,1)
local blip = BlipAddXYZ(-628.325012, -313.636993, 0)
local x,y =  -628.325012, -313.636993
  local r1 = x + 2
  local r2 = y + 2
  local r3 = x - 2
  local r4 = y - 2
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
PedDelete(edward)
PedDelete(karl)
BlipRemove(blip)
PlayerSetControl(0)
CameraSetWidescreen(true)
Wait(1000)
maxx = PedCreateXYZ(49,-644,-318,0)
seth = PedCreateXYZ(50,-615,-318,0)
edward = PedCreateXYZ(51,-644,-300,0)
karl = PedCreateXYZ(52,-615,-300,0)
PedFaceXYZ(maxx,-613,-318,0)
PedFaceXYZ(seth,-645,-318,0)
PedFaceXYZ(edward,-613,-300,0)
PedFaceXYZ(karl,-645,-300,0)
PedSetStationary(maxx,true)
PedSetStationary(seth,true)
PedSetStationary(edward,true)
PedSetStationary(karl,true)
PedSetWeapon(maxx, 357)
PedSetWeapon(seth, 357)
PedSetWeapon(edward, 357)
PedSetWeapon(karl, 357)
CameraSetXYZ(-628.325012, -313.636993,3)
CameraLookAtXYZ(-640.325012, -318,0)
PedSetStationary(maxx,false)
local x,y =  -640.325012, -318
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(maxx,0,-640.325012, -318, 0)
Wait(0)
until PedInRectangle(maxx,r1,r2,r3,r4)
PedStop(maxx)
PedSetStationary(maxx,true)
Wait(500)
TextPrintString("Seth: Good luck finding the keys",4,2)
CameraLookAtXYZ(-617.325012, -318,0)
PedSetStationary(seth,false)
local x,y =  -617.325012, -318
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(seth,0,-617.325012, -318, 0)
Wait(0)
until PedInRectangle(seth,r1,r2,r3,r4)
PedStop(seth)
PedSetStationary(seth,true)
Wait(500)
CameraLookAtXYZ(-640.325012, -300,0)
PedSetStationary(edward,false)
local x,y =  -640.325012, -300
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(edward,0,-640.325012, -300, 0)
Wait(0)
until PedInRectangle(edward,r1,r2,r3,r4)
PedStop(edward)
PedSetStationary(edward,true)
Wait(500)
CameraLookAtXYZ(-617.325012, -300,0)
PedSetStationary(karl,false)
local x,y =  -617.325012, -300
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
PedMoveToXYZ(karl,0,-617.325012, -300, 0)
Wait(0)
until PedInRectangle(karl,r1,r2,r3,r4)
PedStop(karl)
PedSetStationary(karl,true)
TextPrintString("Seth: I threw them in a trash can",4,2)
Wait(500)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
PedSetActionTree(maxx, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(seth, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(edward, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(karl, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetFaction(maxx,1)
PedSetFaction(seth,1)
PedSetFaction(edward,1)
PedSetFaction(karl,1)
PedAttack(maxx, gPlayer,1)
PedAttack(seth, tom,1)
PedAttack(edward, gPlayer,1)
PedAttack(karl, tom,1)
AddBlipForChar(maxx,0,26,4)
AddBlipForChar(seth,0,26,4)
AddBlipForChar(edward,0,26,4)
AddBlipForChar(karl,0,26,4)
PedSetStationary(maxx,false)
PedSetStationary(seth,false)
PedSetStationary(edward,false)
PedSetStationary(karl,false)
repeat
Wait(0)
until (not PedIsValid(maxx) or PedIsDead(maxx)) and (not PedIsValid(seth) or PedIsDead(seth)) and (not PedIsValid(edward) or PedIsDead(edward)) and (not PedIsValid(karl) or PedIsDead(karl))
Wait(1000)
TextPrintString("Look for the keys in the trash cans",4,1)
local keys = {}
table.insert(keys, {name = "down left 1",x = -645.9,y = -322.2, z1 = -10, z2 = 2})
table.insert(keys, {name = "down left 2",x = -673.8,y = -322.2, z1 = -10, z2 = 2})
table.insert(keys, {name = "down left 3",x = -674,y = -293, z1 = -10, z2 = 2})
table.insert(keys, {name = "down left 4",x = -647.8 ,y = -293, z1 = -10, z2 = 2})
table.insert(keys, {name = "down right 1",x = -583.4 ,y = -322.2, z1 = -10, z2 = 2})
table.insert(keys, {name = "down right 2",x = -583.3,y = -305.1, z1 = -10, z2 = 2})
table.insert(keys, {name = "down right 3",x = -594.7,y = -310.1, z1 = -10, z2 = 2})
table.insert(keys, {name = "down right 4",x = -594.6,y = -293, z1 = -10, z2 = 2})
table.insert(keys, {name = "up left 1",x = -647.8,y = -322.3, z1 = 3, z2 = 10})
table.insert(keys, {name = "up left 2",x = -674,y = -322.2, z1 = 3, z2 = 10})
table.insert(keys, {name = "up left 3",x = -673.8,y = -293.1, z1 = 3, z2 = 10})
table.insert(keys, {name = "up left 4",x = -647.9,y = -293, z1 = 3, z2 = 10})
table.insert(keys, {name = "up right 1",x = -582.6,y = -322.3, z1 = 3, z2 = 10})
table.insert(keys, {name = "up right 2",x = -582.6,y = -306.1, z1 = 3, z2 = 10})
table.insert(keys, {name = "up right 3",x = -589.5,y = -292.2, z1 = 3, z2 = 10})
local RandomNumber = math.random(1,table.getn(keys))
--local blip = BlipAddXYZ(keys[RandomNumber].x,keys[RandomNumber].y, keys[RandomNumber].z1)
local x,y = keys[RandomNumber].x,keys[RandomNumber].y
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
local xx,yy,zz = PedGetPosXYZ(gPlayer)
repeat
xx,yy,zz = PedGetPosXYZ(gPlayer)
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4) and zz > keys[RandomNumber].z1 and zz < keys[RandomNumber].z2
--BlipRemove(blip)
TextPrintString("Ethan: I found them!",4,2)
TextPrintString("Get out of the school",3,1)
local blip = BlipAddXYZ(-674,-309.5, 5)
local x,y = -674,-309.5
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
local x,y,z = PedGetPosXYZ(gPlayer)
repeat
x,y,z = PedGetPosXYZ(gPlayer)
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4) and z > 3
BlipRemove(blip)
AreaTransitionXYZ(0,167,75,15)
F_Outside2()
end

function F_Outside2()
if PedIsValid(tom) then
PedDelete(tom)
end
PedSetTypeToTypeAttitude(1, 13, 0)
DisablePunishmentSystem(true)
AreaTransitionXYZ(0,167,-75,15)
PlayerSetHealth(PedGetMaxHealth(gPlayer))
PlayerSwapModel("GN_Bully06")
PedFaceXYZ(gPlayer,164,-75,15)
CameraReturnToPlayer()
ethan = PedCreateXYZ(145,167,-77,15)
PedFaceXYZ(ethan,164,-77,15)
troy = PedCreateXYZ(102,151,-34,6)
PedFaceXYZ(troy,164,-77,15)
hattrick = PedCreateXYZ(61,151,-32,6)
PedFaceXYZ(troy,164,-77,15)
PedSetStationary(troy,true)
PedSetStationary(hattrick,true)
PedSetInfiniteSprint(troy,true)
PedSetInfiniteSprint(hattrick,true)
PedOverrideStat(troy, 20, 140)
PedOverrideStat(hattrick, 20, 140)
PedSetActionTree(gPlayer, "/Global/Player", "Act/Player.act")
PedSetAITree(gPlayer, "/Global/PlayerAI", "Act/PlayerAI.act")
PedSetStatsType(gPlayer,"STAT_PLAYER")
ClockSet(00, 00)
PedClearAllWeapons(gPlayer)
local x,y =  165,-75
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4)
PlayerSetControl(0)
CameraSetWidescreen(true)
CameraSetXYZ(162,-75,17)
local x,y =  163,-111
  local r1 = x + 1
  local r2 = y + 1
  local r3 = x - 1
  local r4 = y - 1
local x,y,z = PedGetPosXYZ(troy)
CameraLookAtXYZ(x,y,z)
PedSetStationary(troy,false)
PedSetStationary(hattrick,false)
SoundPlayInteractiveStreamLocked("MS_FunHigh.rsm", MUSIC_DEFAULT_VOLUME)
repeat
if PedHasWeapon(troy, 300) then
PedSetWeapon(troy,-1)
end
x,y,z = PedGetPosXYZ(troy)
CameraLookAtXYZ(x,y,z)
PedMoveToXYZ(troy,2,163,-111,6)
PedMoveToXYZ(hattrick,2,163,-111,6)
TextPrintString("Troy: Help guys!!!",4,2)
Wait(0)
until PedInRectangle(troy,r1,r2,r3,r4) and PedInRectangle(hattrick,r1,r2,r3,r4)
PedDelete(troy)
PedDelete(hattrick)
PedSetPosXYZ(gPlayer,162,-77,10)
PedSetPosXYZ(ethan,164,-77,10)
Wait(1000)
PlayerSetControl(1)
CameraReturnToPlayer()
CameraSetWidescreen(false)
TextPrintString("Save Troy",4,1)
TextPrintString("Ethan: We gotta save him and quick",4,2)
troy = PedCreateXYZ(102,215, -72, 8)
hattrick = PedCreateXYZ(61,215, -70, 8)
local ThirdPart = PedGetHealth(hattrick) / 3
PedSetFaction(hattrick,1)
PedSetActionTree(hattrick, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
AddBlipForChar(hattrick,0,26,4)
PedAttack(troy, hattrick,1)
PedAttack(hattrick, troy,1)
PedSetHealth(ethan,285)
PedRecruitAlly(gPlayer,ethan)
PedSetAllyAutoEngage(ethan,true)
PedSetHealth(troy,285)
PedRecruitAlly(ethan,troy)
PedSetAllyAutoEngage(troy,true)
local x,y =  209,-111
  local r1 = x + 5
  local r2 = y + 5
  local r3 = x - 5
  local r4 = y - 5
local x1,y1 =  209,-34
  local r11 = x1 + 5
  local r21 = y1 + 5
  local r31 = x1 - 5
  local r41 = y1 - 5 
repeat
Wait(0)
until PedInRectangle(gPlayer,r1,r2,r3,r4) or PedInRectangle(gPlayer,r11,r21,r31,r41)
PedShowHealthBar(hattrick, true, "N_Hattrick", true)
TextPrintString("Defeat Hattrick",4,1)
TextPrintString("Hattrick: I will teach you to not spy me at night!",4,2)
repeat
Wait(0)
until PedGetHealth(hattrick) < ThirdPart * 2
TextPrintString("Hattrick: Back me up lazy asses!",4,2)
maxx = PedCreateXYZ(49,230,-90,7)
edward = PedCreateXYZ(51,230,-60,7)
PedSetActionTree(maxx, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(edward, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetFaction(maxx,1)
PedSetFaction(edward,1)
PedAttack(maxx, ethan,1)
PedAttack(edward, troy,1)
AddBlipForChar(maxx,0,26,4)
AddBlipForChar(edward,0,26,4)
local times = 0
repeat
PedSetInvulnerable(hattrick,true)
if times == 0 then
PedSetActionNode(hattrick, "/Global/6_02/RussellHide/Cower_Child","Act/Conv/6_02.act", "Act/Conv/6_02.act")
times = 1
end
if PedGetHealth(maxx) > 0 then
PedAttack(ethan, maxx,3)
end
if PedGetHealth(edward) > 0 then
PedAttack(troy, edward,3)
end
Wait(0)
until (not PedIsValid(edward) or PedIsDead(edward)) and (not PedIsValid(maxx) or PedIsDead(maxx))
PedSetInvulnerable(hattrick,false)
PedAttack(ethan, hattrick,3)
PedAttack(troy, hattrick,3)
repeat
Wait(0)
until PedGetHealth(hattrick) < ThirdPart
TextPrintString("Hattrick: Help!",4,2)
seth = PedCreateXYZ(50,230,-90,7)
karl = PedCreateXYZ(52,230,-60,7)
PedSetActionTree(seth, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetActionTree(karl, "/Global/GS_Male_A", "act/anim/GS_Male_A.act")
PedSetFaction(seth,1)
PedSetFaction(karl,1)
PedAttack(seth, ethan,1)
PedAttack(karl, troy,1)
AddBlipForChar(seth,0,26,4)
AddBlipForChar(karl,0,26,4)
local times2 = 0
repeat
PedSetInvulnerable(hattrick,true)
if times2 == 0 then
PedSetActionNode(hattrick, "/Global/6_02/RussellHide/Cower_Child","Act/Conv/6_02.act", "Act/Conv/6_02.act")
times2 = 1
end
if PedGetHealth(seth) > 0 then
PedAttack(ethan, seth,3)
end
if PedGetHealth(karl) > 0 then
PedAttack(troy, karl,3)
end
Wait(0)
until (not PedIsValid(seth) or PedIsDead(seth)) and (not PedIsValid(karl) or PedIsDead(karl))
PedSetInvulnerable(hattrick,false)
PedAttack(ethan, hattrick,3)
PedAttack(troy, hattrick,3)
repeat
Wait(0)
until not PedIsValid(hattrick) or PedIsDead(hattrick)
TextPrintString("Troy: Thank guy, I thought that fat ass would eat me alive",4,2)
Wait(2500)
TextPrintString("Tom: This didn't go as planned",4,2)
Wait(2500)
TextPrintString("Tom: But at least that bitch got what he deserved",4,2)
Wait(2500)
TextPrintString("Mission Passed",4,1)
Wait(2500)
MissionCleanup()
end


function LoadAllAnim()
  LoadAnimationGroup("1_02BYourSchool")
  LoadAnimationGroup("1_02_MeetWithGary")
  LoadAnimationGroup("1_03The Setup")
  LoadAnimationGroup("1_04TheSlingshot")
  LoadAnimationGroup("1_06ALittleHelp")
  LoadAnimationGroup("1_07_SaveBucky")
  LoadAnimationGroup("1_07_Sk8Board")
  LoadAnimationGroup("1_08ThatBitch")
  LoadAnimationGroup("1_08_MandPuke")
  LoadAnimationGroup("1_09_Candidate")
  LoadAnimationGroup("1_10Betrayal")
  LoadAnimationGroup("1_11B_HeBigPrank")
  LoadAnimationGroup("1_G1_TheDiary")
  LoadAnimationGroup("1_S01HatVsGall")
  LoadAnimationGroup("2_01LastMinuteShop")
  LoadAnimationGroup("2_02ComicKlepto")
  LoadAnimationGroup("2_05TadsHouse")
  LoadAnimationGroup("2_06MovieTickets")
  LoadAnimationGroup("2_07BeachRumble")
  LoadAnimationGroup("2_08WeedKiller")
  LoadAnimationGroup("2_4RichAreaRace")
  LoadAnimationGroup("2_G2CarnivalDate")
  LoadAnimationGroup("2_G2_GiftExchange")
  LoadAnimationGroup("2_R03PaperRoute")
  LoadAnimationGroup("2_S02CharSheets")
  LoadAnimationGroup("2_S04CharSheets")
  LoadAnimationGroup("2_S05_CooksCrush")
  LoadAnimationGroup("2_S06PantyRaid")
  LoadAnimationGroup("3_01JealousJohnny")
  LoadAnimationGroup("3_04WrongPtTown")
  LoadAnimationGroup("3_05TheTenements")
  LoadAnimationGroup("3_BFightJohnnyV")
  LoadAnimationGroup("3_G3")
  LoadAnimationGroup("3_R05ChemicalDeliv")
  LoadAnimationGroup("3_R08RaceLeague")
  LoadAnimationGroup("3_S03CheatinTime")
  LoadAnimationGroup("4_01Paparazzi")
  LoadAnimationGroup("4_04_FunhouseFun")
  LoadAnimationGroup("4_06BigGame")
  LoadAnimationGroup("4_B2_JockBossBattle")
  LoadAnimationGroup("5_01Grp")
  LoadAnimationGroup("5_01Rats")
  LoadAnimationGroup("5_02PrVandalized")
  LoadAnimationGroup("5_05Zoe")
  LoadAnimationGroup("5_09MakingAMark")
  LoadAnimationGroup("6B_PARA")
  LoadAnimationGroup("AGymLght")
  LoadAnimationGroup("Ambient")
  LoadAnimationGroup("Ambient2")
  LoadAnimationGroup("Ambient3")
  LoadAnimationGroup("ANIBBALL")
  LoadAnimationGroup("AniBroom")
  LoadAnimationGroup("AniDice")
  LoadAnimationGroup("AniFooty")
  LoadAnimationGroup("AniGlobe")
  LoadAnimationGroup("AnimSave")
  LoadAnimationGroup("AniPillo")
  LoadAnimationGroup("ARC3D")
  LoadAnimationGroup("Area_Asylum")
  LoadAnimationGroup("Area_Funhouse")
  LoadAnimationGroup("Area_GirlsDorm")
  LoadAnimationGroup("Area_Infirmary")
  LoadAnimationGroup("Area_School")
  LoadAnimationGroup("Area_Tenements")
  LoadAnimationGroup("Armor")
  LoadAnimationGroup("AsyBars")
  LoadAnimationGroup("AsyDoorB")
  LoadAnimationGroup("AsyDoors")
  LoadAnimationGroup("AsyGate")
  LoadAnimationGroup("AsyLever")
  LoadAnimationGroup("AsySwtch")
  LoadAnimationGroup("AtcPlank")
  LoadAnimationGroup("Authority")
  LoadAnimationGroup("BANANA")
  LoadAnimationGroup("barelLad")
  LoadAnimationGroup("BarrGate")
  LoadAnimationGroup("BATON")
  LoadAnimationGroup("BBALL_21")
  LoadAnimationGroup("bbgun")
  LoadAnimationGroup("BCatcher")
  LoadAnimationGroup("BdrDoorL")
  LoadAnimationGroup("BeardLady")
  LoadAnimationGroup("Bike")
  LoadAnimationGroup("BikeGar")
  LoadAnimationGroup("BoldRoll")
  LoadAnimationGroup("BoltCutt")
  LoadAnimationGroup("Boxing")
  LoadAnimationGroup("BoxRopes")
  LoadAnimationGroup("BRDoor")
  LoadAnimationGroup("BrkSwtch")
  LoadAnimationGroup("BROCKETL")
  LoadAnimationGroup("BRSwitch")
  LoadAnimationGroup("BusDoors")
  LoadAnimationGroup("Butcher")
  LoadAnimationGroup("BXPBag")
  LoadAnimationGroup("B_Striker")
  LoadAnimationGroup("CarnCurt")
  LoadAnimationGroup("CARNI01")
  LoadAnimationGroup("carnies")
  LoadAnimationGroup("Car_Ham")
  LoadAnimationGroup("Cavalier")
  LoadAnimationGroup("Cheer_Cool1")
  LoadAnimationGroup("Cheer_Cool2")
  LoadAnimationGroup("Cheer_Cool3")
  LoadAnimationGroup("Cheer_Gen1")
  LoadAnimationGroup("Cheer_Gen2")
  LoadAnimationGroup("Cheer_Gen3")
  LoadAnimationGroup("Cheer_Girl1")
  LoadAnimationGroup("Cheer_Girl2")
  LoadAnimationGroup("Cheer_Girl3")
  LoadAnimationGroup("Cheer_Girl4")
  LoadAnimationGroup("Cheer_Nerd1")
  LoadAnimationGroup("Cheer_Nerd2")
  LoadAnimationGroup("Cheer_Nerd3")
  LoadAnimationGroup("Cheer_Posh1")
  LoadAnimationGroup("Cheer_Posh2")
  LoadAnimationGroup("Cheer_Posh3")
  LoadAnimationGroup("Chem_Set")
  LoadAnimationGroup("ChLead_Idle")
  LoadAnimationGroup("CLadderA")
  LoadAnimationGroup("CnGate")
  LoadAnimationGroup("Coaster")
  LoadAnimationGroup("COPBIKE")
  LoadAnimationGroup("Cop_Frisk")
  LoadAnimationGroup("CV_Female")
  LoadAnimationGroup("CV_Male")
  LoadAnimationGroup("C_Wrestling")
  LoadAnimationGroup("DartBrd")
  LoadAnimationGroup("DartCab")
  LoadAnimationGroup("DodgeBall")
  LoadAnimationGroup("DodgeBall2")
  LoadAnimationGroup("DoorStr1")
  LoadAnimationGroup("DO_Edgar")
  LoadAnimationGroup("DO_Grap")
  LoadAnimationGroup("DO_StrikeCombo")
  LoadAnimationGroup("DO_Striker")
  LoadAnimationGroup("DRBrace")
  LoadAnimationGroup("Drumming")
  LoadAnimationGroup("DuffBag")
  LoadAnimationGroup("DunkBttn")
  LoadAnimationGroup("DunkSeat")
  LoadAnimationGroup("Earnest")
  LoadAnimationGroup("EnglishClass")
  LoadAnimationGroup("ErrandCrab")
  LoadAnimationGroup("Errand_BUS")
  LoadAnimationGroup("Errand_IND")
  LoadAnimationGroup("Errand_RIC")
  LoadAnimationGroup("Errand_SCH")
  LoadAnimationGroup("ESCDoorL")
  LoadAnimationGroup("ESCDoorR")
  LoadAnimationGroup("ExtWind")
  LoadAnimationGroup("FDoor")
  LoadAnimationGroup("FDoorB")
  LoadAnimationGroup("FDoorC")
  LoadAnimationGroup("Ferris")
  LoadAnimationGroup("FGhost")
  LoadAnimationGroup("FGoblin")
  LoadAnimationGroup("FlagA")
  LoadAnimationGroup("FLbBook")
  LoadAnimationGroup("FlbLader")
  LoadAnimationGroup("FLbPaint")
  LoadAnimationGroup("FLbTable")
  LoadAnimationGroup("FMCntrl")
  LoadAnimationGroup("FMDoor")
  LoadAnimationGroup("FMTrapDr")
  LoadAnimationGroup("FMTrapSw")
  LoadAnimationGroup("FortTell")
  LoadAnimationGroup("funCart")
  LoadAnimationGroup("funCurtn")
  LoadAnimationGroup("funMiner")
  LoadAnimationGroup("funRocks")
  LoadAnimationGroup("FunTeeth")
  LoadAnimationGroup("FXTestG")
  LoadAnimationGroup("F_Adult")
  LoadAnimationGroup("F_BULLY")
  LoadAnimationGroup("F_Crazy")
  LoadAnimationGroup("F_Douts")
  LoadAnimationGroup("F_Girls")
  LoadAnimationGroup("F_Greas")
  LoadAnimationGroup("F_Jocks")
  LoadAnimationGroup("F_Nerds")
  LoadAnimationGroup("F_OldPeds")
  LoadAnimationGroup("F_Pref")
  LoadAnimationGroup("F_Preps")
  LoadAnimationGroup("GarbCanA")
  LoadAnimationGroup("GatCool")
  LoadAnimationGroup("GEN_SOCIAL")
  LoadAnimationGroup("Gfight")
  LoadAnimationGroup("GhostDrs")
  LoadAnimationGroup("Gift")
  LoadAnimationGroup("Go_Cart")
  LoadAnimationGroup("Grap")
  LoadAnimationGroup("GymHoop")
  LoadAnimationGroup("GymWLad")
  LoadAnimationGroup("G_Grappler")
  LoadAnimationGroup("G_Johnny")
  LoadAnimationGroup("G_Striker")
  LoadAnimationGroup("Halloween")
  LoadAnimationGroup("HallWind")
  LoadAnimationGroup("Hang_Jock")
  LoadAnimationGroup("Hang_Moshing")
  LoadAnimationGroup("Hang_Talking")
  LoadAnimationGroup("Hang_Workout")
  LoadAnimationGroup("Hobos")
  LoadAnimationGroup("Hobo_Cheer")
  LoadAnimationGroup("HSdinger")
  LoadAnimationGroup("HUMIL_4-10_B")
  LoadAnimationGroup("HUMIL_4-10_C")
  LoadAnimationGroup("HUMIL_5-8F_A")
  LoadAnimationGroup("HUMIL_5-8F_B")
  LoadAnimationGroup("HUMIL_5-8V4-10")
  LoadAnimationGroup("HUMIL_5-8V6-1")
  LoadAnimationGroup("HUMIL_5-8VPLY")
  LoadAnimationGroup("HUMIL_5-8_A")
  LoadAnimationGroup("HUMIL_5-8_B")
  LoadAnimationGroup("HUMIL_5-8_C")
  LoadAnimationGroup("HUMIL_6-1V4-10")
  LoadAnimationGroup("HUMIL_6-1V6-1")
  LoadAnimationGroup("HUMIL_6-1VPLY")
  LoadAnimationGroup("HUMIL_6-1_A")
  LoadAnimationGroup("HUMIL_6-1_B")
  LoadAnimationGroup("HUMIL_6-1_C")
  LoadAnimationGroup("HUMIL_6-5V4-10")
  LoadAnimationGroup("HUMIL_6-5V6-1")
  LoadAnimationGroup("HUMIL_6-5VPLY")
  LoadAnimationGroup("HUMIL_6-5_A")
  LoadAnimationGroup("HUMIL_6-5_B")
  LoadAnimationGroup("HUMIL_6-5_C")
  LoadAnimationGroup("IDLE_AUTH_A")
  LoadAnimationGroup("IDLE_AUTH_B")
  LoadAnimationGroup("IDLE_AUTH_C")
  LoadAnimationGroup("IDLE_AUTH_D")
  LoadAnimationGroup("IDLE_BULLY_A")
  LoadAnimationGroup("IDLE_BULLY_B")
  LoadAnimationGroup("IDLE_BULLY_C")
  LoadAnimationGroup("IDLE_BULLY_D")
  LoadAnimationGroup("IDLE_CIVF_A")
  LoadAnimationGroup("IDLE_CIVF_B")
  LoadAnimationGroup("IDLE_CIVF_C")
  LoadAnimationGroup("IDLE_CIVM_A")
  LoadAnimationGroup("IDLE_CIVM_B")
  LoadAnimationGroup("IDLE_CIVM_C")
  LoadAnimationGroup("IDLE_DOUT_A")
  LoadAnimationGroup("IDLE_DOUT_B")
  LoadAnimationGroup("IDLE_DOUT_C")
  LoadAnimationGroup("IDLE_DOUT_D")
  LoadAnimationGroup("IDLE_FATG_A")
  LoadAnimationGroup("IDLE_FATG_B")
  LoadAnimationGroup("IDLE_FATG_C")
  LoadAnimationGroup("IDLE_FAT_A")
  LoadAnimationGroup("IDLE_FAT_B")
  LoadAnimationGroup("IDLE_FAT_C")
  LoadAnimationGroup("IDLE_GREAS_A")
  LoadAnimationGroup("IDLE_GREAS_B")
  LoadAnimationGroup("IDLE_GREAS_C")
  LoadAnimationGroup("IDLE_GREAS_D")
  LoadAnimationGroup("IDLE_GSF_A")
  LoadAnimationGroup("IDLE_GSF_B")
  LoadAnimationGroup("IDLE_GSF_C")
  LoadAnimationGroup("IDLE_GSM_A")
  LoadAnimationGroup("IDLE_GSM_B")
  LoadAnimationGroup("IDLE_GSM_C")
  LoadAnimationGroup("IDLE_JOCK_A")
  LoadAnimationGroup("IDLE_JOCK_B")
  LoadAnimationGroup("IDLE_JOCK_C")
  LoadAnimationGroup("IDLE_JOCK_D")
  LoadAnimationGroup("IDLE_NERD_A")
  LoadAnimationGroup("IDLE_NERD_B")
  LoadAnimationGroup("IDLE_NERD_C")
  LoadAnimationGroup("IDLE_NERD_D")
  LoadAnimationGroup("IDLE_NGIRL")
  LoadAnimationGroup("IDLE_PREP_A")
  LoadAnimationGroup("IDLE_PREP_B")
  LoadAnimationGroup("IDLE_PREP_C")
  LoadAnimationGroup("IDLE_PREP_D")
  LoadAnimationGroup("IDLE_SEXY_A")
  LoadAnimationGroup("IDLE_SEXY_B")
  LoadAnimationGroup("IDLE_SEXY_C")
  LoadAnimationGroup("INDgateC")
  LoadAnimationGroup("JPhoto")
  LoadAnimationGroup("JunkCarA")
  LoadAnimationGroup("JV_Asylum")
  LoadAnimationGroup("J_Damon")
  LoadAnimationGroup("J_Grappler")
  LoadAnimationGroup("J_Melee")
  LoadAnimationGroup("J_Ranged")
  LoadAnimationGroup("J_Striker")
  LoadAnimationGroup("KISS1")
  LoadAnimationGroup("KISS2")
  LoadAnimationGroup("KISS3")

If you find any bugs or exploits please tell me so I can fix them (there shouldn't be any, anyways  :P)
« Last Edit: April 12, 2015, 04:42:11 PM by The Dream Is Dead »

Offline Mick3Mouse

  • Obam3mouse
  • Bullworth Junkie
  • ****
  • Posts: 4,343
  • Gender: Male
  • Major Mick3Mouse Algie Hunter
    • View Profile
    • My youtube
Re: Bullies Nightmare: Open Source Mission
« Reply #1 on: April 12, 2015, 04:42:19 PM »
Nice work m8.

Offline AfterLife

  • The Reaper
  • Sr. Member
  • ***
  • Posts: 830
  • Gender: Male
  • I'm from the AfterLife...
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #2 on: April 12, 2015, 07:02:56 PM »
Seems like lots of hard work!

Offline DahCobra33

  • Decepticon
  • Hero Member
  • ****
  • Posts: 3,057
  • Gender: Male
  • I don't deal with psychos,I put em' away...
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #3 on: April 12, 2015, 09:16:22 PM »
Sounds like a good one...I'll try it out

deadpoolXYZ

  • Guest
Re: Bullies Nightmare: Open Source Mission
« Reply #4 on: April 20, 2015, 03:06:36 PM »
Thanks for the support.  :laugh:

Btw I bumped this thread because after I created it all the old mods got approved and dragged this thread to the second page.

Offline Rambo7

  • "Awesomely Kick-Ass Troll"
  • Full Member
  • ***
  • Posts: 404
  • Gender: Male
  • #ZAMBess
    • View Profile
    • My ModDB Page
Re: Bullies Nightmare: Open Source Mission
« Reply #5 on: April 29, 2015, 11:46:08 AM »
Wow a mission mod, Great work dude!
it looks like bully modding is quite advance now, huh?

And BTW I think your mission mod is quite hard to beat, since I die several times when I play this mod, I believe it is because of the bullies's low health.

And I got some few complaint, hope u don't mind it
My complaint is about the text dialogue, which is:
-It is too hard for me to read the red color text
-The text dialogue move/skip quite fast, I think it move/skip after 2 or 3 sec and  I actually miss some of the dialogue
So is it possible to:
-Change the text color to white (since Bully:SE subtitle is white)
-For us (the player) To control the move/skip of the text dialogue. for eg. if we press x button, then it will move/skipped the text dialogue to another dialogue (so the text won't be automaticlly move/skip, but it will be manually done by the player). So we can enjoy reading the dialogue without rushing the read

But overall this mod is Awesome 8)

deadpoolXYZ

  • Guest
Re: Bullies Nightmare: Open Source Mission
« Reply #6 on: April 29, 2015, 01:24:41 PM »
Wow a mission mod, Great work dude!
it looks like bully modding is quite advance now, huh?

And BTW I think your mission mod is quite hard to beat, since I die several times when I play this mod, I believe it is because of the bullies's low health.

And I got some few complaint, hope u don't mind it
My complaint is about the text dialogue, which is:
-It is too hard for me to read the red color text
-The text dialogue move/skip quite fast, I think it move/skip after 2 or 3 sec and  I actually miss some of the dialogue
So is it possible to:
-Change the text color to white (since Bully:SE subtitle is white)
-For us (the player) To control the move/skip of the text dialogue. for eg. if we press x button, then it will move/skipped the text dialogue to another dialogue (so the text won't be automaticlly move/skip, but it will be manually done by the player). So we can enjoy reading the dialogue without rushing the read

But overall this mod is Awesome 8)

Most of the functions and other stuff I used to create this mod were known for a long time... the problem is that not many people attempted to create a mission.

I think the diffculty was fair... the only hard fight was agains Luntz, but I think this is because I tested the mission several times. By the way I set Jimmy's default stats to the player each time you change character.

About the text, I don't know how to change the color. As far as I know the white and the yellow colors are for predesigned texts that you can find in \Rockstar Games\Bully Scholarship Edition\Config\Text. I might be wrong about this.

I wanted to make the text slower and the ability to skip it if you wanted but I forgot.  :o

Offline DaBOSS54320

  • Hero Member
  • ****
  • Posts: 3,398
  • Gender: Female
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #7 on: April 29, 2015, 02:18:46 PM »
I believe part of the code got cut off in your post due to size limits in posts. Pastebin might help.
It's only the loading animations part I suppose but still, just letting you know.

Nice mission though!

Offline Rambo7

  • "Awesomely Kick-Ass Troll"
  • Full Member
  • ***
  • Posts: 404
  • Gender: Male
  • #ZAMBess
    • View Profile
    • My ModDB Page
Re: Bullies Nightmare: Open Source Mission
« Reply #8 on: April 29, 2015, 08:02:58 PM »
I wanted to make the text slower and the ability to skip it if you wanted but I forgot.  :o
Okay, that's cool, so it means that is possible
Btw I want to add my question, is it possible to change the size of the text to a bigger one, for eg. change it from 10 font size to 12 font size
Since for me, a dialogue/story is one of the most important part of a mission, to make the mission really interesting
« Last Edit: July 24, 2015, 07:59:56 AM by Rambo7 »

Offline denizthebest

  • Jr. Member
  • **
  • Posts: 85
  • Half way there.
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #9 on: July 24, 2015, 06:38:49 AM »
Nice mission i really enjoyed playing it, we need more missions like this. :cheernutz: :cheernutz:

but one thing can be improved there should be more beam cola
« Last Edit: July 24, 2015, 06:44:09 AM by denizthebest »

Offline Bellic19

  • Sr. Member
  • ***
  • Posts: 933
  • Gender: Male
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #10 on: March 12, 2016, 08:10:04 AM »
^this is an old topic m8. I highly doubt he'll change anything now

Offline Bully_Lover13

  • Full Member
  • ***
  • Posts: 119
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #11 on: March 12, 2016, 11:59:45 PM »
^this is an old topic m8. I highly doubt he'll change anything now
He posted that in July 24 2015

Offline DahCobra33

  • Decepticon
  • Hero Member
  • ****
  • Posts: 3,057
  • Gender: Male
  • I don't deal with psychos,I put em' away...
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #12 on: March 18, 2016, 10:36:55 PM »
Almost a year...And..Considering he hasn't connected for quite a while...Gembo makes a point.

Offline Dannysters

  • Jr. Member
  • **
  • Posts: 33
    • View Profile
Re: Bullies Nightmare: Open Source Mission
« Reply #13 on: March 23, 2016, 05:03:07 AM »
great mod! But I only reached that hole part, I feel like each townies is strong as Bif/Russell, they're hard to knock down. But I love challenges  8)