do for _,area in pairs(getarealist()) do for _,op in pairs(area.objprotos) do if op.otype=="wand" or op.otype=="wand" then if not(op.chargesleft==50) or not(op.chargestotal==50) then mdo("oedit "..op.vnum) olc("v1 50") olc("v2 50") olc("done") end end end end end
-1 makes the # of charges randomize then item pops.
do local cnter=0 local reset_check = {} for _,area in pairs(getarealist()) do for _,room in pairs(area.rooms) do local shop=false for i,reset in ipairs(room.resets) do clearloopcount() local cmd=reset.command if cmd == "M" then if getmobproto(reset.arg1).shop then shop=true else shop=false end elseif cmd == "G" then if shop==true then reset_check[reset.arg1]=true elseif reset_check[reset.arg1]==nil then reset_check[reset.arg1]=false end end end end end for _,area in pairs(getarealist()) do for _,op in pairs(area.objprotos) do if op.otype=="wand" or op.otype=="staff" then local chargesleft_target local chargestotal_target if reset_check[op.vnum]==true then chargesleft_target=50 chargestotal_target=50 else chargesleft_target=-1 chargestotal_target=50 end if not(op.chargesleft==chargesleft_target) or not(op.chargestotal==chargestotal_target) then mdo("oedit "..op.vnum) olc("v1 "..chargestotal_target) olc("v2 "..chargesleft_target) olc("done") end end end end end
http://aarchonmud.com/forum/viewtopic.php?f=25&t=242
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=#room.resets for i,reset in ipairs(room.resets) do if reset.command=="M" then 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,newmax) --local newmax=math.max(20, amax/2) --newmax=math.min(amax, 50) edited=true mdo("reset "..i.." delete") mdo("reset "..num_resets.." mob "..mvnum.." "..newmax.." "..rmax) finished=false break end end end end if edited then mdo('reset') end end end
function anti_burnproof() local count = 0 for _,area in pairs(getarealist()) do if not area:flag("clone") then for _,op in pairs(area.objprotos) do if op:extra("burnproof") and (op.otype == "armor" or op.otype == "weapon") then -- adjust damage using olc mdo("oedit " .. op.vnum) olc("extra burnproof") olc("done") count = count + 1 end end end end sendtochar(mob, "Removed burnproof flag from " .. count .. " items.\n") end function nonmetal_weapons() local count = 0 for _,area in pairs(getarealist()) do if not area:flag("clone") then for _,op in pairs(area.objprotos) do if op:extra("nonmetal") and op.otype == "weapon" and op.level>= 1 and op.level <= 100 then -- remove burnproof flag using olc mdo("oedit " .. op.vnum) olc("adjust") olc("done") count = count + 1 end end end end sendtochar(mob, "Adjusted damage for " .. count .. " nonmetal weapons.\n") end
do local cnt = 0 for _,area in pairs(getarealist()) do for _,mp in pairs(area.mobprotos) do if mp.shop and mp.wealthpcnt> 100 then mdo("medit "..mp.vnum) olc("wealth 100") olc('done') cnt = cnt + 1 end end end local msg = "Updated wealth on "..cnt.." mobs via lua script" log(msg, 'secure') end