lua:scripting:examples:olcscripts
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
lua:scripting:examples:olcscripts [2015/03/15 23:45] – vodur | lua:scripting:examples:olcscripts [2016/10/02 03:26] (current) – [Reduce wealth of shops over 100%] vodur | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== OLC scripts ====== |
===== Edit all wands and staffs to have 50/50 charges ===== | ===== Edit all wands and staffs to have 50/50 charges ===== | ||
Line 85: | Line 85: | ||
</ | </ | ||
- | geshi: lua | + | ===== Surreal reset culling ===== |
- | < | + | [[http:// |
- | for i=1,10 do everything() end | + | |
+ | < | ||
+ | do | ||
+ | local area=getroom(2031).area | ||
+ | |||
+ | for _,room in pairs(area.rooms) do | ||
+ | local edited=false | ||
+ | clearloopcount() | ||
+ | local finished | ||
+ | while not finished do | ||
+ | finished=true | ||
+ | local num_resets=# | ||
+ | |||
+ | | ||
+ | if reset.command==" | ||
+ | goto(room.vnum) | ||
+ | local rmax=reset.arg4 | ||
+ | local amax=reset.arg2 | ||
+ | local mvnum=reset.arg1 | ||
+ | |||
+ | if amax>25 then | ||
+ | local newmax=25 | ||
+ | rmax=math.min(rmax, | ||
+ | --local newmax=math.max(20, | ||
+ | --newmax=math.min(amax, | ||
+ | edited=true | ||
+ | mdo(" | ||
+ | mdo(" | ||
+ | finished=false | ||
+ | break | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | if edited then mdo(' | ||
+ | end | ||
+ | |||
+ | end | ||
+ | </ | ||
+ | ===== Burnproof flag removal / Nonmetal Weapon adjust ===== | ||
+ | |||
+ | <code lua> | ||
+ | function anti_burnproof() | ||
+ | local count = 0 | ||
+ | for _,area in pairs(getarealist()) do | ||
+ | if not area: | ||
+ | for _,op in pairs(area.objprotos) do | ||
+ | if op: | ||
+ | -- adjust damage using olc | ||
+ | mdo(" | ||
+ | olc(" | ||
+ | olc(" | ||
+ | count = count + 1 | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | sendtochar(mob, " | ||
+ | end | ||
+ | |||
+ | function nonmetal_weapons() | ||
+ | local count = 0 | ||
+ | for _,area in pairs(getarealist()) | ||
+ | if not area:flag(" | ||
+ | for _,op in pairs(area.objprotos) do | ||
+ | if op: | ||
+ | -- remove burnproof flag using olc | ||
+ | mdo(" | ||
+ | olc(" | ||
+ | olc(" | ||
+ | count = count + 1 | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | end | ||
+ | sendtochar(mob, | ||
+ | end | ||
+ | </ | ||
+ | ===== Reduce wealth of shops over 100% ===== | ||
+ | |||
+ | <code lua> | ||
+ | do | ||
+ | |||
+ | local cnt = 0 | ||
+ | |||
+ | for _,area in pairs(getarealist()) do | ||
+ | for _,mp in pairs(area.mobprotos) do | ||
+ | if mp.shop and mp.wealthpcnt> | ||
+ | mdo(" | ||
+ | olc(" | ||
+ | olc(' | ||
+ | cnt = cnt + 1 | ||
+ | |||
+ | end | ||
+ | end | ||
+ | end | ||
+ | local msg = " | ||
+ | log(msg, ' | ||
+ | end | ||
</ | </ | ||
lua/scripting/examples/olcscripts.1426463154.txt.gz · Last modified: 2015/03/15 23:45 by vodur