Spectra
Loser
Chaoskart
Chaoskart is a mod intended to make SRB2Kart as chaotic as possible.
There are multiple different effects that are there to ruin your day. Each of them will have different lasting effects, or some may even be quick events that hit you when you least expect it.Chaoskart is a mod intended to make SRB2Kart as chaotic as possible.
There are over 50 different effects by default. You can look at the many different effects with the console command "ck_listevents".
There are also permanent effects, effects that have a chance to start up for the entire race, every race. Around a 5% chance.
Console Commands:
ck_listevents: Lists all the events.
ck_doevent <eventid>: Runs an event.
ck_dorareevent <eventid>: Runs a rare event.
ck_eventtime <time>: The time until each event is run.
ck_deathroulette <on/off>: Whether death roulette can be run or not.
ck_startdeathroulette: Starts death roulette.
chaoskart <on/off>: Enables or disables chaoskart.
ck_doevent <eventid>: Runs an event.
ck_dorareevent <eventid>: Runs a rare event.
ck_eventtime <time>: The time until each event is run.
ck_deathroulette <on/off>: Whether death roulette can be run or not.
ck_startdeathroulette: Starts death roulette.
chaoskart <on/off>: Enables or disables chaoskart.
Chaoskart has Custom Event support aswell!
Code:
-- Hello! This is a tutorial wad for how Chaoskart Events work!
-- You must have decent Lua knowlege for this.
-- If you must, you could even use other hooks.
-- Let's look at this event. For this example, we'll make it blow up 2nd.
freeslot("sfx_noooo3")
ckAddEvent(ckEvents, {
name = "Explode 2nd", -- The name of the event, it will be displayed next to the item slot. If omitted, will display "Missing Name!"
shortname = "ExplodeSecond", -- The ID of the event, it is used for the commands. REQUIRED.
eventprint = "2nd place was blown up!", -- This is plastered below the event name. REQUIRED.
namecol = SKINCOLOR_ORANGE, -- Irrelavent until the next update.
battlemode = true, -- Whether this can be called in battle mode or not. If omitted, defaults to true.
soundplay = sfx_noooo3, -- The sound that is played instead of the default. If omitted, plays the default sound
candeathroulette = false, -- Whether this can be called in the death roulette or not.
eventfunc = function(time) -- The code that is run when the event is called.
for p in players.iterate
if p.kartstuff[k_position] == 2 and p and p.mo and p.valid and p.mo.valid
K_SpawnMineExplosion(p.mo, p.mo.color)
p.kartstuff[k_spinouttimer] = 3*TICRATE
P_StartQuake(30*FRACUNIT, TICRATE/2)
P_InstaThrust(p.mo, p.mo.angle, 0)
P_SetObjectMomZ(p.mo, 10*FRACUNIT)
p.xpld = true
end
end
end,
eventthink = function() -- A thinkframe for the event. Runs every tic.
for p in players.iterate
if p.xpld == true
CONS_Printf(p, "Sorry! But hey atleast you know 'eventthink' works!")
p.xpld = false
end
end
end,
eventpthink = function(p) -- 2.2 playerthink. Runs every tic.
if p.xpld == true
CONS_Printf(p, "Sorry! But hey atleast you know 'eventpthink' works!")
p.xpld = false
end
end,
})
-- If you want to make a rare event, replace
// ckAddEvent(ckEvents, {
-- With
// ckAddRareEvent(ckRareEvents, {
-- As you may or may not know, chaoskart comes with permeffects too.
-- Here is how to make one.
-- Here is our permeffect. For an example, we'll make it spam the console.
ckAddPermEffect({
name = "Console Spam", -- The name of the perm effect. REQUIRED.
desc = "I'm so sorry!", -- The description of the perm effect. REQUIRED.
encoredesc = "I'm really sorry!", -- The description of the perm effect in encore mode. If omitted, it will use the regular description.
startsound = sfx_noooo3, -- The sound that is played when the perm effect starts. REQUIRED.
rare = true, -- If this is rare or not. If omitted, defaults to false.
battlemode = true, -- If this can be called in battle mode or not. If omitted, defaults to true.
synchnewjoiners = true, -- Executes 'starteffect' whenever someone joins
starteffect = function() -- Executes as soon as this perm effect is called.
print("This console boutta die")
end
effect = function() -- The effect of the perm effect. Runs every tic. REQUIRED.
print(":)")
end,
encoreeffect = function() -- The effect in encore mode. Runs every tic. If omitted, uses the regular effect.
print(":)")
print(":)")
print(":)")
end,
mobjthinker = function(mo) -- The Mobj Thinker that will run. Not required.
if mo.valid
if mo.type == MT_PLAYER
mo.colorized = true
mo.color = SKINCOLOR_ORANGE
local smoke = P_SpawnMobj(mo.x+P_RandomRange(-25, 25)*mo.scale, mo.y+P_RandomRange(-25, 25)*mo.scale, mo.z+P_RandomRange(5, 30)*mo.scale, MT_SMOKE)
if not S_SoundPlaying(mo, sfx_kc51) then S_StartSound(mo, sfx_kc51) end
end
end
end,
spineffect = function(p, i, s) -- The code that will run if the player is spun out.
if (p.valid and p.mo.valid)
if s.type == MT_PLAYER
p.kartstuff[k_spinouttimer] = $*2
p.onfire = 10*TICRATE
end
end
end,
xpldeffect = function(p, i, s) -- The code that will run if the player is blown up.
if (p.valid and p.mo.valid)
if s.type == MT_PLAYER
p.kartstuff[k_wipeoutslow] = $*2
p.onfire = 10*TICRATE
end
end
end,
})
-- I hope you'll enjoy this!
Changelog:
v1.0:
- Release
v1.1:
- "chaoskart" command (disables chaoskart while loaded)
- "PermaShrink" Perm-Effect
v1.2:
- Various Bugfixes to certain events
- Encore Mode perm effects
- New Event "RandItem"
v1.3:
- Tweaked "IceballRand", "HyperOrbinautRand", "GiantBananaRand" and "Driftless"
- New Event "FireRain"
- New Event "Blooper"
- New Event "AutoAccel"
- New Event "InvertControls"
- "PermAccel" Perm-Effect.
1.4:
- Timed Events now show up below the timer.
- Speaking of the timer, it has been redone to make it look better.
- New Event "StopAll"
- New Event "BunnyHop"
- New Event "FlipAll"
- "Speed Shoes" Perm-Effect
- "Kansei Dorifto" Perm-Effect
- "Spring-Floor" Rare Perm-Effect.
1.41:
- Timed events would carry into the next race. This is rectified.
- Frozen players can press any button to break out.
- Removed "Blooper".
- Release
v1.1:
- "chaoskart" command (disables chaoskart while loaded)
- "PermaShrink" Perm-Effect
v1.2:
- Various Bugfixes to certain events
- Encore Mode perm effects
- New Event "RandItem"
v1.3:
- Tweaked "IceballRand", "HyperOrbinautRand", "GiantBananaRand" and "Driftless"
- New Event "FireRain"
- New Event "Blooper"
- New Event "AutoAccel"
- New Event "InvertControls"
- "PermAccel" Perm-Effect.
1.4:
- Timed Events now show up below the timer.
- Speaking of the timer, it has been redone to make it look better.
- New Event "StopAll"
- New Event "BunnyHop"
- New Event "FlipAll"
- "Speed Shoes" Perm-Effect
- "Kansei Dorifto" Perm-Effect
- "Spring-Floor" Rare Perm-Effect.
1.41:
- Timed events would carry into the next race. This is rectified.
- Frozen players can press any button to break out.
- Removed "Blooper".
ChaosKart is intended for... well... chaos, and so, some levels may be unplayable, or too chaotic to complete. Please do not complain if you're unable to complete a track or are barely able to play the game, it's all part of the fun!
Attachments
Last edited: