• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • 2026 staff recruitment is open! Check it out and consider applying!

Exp doors blad

szajker123

New Member
Joined
May 12, 2012
Messages
195
Reaction score
0
Witam czy moglby ktos mi dac swoj skrypt "action" na exp gate door ? bo mi sie na serwerze zepsuł , niewiem czemu. ale bardzo bym prosil o ten skrypt ( skrypt jak w kazdym otsie na exp door to kazdy wie co to jest.. )
niewiem poco daje moj skrypt ale to jest on >
PHP:
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
 
yy? nie kumam .. kurde ja chce tylko zwykly skrypt z ots 8.54 na exp door czy to takie trudne tfs 3.7
 
Ten skrypt nie jest problemem tylko liby, to Ci od razu napiszę, ale skoro nie chcesz współpracować to idź męczyć ludzi tu albo tu. papatki
 
boxer94, jak masz tak pisać to nie pisz w ogóle.

Szajker123, problem tkwi pewnie w items.xml

Sprawdź czy w items nie masz przypadkiem takiego czegoś:
<item id="1259" article="a" name="gate of expertise">
<attribute key="type" value="door" />
<attribute key="blockprojectile" value="1" />
</item>

Jeśli masz to zmień na to:

<item id="1259" article="a" name="gate of expertise">
<attribute key="type" value="door" />
<attribute key="levelDoor" value="1000" />
<attribute key="blockprojectile" value="1" />
</item>

; )
 
nie chyba ale poco naprawiac ? .. no prosze daj ktos swoj albo cos

nie no, poprostu leci Like, nie ma to jak postawa naszych pro fixerów z polish boarda, no bo po chuj się męczyć w naprawianie, lepiej dojebać kolejne skrypty i zapchać całą datę syfem oh yeah!

okey typek wyżej podał ci rozwiązanie z items.xml, ale przecież ty nie chcesz naprawy tylko mój skrypt albo "coś"

to patrz


robisz:

LUA:
local id = 54926          -- the action id here

local lvl_wymagany = 50

function onUse(cid, item, fromPosition, itemEx, toPosition)
local cidPosition = getCreaturePosition(cid)
	if getPlayerLevel(cid) >= lvl_wymagany then
		if item.actionid == id then 
			if cidPosition.x < toPosition.x then
				doTransformItem(item.uid, item.itemid + 1)
				doTeleportThing(cid, toPosition, TRUE)
			else
				if cidPosition.x > toPosition.x then
				doTransformItem(item.uid, item.itemid + 1)
				doTeleportThing(cid, toPosition, TRUE)
				end
			end
		end
	else
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "dis dor is able tu jus, only baj plejers łyf lewel hajter then ".. lvl_wymagany ..")
	end
	return TRUE
end


i co ? należy mi się też reput, dostałeś to co chciałeś


jeszcze pewnie dostane warna albo bana kolejnego nie wiadomo za co, dałem odpowiedż sensowną do tematu, wiem, że typek powinien naprawić to w items.xml lub w libie, ale on nie chciał naprawić tylko dostać to "coś", więc mu to dałem


mam nadzieje, że po tej odpowiedzi wyciągniesz wnioski jak prosić o coś ludzi, żeby nie dostać czegoś takiego jak /\
 
temat zamknalem wiec poco se posta nabijasz ? ja piernicze tacy ludzie sa daremni omg...
 
temat zamknalem wiec poco se posta nabijasz ? ja piernicze tacy ludzie sa daremni omg...

Daremny to ty jesteś szkodniku, forma, w której "prosisz" o pomoc, pff jakby to ująć? hm tak jakbyś się jej domagał, uważał, że jest ci dana i poprostu musisz otrzymać, potem arogancko odpowiadasz komuś kto próbuje ci pomóc i piszesz, że nie chcesz naprawy tego co jest źle tylko nowego skryptu, tak więc mój post nie był zbędny, dałem w nim skrypt na level door w lua. Nie piszemy "se" tylko "sobie" jak już.

omg omg omg kidzie z 'tłitera'

a mój opierdalający post w tym temacie to wynik kumulacji twoich durnych postów na otlandzie


//edit;

a wgl to zamykać tematy może nie liczna grupa użytkowników tego forum, napewno nie ty
 
Omg.. wkurzaja mnie takie debilne dzieci jak ty.. cos ci sie nie podoba ? to po jakiego kija wbijasz na ten temat niechce nie pomagaj proste. mowie zamykam czyli czekam na adma az zamknie lub cos eh...
 
Omg.. wkurzaja mnie takie debilne dzieci jak ty.. cos ci sie nie podoba ? to po jakiego kija wbijasz na ten temat niechce nie pomagaj proste. mowie zamykam czyli czekam na adma az zamknie lub cos eh...

No właśnie w tym rzecz, że dałem ci taką pomoc jaka była przez ciebie oczekiwana O.o to może ty dorośnij bo ze sposobu, którego używasz do formułowania zdań można wywnioskować iż to ty masz jakieś braki czy defekty. Wgl po co mnie wyzywasz hm?

Ta wypowiedź już zbacza z tematu, więc te pierdoły faktycznie możemy rozwiązać na prv, ale napewno nie pozwolę sobie zarzucać, że nie udzieliłem ci pomocy adekwatnej do twojej prośby - bo udzieliłem i tyle.


Sammmmeeeee zamykaaaaaaaj
 
dobra moze udzieliłeś odpowiedzi ale poco jak problem był rozwiazany ? i za pomoc dziekuje
prosze admina o zamkniecie tematu .. koniec.
 
Back
Top