Postado Janeiro 2, 2021 4 anos .Qual servidor ou website você utiliza como base? Rev3777 Fir3 Element TFS 0.4 Qual o motivo deste tópico? estou com um problema com o script do remove slot system. Está surgindo algum erro? Se sim coloque-o aqui. Citar o script informa que precisa fechar a função com mais um 'end' da linha 93 a linha 333: [10:9:59.742] [Error - LuaInterface::loadFile] data/actions/scripts/resetSlot.lua:333: 'end' expected (to close 'function' at line 93) near '<eof>' [10:9:59.746] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/resetSlot.lua) [10:9:59.749] data/actions/scripts/resetSlot.lua:333: 'end' expected (to close 'function' at line 93) near '<eof>' porém ao dar reload actions depois de colocar esse end ele acusa outro erro na linha 51: [10:27:39.007] data/actions/scripts/resetSlot.lua [10:27:39.009] Description: [10:27:39.012] data/actions/scripts/resetSlot.lua:51: attempt to index global 'itemEx' (a nil value) [10:27:39.014] [Warning - Event::loadScript] Cannot load script (data/actions/scripts/resetSlot.lua) Você tem o código disponível? Se tiver publique-o aqui: Citar --[[ Slot system 100% by mock \o ]] ---Config local conf = { maxSlotCount=2, ignoredIds={} } --End function choose(...) --- Function by mock. local arg = {...} return arg[math.random(1,#arg)] end if not getItemAttack then function getItemAttack(uid) return getItemAttribute(uid,'attack') end function getItemDefense(uid) return getItemAttribute(uid,'defense') end end local function isArmor(uid) -- Function by Mock the bear. if (getItemInfo(uid.itemid).armor ~= 0) and (getItemWeaponType(uid.uid) == 0) then return true end return false end local function isWeapon(uid) -- Function by Mock the bear. uid = uid or 0 local f = getItemWeaponType(uid) if f == 1 or f == 2 or f == 3 then return true end return false end local function isShield(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 4 then return true end return false end local function isBow(uid) -- Function by Mock the bear. uid = uid or 0 if getItemWeaponType(uid) == 5 and not isItemStackable(uid) then return true end return false end local nam = getItemName(itemEx.uid) local removeUpgrade = { [8306] = "last", -- "all", "last" or "first" } --------------------------------------------- ----local function getper() -----local n = math.random(4,10) ----- return n ---- end --------------------------------------------- local function getper() local n = 1 for i=1,10 do n = n+math.random(0,10) if n < 8*i then break end end return n end ----------------- local function getSlotCount(nam) local c = 0 for _ in nam:gmatch('%[(.-)%]') do c = c+1 end return c end local function getSlots(nam) local cx = {} for slot in nam:gmatch('%[(.-)%]') do table.insert(cx, slot) end return cx end ---------------- -------------------------------------INBUIMENT ROMOVER-------------------------------- function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB) if removeUpgrade[item.itemid] then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cannot remove a slot from this item. #") return true end if isCreature(itemEx.uid) then return false end if getSlotCount(nam) >= 1 then local slots = getSlots(nam) local newName = getItemInfo(itemEx.itemid).name for ix = 1, #slots do if removeUpgrade[item.itemid] ~= "all" and (not((removeUpgrade[item.itemid] == "first" and ix == 1) or (removeUpgrade[item.itemid] == "last" and ix == #slots))) then newName = newName .. ' [' .. slots[ix] .. ']' end end doSendMagicEffect(toPosition,30) doSendAnimatedText(toPosition,'SLOT REMOVED',120) doItemSetAttribute(itemEx.uid,'name', newName) doRemoveItem(item.uid, 1) else doPlayerSendTextMessage(cid, 24,"You cannot remove a slot here.") end end --------------------------END INBUIMENT REMOVER-----------checar ultimo end y el return antes del ultimo end----------------- function onUse(cid, item, fromPosition, itemEx, toPosition) -- Script by mock the bear (MTB) if item.itemid ==8299 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local mlv = choose('ml','ml') local pml = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..mlv..'.+'..pml..'%]' doSendAnimatedText(toPosition,mlv..' '..pml..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8301 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local hpts = choose('hp','hp') local php = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..hpts..'.+'..php..'%]' doSendAnimatedText(toPosition,hpts..' '..php..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8310 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local mpts = choose('mp','mp') local pmp = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..mpts..'.+'..pmp..'%]' doSendAnimatedText(toPosition,mpts..' '..pmp..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8300 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local casw = choose('sword axe','sword axe') local pcas = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..casw..'.+'..pcas..'%]' doSendAnimatedText(toPosition,casw..' '..pcas..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8302 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local casw = choose('knuckle daggers','knuckle daggers') local pcas = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..casw..'.+'..pcas..'%]' doSendAnimatedText(toPosition,casw..' '..pcas..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8303 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local dis = choose('dist','dist') local pdist = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..dis..'.+'..pdist..'%]' doSendAnimatedText(toPosition,dis..' '..pdist..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end if item.itemid ==8298 then if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if item.uid == 0 or item.itemid == 0 then return false end toPosition.stackpos = 255 if isInArray(conf.ignoredIds, itemEx.itemid) or (not getItemWeaponType(itemEx.uid) or getItemWeaponType(itemEx.uid) > 5) or (getItemWeaponType(itemEx.uid) == 0 and not isArmor(itemEx)) or itemEx.itemid == 0 or itemEx.type > 1 or isItemStackable(itemEx.uid) then doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") return TRUE end if isCreature(itemEx.uid) then return FALSE end if getSlotCount(nam) < conf.maxSlotCount then local shi = choose('shield','shield') local pshield = getper() doSendMagicEffect(toPosition,30) nam = nam..' ['..shi..'.+'..pshield..'%]' doSendAnimatedText(toPosition,shi..' '..pshield..'%',120) doItemSetAttribute(itemEx.uid,'name',nam) doRemoveItem(item.uid,1) else doPlayerSendTextMessage(cid, 24,"You cant open a slot on this item.") end end return true end Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. Editado Janeiro 2, 2021 4 anos por rheynkhen (veja o histórico de edições)
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.