I don't know how to create menus and selector mods but I know how you change it manually by scripting your STimeCycle.lur
First you use the following function:
PedSetTypeToTypeAttitude(Faction, Faction, Attitude) | Set the 1st faction's attitude towards the 2nd faction
For example: You want to be a Greaser, and to make preps don't like you, so you set preps attitude towards player and greasers attitude towards player
PedSetTypeToTypeAttitude(5, 13, 1) -- Preps Dislike Player. Makes preps taunt you, shove you, etc. if you are in theyre area, they will fight you.
PedSetTypeToTypeAttitude(4, 13, 4) -- Greasers love Player.
Now you can set the respect leve of the factions to appear in the menu (it's optional)
SetFactionRespect(Faction, respect)
SetFactionRespect(5, 25) --Preps with 25 respect
SetFactionRespect(4,100) --Greasers with 100 respect
Faction lists
Factions:
0 Prefects
1 Nerd
2 Jock
3 Drop Out
4 Greaser
5 Prep
6 Student
7 Police
8 Teacher
9 Adult Civilian
10 Shop Keeper
11 Bully
12 PunchBag/Dogs
13 Player
14 Player2
Attitudes
Attitudes:
0 Hate
1 Dislike
2 Ignore
3 Like
4 Love
So, a complete script for this would look like this.
function main()
-- Waiting for the game's appearing:
while not SystemIsReady() or AreaIsLoading() do
Wait(0)
end
respectmod()
-- Main loop:
repeat
Wait(0) -- Do not remove, or you will stuck.
until not Alive
end
respectmod = function()
while true do
Wait(0)
PedSetTypeToTypeAttitude(5, 13, 1)
PedSetTypeToTypeAttitude(4, 13, 4)
SetFactionRespect(5, 25)
SetFactionRespect(4,100)
local otherfactions = {1,2,3,6,13)
for i, F in ipairs(otherfactions) do
PedSetTypeToTypeAttitude(F, 13, 2)
SetFactionRespect(F, 13, 50)
end
end
end
-- STimeCycle:
function LoadAllAnim()
LoadAnimationGroup("Authority")
LoadAnimationGroup("Boxing")
LoadAnimationGroup("B_Striker")
LoadAnimationGroup("CV_Female")
LoadAnimationGroup("CV_Male")
LoadAnimationGroup("DO_Edgar")
LoadAnimationGroup("DO_Grap")
LoadAnimationGroup("DO_StrikeCombo")
LoadAnimationGroup("DO_Striker")
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("G_Grappler")
LoadAnimationGroup("G_Johnny")
LoadAnimationGroup("G_Striker")
LoadAnimationGroup("Grap")
LoadAnimationGroup("J_Damon")
LoadAnimationGroup("J_Grappler")
LoadAnimationGroup("J_Melee")
LoadAnimationGroup("J_Ranged")
LoadAnimationGroup("J_Striker")
LoadAnimationGroup("LE_Orderly")
LoadAnimationGroup("Nemesis")
LoadAnimationGroup("N_Ranged")
LoadAnimationGroup("N_Striker")
LoadAnimationGroup("N_Striker_A")
LoadAnimationGroup("N_Striker_B")
LoadAnimationGroup("P_Grappler")
LoadAnimationGroup("P_Striker")
LoadAnimationGroup("PunchBag")
LoadAnimationGroup("Qped")
LoadAnimationGroup("Rat_Ped")
LoadAnimationGroup("Russell")
LoadAnimationGroup("Russell_Pbomb")
LoadAnimationGroup("Straf_Dout")
LoadAnimationGroup("Straf_Fat")
LoadAnimationGroup("Straf_Female")
LoadAnimationGroup("Straf_Male")
LoadAnimationGroup("Straf_Nerd")
LoadAnimationGroup("Straf_Prep")
LoadAnimationGroup("Straf_Savage")
LoadAnimationGroup("Straf_Wrest")
LoadAnimationGroup("TE_Female")
collectgarbage()
end
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
F_RingSchoolBell()
local l_6_0 = PlayerGetPunishmentPoints() + GetSkippingPunishment()
end
function F_EndClass()
if IsMissionCompleated("3_08") and not IsMissionCompleated("3_08_PostDummy") then
return
end
F_RingSchoolBell()
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 2 < l_24_0 then
SetCurrentDay(0)
end
end
F_UpdateCurfew()
end
function F_UpdateCurfew()
local l_25_0 = shared.gCurfewRules
l_25_0 = l_25_0 or F_CurfewDefaultRules
l_25_0()
end
function F_CurfewDefaultRules()
local l_26_0 = ClockGet()
if 23 <= l_26_0 or l_26_0 < 7 then
shared.gCurfew = true
else
shared.gCurfew = false
end
end