• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

Level Door

Status
Zamknięty.

kokosik1221

Active User
Dołączył
Grudzień 22, 2009
Posty
148
Liczba reakcji
5
Witam mam taki problem, gdy otworze drzwi od lvl i stojac w nich je zamkne one zmieniaja swoje ID.
Np. z drzwi o ID 5121 robi? si? 5123 prosze o pomoc



DOORS.LUA
Kod:
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
local function doorEnter(cid, item, toPosition)
	doTransformItem(item.uid, item.itemid + 1)
	doTeleportThing(cid, toPosition)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
	if(fromPosition.x ~= CONTAINER_POSITION and isPlayerPzLocked(cid) and getTileInfo(fromPosition).protection) then
		doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
		return true
	end
	if(getItemLevelDoor(item.itemid) > 0) then
		if(item.actionid == 189) then
			if(not isPremium(cid)) then
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
				return true
			end
			doorEnter(cid, item, toPosition)
			return true
		end
		local gender = item.actionid - 186
		if(isInArray({PLAYERSEX_FEMALE,  PLAYERSEX_MALE, PLAYERSEX_GAMEMASTER}, gender)) then
			if(gender ~= getPlayerSex(cid)) then
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
				return true
			end
			doorEnter(cid, item, toPosition)
			return true
		end
		local skull = item.actionid - 180
		if(skull >= SKULL_NONE and skull <= SKULL_BLACK) then
			if(skull ~= getCreatureSkullType(cid)) then
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
				return true
			end
			doorEnter(cid, item, toPosition)
			return true
		end
		local group = item.actionid - 150
		if(group >= 0 and group < 30) then
			if(group > getPlayerGroupId(cid)) then
				doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
				return true
			end
			doorEnter(cid, item, toPosition)
			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
			doorEnter(cid, item, toPosition)
			return true
		end
		if(item.actionid == 190 or (item.actionid ~= 0 and getPlayerLevel(cid) >= (item.actionid - getItemLevelDoor(item.itemid)))) then
			doorEnter(cid, item, toPosition)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Only the worthy may pass.")
		end
		return true
	end
	if(isInArray(specialDoors, item.itemid)) then
		if(item.actionid == 100 or (item.actionid ~= 0 and getPlayerStorageValue(cid, item.actionid) > 0)) then
			doorEnter(cid, item, toPosition)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The door seems to be sealed against unwanted intruders.")
		end
		return true
	end
	if(isInArray(keys, item.itemid)) 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) 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
			local pzDoorPosition = getTileInfo(doorPosition).protection
			local pzNewPosition = getTileInfo(newPosition).protection
			if((pzDoorPosition and not pzNewPosition and doorCreature.uid ~= cid) or
				(not pzDoorPosition and pzNewPosition and doorCreature.uid == cid and isPlayerPzLocked(cid))) then
				doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE)
			else
				doTeleportThing(doorCreature.uid, newPosition)
				if(not isInArray(closingDoors, item.itemid)) 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) 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)
				if(not isInArray(closingDoors, item.itemid)) 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
actions:
Kod:
	<!-- Doors -->
	<action fromid="1209" toid="1214" event="script" value="other/doors.lua"/>
	<action fromid="1219" toid="1262" event="script" value="other/doors.lua"/>
	<action fromid="1250" toid="1251" event="script" value="other/doors.lua"/>
	<action fromid="1253" toid="1254" event="script" value="other/doors.lua"/>
	<action fromid="1539" toid="1542" event="script" value="other/doors.lua"/>
	<action fromid="2086" toid="2092" event="script" value="other/doors.lua"/>
	<action fromid="3535" toid="3552" event="script" value="other/doors.lua"/>
	<action fromid="4913" toid="4918" event="script" value="other/doors.lua"/>
	<action fromid="5082" toid="5085" event="script" value="other/doors.lua"/>
	<action fromid="5098" toid="5145" event="script" value="other/doors.lua"/>
	<action fromid="5278" toid="5295" event="script" value="other/doors.lua"/>
	<action fromid="5515" toid="5518" event="script" value="other/doors.lua"/>
	<action fromid="5732" toid="5737" event="script" value="other/doors.lua"/>
	<action fromid="5745" toid="5749" event="script" value="other/doors.lua"/>
	<action fromid="6192" toid="6209" event="script" value="other/doors.lua"/>
	<action fromid="6249" toid="6266" event="script" value="other/doors.lua"/>
	<action fromid="6253" toid="6254" event="script" value="other/doors.lua"/>
	<action fromid="6795" toid="6802" event="script" value="other/doors.lua"/>
	<action fromid="6891" toid="6908" event="script" value="other/doors.lua"/>
	<action fromid="7033" toid="7050" event="script" value="other/doors.lua"/>
	<action fromid="7054" toid="7057" event="script" value="other/doors.lua"/>
	<action fromid="8541" toid="8558" event="script" value="other/doors.lua"/>
	<action fromid="9165" toid="9184" event="script" value="other/doors.lua"/>
	<action fromid="9267" toid="9284" event="script" value="other/doors.lua"/>
	<action itemid="10032" event="script" value="other/doors.lua"/>
	<action itemid="10091" event="script" value="other/doors.lua"/>
	<action fromid="10268" toid="10285" event="script" value="other/doors.lua"/>
	<action fromid="10468" toid="10486" event="script" value="other/doors.lua"/>
	<action fromid="10774" toid="10776" event="script" value="other/doors.lua"/>
	<action fromid="10779" toid="10785" event="script" value="other/doors.lua"/>
	<action fromid="10788" toid="10791" event="script" value="other/doors.lua"/>

Notka moderatorska:
U?ywaj code a nie quote.
 
Odp: Level Door

nie rozumiem za bardzo o co ci chodzi... jak si? otwiera/zamyka drzwi to zmieniaj? swoje id...
 
Odp: Level Door

Stoje w otwartych drzwiach i gdy je zamkne one zmieniaj? swoje ID na inne
 
Odp: Level Door

Mo?e co? w drzwiach w opcjach w map edytorze ?le zrobi?e? ?le co? ustawi?e? zobacz a jak dobrze jest to nie wiem
 
Odp: Level Door

Wyja?nij dok?adnie. Stoisz w otwartych drzwiach tak? Klikasz na nie PPM tak? I wtedy one zmieniaj? swoje id? Czy schodz?c z kratki, na kt?rej s? te otwarte drzwi, zmieniaj? swoje id?
 
Odp: Level Door

Stoje w nich i klikam na nie PPM i one zamiast mnie wypchnac i sie zakmnac to one sie zamykaja i zmieniaja swoje ID a ja w nich zostaje co widac na screenie
 
Odp: Level Door

Mialem ten sam problem, jedyne co pomoglo to wymiana ca?ego folderu items na inny, nie wiem gdzie byl dokladnie problem, moze ci tez to pomo?e.

Notka moderatorska:
OT Expert, + 1pkt
 
Ostatnio edytowane przez moderatora:
Plik jest zad?ugi dlatego go wrzuci?em na hosting :P

Grabek980
Dzieki WIELKIE!!! POMOG?O !!! :)
Notka moderatorska:
Post pod postem, ??cz?.
 
Ostatnio edytowane przez moderatora:
Status
Zamknięty.
Do góry