Postado Junho 7, 2015 9 anos local locked = DOORS[item.itemid] if(locked) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") return true end todas as portas estão dando isso? '' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''
Postado Junho 7, 2015 9 anos Autor Em 07/06/2015 em 07:48, Alienbear disse: local locked = DOORS[item.itemid] if(locked) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") return true end todas as portas estão dando isso? Estava kkkkkkkkk, agora voltou o erro e a porta não abre :S
Postado Junho 7, 2015 9 anos function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(questDoors, item.itemid) == TRUE then if getPlayerStorageValue(cid, item.actionid) ~= -1 then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.") end return TRUE elseif isInArray(levelDoors, item.itemid) == TRUE then if item.actionid > 0 and getPlayerLevel(cid) >= item.actionid - 1000 then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") end return TRUE elseif isInArray(keys, item.itemid) == TRUE then if itemEx.actionid > 0 then if item.actionid == itemEx.actionid then if doors[itemEx.itemid] ~= nil then doTransformItem(itemEx.uid, doors[itemEx.itemid]) return TRUE end end doPlayerSendCancel(cid, "The key does not match.") return TRUE end return FALSE elseif isInArray(horizontalOpenDoors, item.itemid) == TRUE then local newPosition = toPosition newPosition.y = newPosition.y + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if doorCreature.itemid ~= 0 then if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then doPlayerSendCancel(cid, "Sorry, not possible.") else doTeleportThing(doorCreature.uid, newPosition, TRUE) if isInArray(openSpecialDoors, item.itemid) ~= TRUE then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE elseif isInArray(verticalOpenDoors, item.itemid) == TRUE then local newPosition = toPosition newPosition.x = newPosition.x + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if doorCreature.itemid ~= 0 then if getTilePzInfo(doorPosition) == TRUE and getTilePzInfo(newPosition) == FALSE and doorCreature.uid ~= cid then doPlayerSendCancel(cid, "Sorry, not possible.") else doTeleportThing(doorCreature.uid, newPosition, TRUE) if isInArray(openSpecialDoors, item.itemid) ~= TRUE then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE elseif doors[item.itemid] ~= nil then if item.actionid == 0 then doTransformItem(item.uid, doors[item.itemid]) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") end return TRUE end return FALSE end tenta usar esse ai por favor? '' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''
Postado Junho 7, 2015 9 anos Autor [7/6/2015 4:58:23] [Error - Action Interface] [7/6/2015 4:58:24] data/actions/scripts/other/doors.lua:onUse [7/6/2015 4:58:24] Description: [7/6/2015 4:58:24] data/lib/050-function.lua:10: bad argument #1 to 'ipairs' (table expected, got nil) [7/6/2015 4:58:24] stack traceback: [7/6/2015 4:58:24] [C]: in function 'ipairs' [7/6/2015 4:58:24] data/lib/050-function.lua:10: in function 'isInArray' [7/6/2015 4:58:24] data/actions/scripts/other/doors.lua:2: in function <data/actions/scripts/other/doors.lua:1>
Postado Junho 7, 2015 9 anos tenta assim: local function checkStackpos(item, position) position.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local thing = getThingFromPos(position) position.stackpos = STACKPOS_TOP_FIELD local field = getThingFromPos(position) return (item.uid == thing.uid or thing.itemid < 100 or field.itemid == 0) end function onUse(cid, item, fromPosition, itemEx, toPosition) if(getItemLevelDoor(item.itemid) > 0) then if(item.actionid == 189) then if(isPremium(cid) ~= TRUE) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") return TRUE end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) return TRUE end local gender = item.actionid - 186 if(isInArray({PLAYERSEX_FEMALE, PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender) == TRUE) then local playerGender = getPlayerSex(cid) if(playerGender ~= gender) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") return TRUE end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) return TRUE end local skull = item.actionid - 180 if(skull >= 0 and skull < 6) then local playerSkull = getCreatureSkullType(cid) if(playerSkull ~= skull) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") return TRUE end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) return TRUE end local group = item.actionid - 150 if(group >= 0 and group < 30) then local playerGroup = getPlayerGroupId(cid) if(playerGroup < group) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") return TRUE end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) return TRUE end local vocation = item.actionid - 100 if(vocation >= 0 and vocation < 50) then local playerVocationInfo = getVocationInfo(getPlayerVocation(cid)) if(playerVocationInfo.id ~= vocation and playerVocationInfo.fromVocation ~= vocation) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") return TRUE end doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) return TRUE end if(item.actionid == 190 or (item.actionid ~= 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid)))) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.") end return TRUE end if(isInArray(specialDoors, item.itemid) == TRUE) then if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then doTransformItem(item.uid, item.itemid + 1) doTeleportThing(cid, toPosition, TRUE) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.") end return TRUE end if(isInArray(keys, item.itemid) == TRUE) then if(itemEx.actionid > 0) then if(item.actionid == itemEx.actionid and doors[itemEx.itemid] ~= nil) then doTransformItem(itemEx.uid, doors[itemEx.itemid]) return TRUE end doPlayerSendCancel(cid, "The key does not match.") return TRUE end return FALSE end if(isInArray(horizontalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition)) then local newPosition = toPosition newPosition.y = newPosition.y + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if(doorCreature.itemid ~= 0) then if(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE end if(isInArray(verticalOpenDoors, item.itemid) == TRUE and checkStackpos(item, fromPosition)) then local newPosition = toPosition newPosition.x = newPosition.x + 1 local doorPosition = fromPosition doorPosition.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE local doorCreature = getThingfromPos(doorPosition) if(doorCreature.itemid ~= 0) then if(getTileInfo(doorPosition).protection and not getTileInfo(newPosition).protection and doorCreature.uid ~= cid) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) else doTeleportThing(doorCreature.uid, newPosition, TRUE) if(isInArray(closingDoors, item.itemid) ~= TRUE) then doTransformItem(item.uid, item.itemid - 1) end end return TRUE end doTransformItem(item.uid, item.itemid - 1) return TRUE end if(doors[item.itemid] ~= nil and checkStackpos(item, fromPosition)) then if(item.actionid == 0) then doTransformItem(item.uid, doors[item.itemid]) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is locked.") end return TRUE end return FALSE end Editado Junho 7, 2015 9 anos por Alienbear (veja o histórico de edições) '' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''
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.