This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
kitanois_dungeon_framework [2025/03/05 01:04] – kitanoi | kitanois_dungeon_framework [2025/04/07 18:22] (current) – kitanoi | ||
---|---|---|---|
Line 37: | Line 37: | ||
overflow: visible; /* Set default overflow to visible */ | overflow: visible; /* Set default overflow to visible */ | ||
} | } | ||
+ | |||
body:target { | body:target { | ||
overflow: hidden; | overflow: hidden; | ||
Line 146: | Line 147: | ||
</ | </ | ||
<li class=" | <li class=" | ||
- | <img src=" | + | <img src=" |
- | </ | + | </ |
+ | |||
+ | <li class=" | ||
+ | <img src=" | ||
+ | </ | ||
<li class=" | <li class=" | ||
<img src=" | <img src=" | ||
Line 159: | Line 164: | ||
<li class=" | <li class=" | ||
<img src=" | <img src=" | ||
- | </ | + | </ |
+ | <li class=" | ||
+ | <img src=" | ||
+ | </ | ||
<li class=" | <li class=" | ||
<img src=" | <img src=" | ||
Line 536: | Line 544: | ||
-------------------------------------------------------------- | -------------------------------------------------------------- | ||
- | |||
- | ====API==== | ||
- | |||
- | |||
====Item Purchase==== | ====Item Purchase==== | ||
Line 558: | Line 562: | ||
--------------------------------------------------------------- | --------------------------------------------------------------- | ||
- | ====reactions for KDF==== | + | ====API==== |
- | + | ||
- | < | + | |
- | reactions = { | + | |
- | [1] = { | + | |
- | cause = " | + | |
- | effect = "if (ActionList: | + | |
- | name = "KB immunity", | + | |
- | }, | + | |
- | }, | + | |
- | </ | + | |
- | + | ||
- | Example to stop you attacking until you react a destination: | + | |
- | + | ||
- | < | + | |
- | local objpullloc = { | + | |
- | [1] = {x=1, | + | |
- | } | + | |
- | local nextobj = KitanoiFuncs.GetFirstNotCompleted() | + | |
- | if (Player.incombat and nextobj~=10 and objpullloc[nextobj] ~= nil and math.distance2d(Player.pos, | + | |
- | return true | + | |
- | end | + | |
- | </ | + | |
- | + | ||
- | Example from Sogigak on Discord to make larger pulls: | + | |
- | + | ||
- | < | + | |
- | function customfunction() | + | |
- | local DiedOrDungeonStart = math.distance2d(Player.pos, | + | |
- | if BigPull == nil or DiedOrDungeonStart then | + | |
- | BigPull = { | + | |
- | [1] = false, | + | |
- | [2] = false | + | |
- | } | + | |
- | end | + | |
- | local PullPositions = { | + | |
- | [1] = { objective = 1, pos = { x = 44.26, y = -8.58, z = 32.19 } }, | + | |
- | [2] = { objective = 2, pos = { x = -123.84, y = -30.66, z = -164.22 } } | + | |
- | } | + | |
- | if KitanoiFuncs.GetFirstNotCompleted() == 1 and Player.incombat and not BigPull[1] and KitanoiFuncs.HowManyAOES() == 0 then | + | |
- | local PullPosition = PullPositions[1].pos; | + | |
- | if math.distance2d(Player.pos, | + | |
- | Player: | + | |
- | KitanoiSettings.avoidingtime = Now() + 10000 | + | |
- | gACREnabled = false; | + | |
- | return | + | |
- | else | + | |
- | BigPull[1] = true | + | |
- | gACREnabled = true | + | |
- | return | + | |
- | end | + | |
- | end | + | |
- | if KitanoiFuncs.GetFirstNotCompleted() == 3 and Player.incombat and not BigPull[2] and KitanoiFuncs.HowManyAOES() == 0 then | + | |
- | local PullPosition = PullPositions[2].pos; | + | |
- | if math.distance2d(Player.pos, | + | |
- | Player: | + | |
- | KitanoiSettings.avoidingtime = Now() + 10000 | + | |
- | gACREnabled = false; | + | |
- | return | + | |
- | else | + | |
- | BigPull[2] = true | + | |
- | gACREnabled = true | + | |
- | return | + | |
- | end | + | |
- | end | + | |
- | end | + | |
- | </ | + | |
- | + | ||
- | This replaces advancedavoid where you need abilities to be used. For anything else, use advancedavoid. | + | |
- | + | ||
- | If scanning for a cast, please use: | + | |
- | + | ||
- | < | + | |
- | KitanoiFuncs.ScanForCaster2(ID, | + | |
- | + | ||
- | local channelexample = KitanoiFuncs.ScanForCaster2(1234) -- returns bool if any entity is currently channeling 1234 | + | |
- | local channelexample2 = KitanoiFuncs.ScanForCaster2(1234, | + | |
- | + | ||
- | + | ||
- | KitanoiFuncs.ScanForCast2(ID, | + | |
- | + | ||
- | local castexample = KitanoiFuncs.ScanForCast2(1234, | + | |
- | local castexample2 = KitanoiFuncs.ScanForCast2(1234, | + | |
- | </ | + | |
- | + | ||
- | --------------------------------------------------------------- | + | |
- | + | ||
- | ====timeline==== | + | |
- | < | + | |
- | timeline = { | + | |
- | [1] = { | + | |
- | contentids = " | + | |
- | starttime = 1000, --time in milliseconds that the code should run | + | |
- | endtime = 3000, --time in milliseconds that the code should stop running | + | |
- | luacode = " | + | |
- | }, | + | |
- | [2] = { | + | |
- | contentids = " | + | |
- | starttime = 25000, --time in milliseconds that the code should run | + | |
- | endtime = 30000, --time in milliseconds that the code should stop running | + | |
- | luacode = " | + | |
- | }, | + | |
- | }, | + | |
- | </ | + | |
- | Uses KitanoiSettings.InCombatTimer for starttime and endtime | + | |
- | + | ||
- | TimeSince(KitanoiSettings.InCombatTimer) | + | |
- | + | ||
- | --------------------------------------------------------------- | + | |
- | + | ||
- | ====syncon==== | + | |
- | < | + | |
- | syncon = { | + | |
- | [1] = { | + | |
- | details = "sync combat timer to 190 seconds on annihilation cast", | + | |
- | cause = " | + | |
- | time = 190000, | + | |
- | } | + | |
- | }, | + | |
- | </ | + | |
- | This syncs KitanoiSettings.InCombatTimer to the time specified when the cause returns true | + | |
- | + | ||
- | TimeSince(KitanoiSettings.InCombatTimer) | + | |
- | + | ||
- | --------------------------------------------------------------- | + | |
- | + | ||
- | ====Custom GUI==== | + | |
- | + | ||
- | {{: | + | |
- | < | + | |
- | customgui = [[ | + | |
- | GUI: | + | |
- | if (test1==nil) then test1 = 1 end | + | |
- | test1, | + | |
- | if (test2==nil) then test2 = 1 end | + | |
- | test2, changed = GUI: | + | |
- | GUI: | + | |
- | test2, changed = GUI: | + | |
- | if (test3==nil) then test3 = "" | + | |
- | test3, | + | |
- | if (test4i == nil) then test4i = 1 end | + | |
- | test4c = {" | + | |
- | test4i, changed = GUI: | + | |
- | GUI: | + | |
- | ]], | + | |
- | </ | + | |
- | + | ||
- | Showing dungeons from your code inside of KDF: | + | |
- | [[https:// | + | https:// |
--------------------------------------------------------------- | --------------------------------------------------------------- | ||
Line 713: | Line 570: | ||
====Support==== | ====Support==== | ||
- | https:// | + | https:// |
< | < | ||
- | <a href=" | + | <a href=" |
</ | </ | ||