Random we can't push te new (and old) hairs.
(/reload q or reboot solve the problem, but i don't wan't every 5 hours reboot or /reload q... )
My hair.quest:
Code:
quest hair begin state start begin function My_hair_item(vnum,index) hair_list={} -- vnum /hair/ option / howmuch / duration hair_list [74001] = {1001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74002] = {1002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74003] = {1003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74004] = {1004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74005] = {1005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74006] = {1006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74007] = {1007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74008] = {1008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74009] = {1009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74010] = {1010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74011] = {1011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74012] = {1012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74014] = {1013, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74016] = {1014, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74017] = {1015, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74018] = {1016, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74019] = {1017, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74020] = {1018, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74251] = {2001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74252] = {2002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74253] = {2003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74254] = {2004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74255] = {2005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74256] = {2006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74257] = {2007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74258] = {2008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74259] = {2009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74260] = {2010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74261] = {2011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74262] = {2012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74264] = {2013, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74266] = {2014, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74267] = {2015, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74268] = {2016, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74269] = {2017, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74270] = {2018, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74501] = {3001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74502] = {3002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74503] = {3003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74504] = {3004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74505] = {3005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74506] = {3006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74507] = {3007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74508] = {3008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74509] = {3009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74510] = {3010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74511] = {3011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74512] = {3012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74514] = {3013, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74516] = {3014, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74517] = {3015, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74518] = {3016, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74519] = {3017, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74520] = {3018, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74751] = {4001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74752] = {4002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74753] = {4003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74754] = {4004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74755] = {4005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74756] = {4006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74757] = {4007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74758] = {4008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74759] = {4009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [74760] = {4010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [74761] = {4011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [74762] = {4012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74764] = {4013, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74766] = {4014, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74767] = {4015, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74768] = {4016, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74769] = {4017, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [74770] = {4018, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75001] = {1001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75002] = {1002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75003] = {1003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75004] = {1004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75005] = {1005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75006] = {1006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75007] = {1007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75008] = {1008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75009] = {1009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75010] = {1010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75011] = {1011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75012] = {1012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75014] = {1013, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75016] = {1014, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75017] = {1015, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75018] = {1016, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75019] = {1017, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75020] = {1018, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75201] = {2001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75202] = {2002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75203] = {2003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75204] = {2004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75205] = {2005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75206] = {2006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75207] = {2007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75208] = {2008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75209] = {2009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75210] = {2010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75211] = {2011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75212] = {2012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75214] = {2013, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75216] = {2014, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75217] = {2015, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75218] = {2016, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75219] = {2017, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75220] = {2018, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75401] = {3001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75402] = {3002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75403] = {3003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75404] = {3004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75405] = {3005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75406] = {3006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75407] = {3007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75408] = {3008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75409] = {3009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75410] = {3010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75411] = {3011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75412] = {3012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75414] = {3013, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75416] = {3014, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75417] = {3015, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75418] = {3016, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75419] = {3017, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75420] = {3018, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75601] = {4001, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75602] = {4002, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75603] = {4003, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75604] = {4004, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75605] = {4005, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75606] = {4006, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75607] = {4007, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75608] = {4008, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75609] = {4009, apply.ATTBONUS_WARRIOR, 10, 2592000} hair_list [75610] = {4010, apply.ATTBONUS_ASSASSIN, 10, 2592000} hair_list [75611] = {4011, apply.ATTBONUS_SURA, 10, 2592000} hair_list [75612] = {4012, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75614] = {4013, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75616] = {4014, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75617] = {4015, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75618] = {4016, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75619] = {4017, apply.ATTBONUS_SHAMAN, 10, 2592000} hair_list [75620] = {4018, apply.ATTBONUS_SHAMAN, 10, 2592000} return hair_list[vnum][index] end function leave_log(item_vnum) char_log(0, "CHANGE_HAIR", string.format("USE_ITEM(%d)",item_vnum)) -- ľĆŔĚĹŰ ·Î±× ĽłÁ¤ --char_log(0, "CHANGE_HAIR", string.format("SET_HAIR(%d)",item_vnum)) -- ľĆŔĚĹŰ ·Î±× ĽłÁ¤ char_log(0, "CHANGE_HAIR", string.format("END_SEC(%d)",get_time()+ hair.My_hair_item(item_vnum,4)) ) -- »çżë±â°Ł ·Î±× --char_log(0, "CHANGE_HAIR", string.format("AFFECT(%s), DURATION:%d)",hair.My_hair_item(item_vnum,2),get_time()+ hair.My_hair_item(item_vnum,4))) -- Čż°ú ĽłÁ¤ ·Î±× char_log(0, "CHANGE_HAIR", "CHANGE_HAIR_END") -- Áľ·á ·Î±× end when 74014.use or 74016.use or 74017.use or 74018.use or 74019.use or 74020.use or 75014.use or 75016.use or 75017.use or 75018.use or 75019.use or 75020.use or 74001.use or 74002.use or 74003.use or 74004.use or 74005.use or 74006.use or 74007.use or 74008.use or 74009.use or 74010.use or 74011.use or 74012.use or 75001.use or 75002.use or 75003.use or 75004.use or 75005.use or 75006.use or 75007.use or 75008.use or 75009.use or 75010.use or 75011.use or 75012.use with pc.get_job()==0 begin pc.set_part(PART_HAIR, hair.My_hair_item(item.vnum,1)) affect.remove_hair() affect.add_hair(hair.My_hair_item(item.vnum,2),hair.My_hair_item(item.vnum,3) , hair.My_hair_item(item.vnum,4)) pc.setqf("limit_time",get_time()+ hair.My_hair_item(item.vnum,4)) hair.leave_log(item.vnum) item.remove() end when 74264.use or 74266.use or 74267.use or 74268.use or 74269.use or 74270.use or 75214.use or 75216.use or 75217.use or 75218.use or 75219.use or 75220.use or 74251.use or 74252.use or 74253.use or 74254.use or 74255.use or 74256.use or 74257.use or 74258.use or 74259.use or 74260.use or 74261.use or 74262.use or 75201.use or 75202.use or 75203.use or 75204.use or 75205.use or 75206.use or 75207.use or 75208.use or 75209.use or 75210.use or 75211.use or 75212.use with pc.get_job()==1 begin pc.set_part(PART_HAIR, hair.My_hair_item(item.vnum,1)) affect.remove_hair() affect.add_hair(hair.My_hair_item(item.vnum,2),hair.My_hair_item(item.vnum,3) , hair.My_hair_item(item.vnum,4)) pc.setqf("limit_time",get_time()+hair.My_hair_item(item.vnum,4)) hair.leave_log(item.vnum) item.remove() end when 74514.use or 74516.use or 74517.use or 74518.use or 74519.use or 74520.use or 75414.use or 75416.use or 75417.use or 75418.use or 75419.use or 75420.use or 74501.use or 74502.use or 74503.use or 74504.use or 74505.use or 74506.use or 74507.use or 74508.use or 74509.use or 74510.use or 74511.use or 74512.use or 75401.use or 75402.use or 75403.use or 75404.use or 75405.use or 75406.use or 75407.use or 75408.use or 75409.use or 75410.use or 75411.use or 75412.use with pc.get_job()==2 begin pc.set_part(PART_HAIR, hair.My_hair_item(item.vnum,1)) affect.remove_hair() affect.add_hair(hair.My_hair_item(item.vnum,2),hair.My_hair_item(item.vnum,3) , hair.My_hair_item(item.vnum,4)) pc.setqf("limit_time",get_time()+hair.My_hair_item(item.vnum,4)) hair.leave_log(item.vnum) item.remove() end when 74764.use or 74766.use or 74767.use or 74768.use or 74769.use or 74770.use or 75614.use or 75616.use or 75617.use or 75618.use or 75619.use or 75620.use or 74751.use or 74752.use or 74753.use or 74754.use or 74755.use or 74756.use or 74757.use or 74758.use or 74759.use or 74760.use or 74761.use or 74762.use or 75601.use or 75602.use or 75603.use or 75604.use or 75605.use or 75606.use or 75607.use or 75608.use or 75609.use or 75610.use or 75611.use or 75612.use with pc.get_job()==3 begin pc.set_part(PART_HAIR, hair.My_hair_item(item.vnum,1)) affect.remove_hair() affect.add_hair(hair.My_hair_item(item.vnum,2),hair.My_hair_item(item.vnum,3) , hair.My_hair_item(item.vnum,4)) pc.setqf("limit_time",get_time()+ hair.My_hair_item(item.vnum,4)) hair.leave_log(item.vnum) item.remove() end end end
syserr:
Code:
SYSERR: Sep 5 15:48:06 :: RunState: LUA_ERROR: [string "hair"]:1: attempt to index global `item' (a number value) SYSERR: Sep 5 15:48:06 :: WriteRunningStateToSyserr: LUA_ERROR: quest hair.start letter
(Afro, hat, turban, arabic, arabic2 and noodle hairs is in the quest.)