• 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!

Some scripts

posak5

New Member
Joined
Dec 25, 2010
Messages
28
Reaction score
1
Hello :) At the start... Sorry for my english xD

I'm looking for 6 scripts.

1. The doors - gate closes every now and open for example after 5 minutes.

2. The doors can be opened only after killing the boss.

3. The doors can be opened only after the completion a quest.

4. The script on the quest like desert. 4 vocations and so on.

5. At the set time appears a statement on the server log.

6. The door can be opened only by the one profession. For example knight.

Thanks :)

ps. If wrong selection please move it to right one :)

- - - Updated - - -

refresh ....n
 
Hello :) At the start... Sorry for my english xD

I'm looking for 6 scripts.

1. The doors - gate closes every now and open for example after 5 minutes.

2. The doors can be opened only after killing the boss.

3. The doors can be opened only after the completion a quest.

4. The script on the quest like desert. 4 vocations and so on.

5. At the set time appears a statement on the server log.

6. The door can be opened only by the one profession. For example knight.

Thanks :)

ps. If wrong selection please move it to right one :)

- - - Updated - - -

refresh ....n

found the desert one, maybe you or someone can edit it for what you want ^^ script is in it

Code:
<action uniqueid="50018" event="script" value="quests/vocation.lua"/>

Code:
http://speedy*****malware.localhost/BpVgz/10kquest.rar

XXLSArs.jpg


Rep++? :rolleyes:
 
The vocation door, just writed something ^^

Lua:
local pos = {x = 1049, y = 729, z = 6}

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if getPlayerVocation(cid) == 1 and getPlayerVocation(cid) == 5 then
	    doTeleportThing(cid,pos)
		doSendMagicEffect(getThingPos(cid), math.random(67))
	else
		doCreatureSay(cid, 'Only sorcerers can pass this door', TALKTYPE_ORANGE_1, false, cid)
	end
	return true
end
 
Everything is included in tfs, if your door scripts doesn't work just copy doors.lua from public subversion(0.3.7 pre1) to your datapack

1. The doors - gate closes every now and open for example after 5 minutes.
every now? describe in which process they're supposed to open

2. The doors can be opened only after killing the boss.
creaturescripts.xml:
XML:
<event type="kill" name="BossKill" event="script" value="bosskill.lua"/>
creaturescripts\scripts\login.lua
Lua:
registerCreatureEvent(cid, "BossKill")
create in creaturescripts\scripts folder script bosskill.lua
Lua:
function onKill(cid, target, damage, flags)
	local killstorage = "25909"
	local name = getCreatureName(target):lower()
	
	if isPlayer(target) then return true end
	if name == 'testboss' then
		doCreatureSay(cid, 'You have defeated the ' .. name .. '. You may continue exploring now.', TALKTYPE_ORANGE_1)
		if(getCreatureStorage(cid, killstorage) < 1) then
		doCreatureSetStorage(cid, killstorage, 1)
		end
	end
	return true
end
change locals to your boss name and storage

44715369.png


2 and 3
doors of this kind(with changing colour red-blue door handle) are indexed in door system
action id is always storage with value = 1 needed to open them

4. The script on the quest like desert. 4 vocations and so on.

script found in every real tibia datapack uploaded ever
XML:
<action uniqueid="1912" event="script" value="quests/vocation_quest.lua"/>
it's lever uniqueid

and code(I know it could be shorter, etc. but I don't have people to test it and I am too lazy to make 4 test mcs)
Lua:
function onUse(cid, item, frompos, item2, topos)
	-- Item ID and Uniqueid --
	switchUniqueID = 1912
	switchID = 1945
	switch2ID = 1946
	swordID	= 2376
	crossbowID = 2455
	appleID	= 2674
	spellbookID	= 2175
 
 
	-- Level to do the quest --
	questlevel = 20
 
 
	piece1pos = {x=32673, y=32094, z=8, stackpos=1} -- Where the first piece will be placed
	getpiece1 = getThingfromPos(piece1pos)
 
	piece2pos = {x=32673, y=32083, z=8, stackpos=1} -- Where the second piece will be placed
	getpiece2 = getThingfromPos(piece2pos)
 
	piece3pos = {x=32667, y=32089, z=8, stackpos=1} -- Where the third piece will be placed
	getpiece3 = getThingfromPos(piece3pos)
 
	piece4pos = {x=32679, y=32089, z=8, stackpos=1} -- Where the fourth piece will be placed
	getpiece4 = getThingfromPos(piece4pos)
 
	player1pos = {x=32673, y=32093, z=8, stackpos=253} -- Where player1 will stand before pressing lever
	player1 = getThingfromPos(player1pos)
	player2pos = {x=32673, y=32085, z=8, stackpos=253} -- Where player2 will stand before pressing lever
	player2 = getThingfromPos(player2pos)
	player3pos = {x=32669, y=32089, z=8, stackpos=253} -- Where player3 will stand before pressing lever
	player3 = getThingfromPos(player3pos)
	player4pos = {x=32677, y=32089, z=8, stackpos=253} -- Where player4 will stand before pressing lever
	player4 = getThingfromPos(player4pos)
 
	knightvoc = getPlayerVocation(player1.uid)   -- The vocation of player1
	paladinvoc = getPlayerVocation(player2.uid)  -- The vocation of player2
	druidvoc = getPlayerVocation(player3.uid)    -- The vocation of player3
	sorcerervoc = getPlayerVocation(player4.uid) -- The vocation of player4
 
	nplayer1pos = {x=32671, y=32069, z=8} -- The new position of player1
	nplayer2pos = {x=32672, y=32069, z=8} -- The new position of player2
	nplayer3pos = {x=32671, y=32070, z=8} -- The new position of player3
	nplayer4pos = {x=32672, y=32070, z=8} -- The new position of player4
 
 
	player1level = getPlayerLevel(player1.uid) -- Checking the level of player1
	player2level = getPlayerLevel(player2.uid) -- Checking the level of player2
	player3level = getPlayerLevel(player3.uid) -- Checking the level of player3
	player4level = getPlayerLevel(player4.uid) -- Checking the level of player4
 
 
	-- Check if all players has the correct vocation
	if knightvoc == 4 or knightvoc == 8 and
	paladinvoc == 3 or paladinvoc == 7 and
	druidvoc == 2 or druidvoc == 6 and
	sorcerervoc == 1 or sorcerervoc == 5 then	
 
 
	-- Check if all players are standing on the correct positions
	if player1.itemid > 0 and player2.itemid > 0 and player3.itemid > 0 and player4.itemid > 0 then
		if player1level >= questlevel and player2level >= questlevel and player3level >= questlevel and	player4level >= questlevel then
			if item.uid == switchUniqueID and item.itemid == switchID and getpiece1.itemid == swordID and getpiece2.itemid == crossbowID and getpiece3.itemid == appleID and getpiece4.itemid == spellbookID then
				doSendMagicEffect(player1pos,2)
				doTeleportThing(player1.uid,nplayer1pos)
				doSendMagicEffect(nplayer1pos,10)
				doRemoveItem(getpiece1.uid,1)
 
				doSendMagicEffect(player2pos,2)
				doTeleportThing(player2.uid,nplayer2pos)
				doSendMagicEffect(nplayer2pos,10)
				doRemoveItem(getpiece2.uid,1)
 
				doSendMagicEffect(player3pos,2)
				doTeleportThing(player3.uid,nplayer3pos)
				doSendMagicEffect(nplayer3pos,10)
				doRemoveItem(getpiece3.uid,1)
 
				doSendMagicEffect(player4pos,2)
				doTeleportThing(player4.uid,nplayer4pos)	
				doSendMagicEffect(nplayer4pos,10)
				doRemoveItem(getpiece4.uid,1)
 
				doTransformItem(item.uid,item.itemid+1)
			elseif item.uid == switchUniqueID and item.itemid == switch2ID then
				doTransformItem(item.uid,item.itemid-1)
			else
				doPlayerSendCancel(cid,"Sorry, you need to put the correct stuffs at the correct basins.")
			end
			else
			return 0
			end
		else
			doPlayerSendCancel(cid,"Sorry, all players in your team must to be level " .. questlevel .. ".")
		end
	else
		doPlayerSendCancel(cid,"Sorry, all 4 players must be on right positions.")
	end
	return 1
end

5. At the set time appears a statement on the server log.
I don't support spamming scripts, they higly anjoy me when I play somewhere, sorry.
It's simple, you can code it yourself, one tip: it's globalevent with event buffer

6. just put gate of expertise(dark brown door with golden parts) and use one of these action ids to do whatever you want:

100-150 vocation doors, 100 is for no vocation, 101 is vocation 1(sorc), 102 is druid, etc. code support promoted vocation also - set for paladin(aid 103) supports rp
151-180 group id doors, 151 is group 1, 152 is group 2, etc.
180-186 - skull doors (I've never used it so I have no idea how does it works)
186 - gender door - 0
187 - gender door - 1
188 - gender door - 2
189 - premium door
190-1000 - opens without any requirement
1001-1999 - level door
2000-2001 - actionid conflict with questsystem
bigger values - doesn't open returning message "only the worthy may pass"
 
Back
Top