What's new

-Skrypt Train room system

Status
Not open for further replies.

panczo 1995

Advanced User
Joined
Apr 5, 2009
Messages
383
Reaction score
13
potrzebuje skryptu ktory po nacisnieciu na drzwi przeteleportuje nas do training roomu i przy tym jeszcze wyskoczy jakis napis za pomoc rep :)
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

Zr?b w data/actions/scripts plik drzwi.lua i wklej do niego:

Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)


	local position = {x = 1000, y = 1000, z = 7}  --- pozycja gdzie ma teleportowac
	local napis = "Welcome in Training Room!"     --- napis jaki ma sie wyswietlac


	doTeleportThing(cid, position, TRUE)
	doCreatureSay(cid, napis, TALKTYPE_ORANGE_1)

	return TRUE
end

Ustaw w RME action_id tych drzwi na np. 9993 i wklej do actions.xml to:

Code:
<action actionid="9993" script="drzwi.lua"/>
 

panczo 1995

Advanced User
Joined
Apr 5, 2009
Messages
383
Reaction score
13
Odp: Train room system

Nie do konca mi o to chodzilo bo do kazdych drzwi bede musial robic osobno skrypt nie da sie jaos latwiej tego rozpisac zeby wszystko bylo w 1 skrypcie i bez pozycji?
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

Nie wiem czy dok?adnie o to chodzi?o, ale zrobi?em tak, ?e je?li klikniemy na drzwi znajduj?ce si? na p??noc od nas to teleportuje nas 1 kratk? za drzwi, je?li na po?udnie to 1 kratk? do do?u od drzwi i tak dalej:


Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)

	local napis = "Welcome in Training Room!"     --- napis jaki ma sie wyswietlac

	local poz = getCreaturePosition(cid)
		if (poz.y-1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y-1, z=toPosition.z}
		elseif (poz.y+1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y+1, z=toPosition.z}
		elseif (poz.x+1 == toPosition.x) then
			pozycja = {x=toPosition.x+1, y=toPosition.y, z=toPosition.z}
		elseif (poz.x-1 == toPosition.x) then
			pozycja = {x=toPosition.x-1, y=toPosition.y, z=toPosition.z}
		end
		
	
	doTeleportThing(cid, pozycja, TRUE)
	doSendMagicEffect(pozycja, 10)
	doCreatureSay(cid, napis, TALKTYPE_ORANGE_1)


	return true
end
 

panczo 1995

Advanced User
Joined
Apr 5, 2009
Messages
383
Reaction score
13
Odp: Train room system

O to wlasnie chodzilo super wszystko dziala tylko jeszcze mala prosba mozesz do tego dodac ze jak skonczymy trenowac i nacisniemy na drzwi aby wyjsc to pojawi sie napis i teleportuje nas na dana pozycje? :)
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)

	local napis_wejscie = "Welcome in Training Room!"     --- napis jaki ma sie wyswietlac przy wejsciu
	local napis_wyjscie = "Good training!"    		--- napis jaki ma sie wyswietlac przy wyjsciu
	local exit = {x=1000, y=1000, z=7}  	       --- gdzie ma nas teleportowac po wyjsciu

if (getTilePzInfo(fromPosition) == true) then 

	local poz = getCreaturePosition(cid)
		if (poz.y-1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y-1, z=toPosition.z}
		elseif (poz.y+1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y+1, z=toPosition.z}
		elseif (poz.x+1 == toPosition.x) then
			pozycja = {x=toPosition.x+1, y=toPosition.y, z=toPosition.z}
		elseif (poz.x-1 == toPosition.x) then
			pozycja = {x=toPosition.x-1, y=toPosition.y, z=toPosition.z}
		end
		
	
	doTeleportThing(cid, pozycja, true)
	doSendMagicEffect(pozycja, 10)
	doCreatureSay(cid, napis_wejscie, TALKTYPE_ORANGE_1)
else

	doTeleportThing(cid, exit, true)
	doSendMagicEffect(pozycja, 10)
	doCreatureSay(cid, napis_wyjscie, TALKTYPE_ORANGE_1)
end
	return true
end

Mo?e tak. Je?li jeste?my w pz to teleportuje nas do training roomu, ale je?li jeste?my poza pz, to po klikni?ciu teleportuje nas na dan? pozycj?.
 

panczo 1995

Advanced User
Joined
Apr 5, 2009
Messages
383
Reaction score
13
Odp: Train room system

A da rade jakos zrobic bez tego pz? bo np przy jednych drzwiach dziala normalnie wrzuca nas do training romu i wyrzuca na pozycje a np przy 2 wrzuca do training romu i wyrzuca przed niego caly czas z tym 1 napisem ;/
 

panczo 1995

Advanced User
Joined
Apr 5, 2009
Messages
383
Reaction score
13
Odp: Train room system

Refresh! jest ktos w stanie zrobic ten skrypt?
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

Poka? na screenie jak wygl?da przyk?adowy kawa?ek training roomu, tylko ?eby by?o wida? drzwi.
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

Wsz?dzie poza train roomem z potworami (za drzwiami), jest protection zone?
 

De$t

Active User
Joined
Nov 20, 2008
Messages
148
Reaction score
27
Odp: Train room system

W takim razie nie wiem czemu nie dzia?a Ci skrypt UP, ale mo?esz spr?bowa? doda? drugi warunek, ale nie wiem czy co? to da:


Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)

	local napis_wejscie = "Welcome in Training Room!"     --- napis jaki ma sie wyswietlac przy wejsciu
	local napis_wyjscie = "Good training!"    		--- napis jaki ma sie wyswietlac przy wyjsciu
	local exit = {x=1000, y=1000, z=7}  	       --- gdzie ma nas teleportowac po wyjsciu

if (getTilePzInfo(fromPosition) == true) then 

	local poz = getCreaturePosition(cid)
		if (poz.y-1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y-1, z=toPosition.z}
		elseif (poz.y+1 == toPosition.y) then
			pozycja = {x=toPosition.x, y=toPosition.y+1, z=toPosition.z}
		elseif (poz.x+1 == toPosition.x) then
			pozycja = {x=toPosition.x+1, y=toPosition.y, z=toPosition.z}
		elseif (poz.x-1 == toPosition.x) then
			pozycja = {x=toPosition.x-1, y=toPosition.y, z=toPosition.z}
		end
		
	
	doTeleportThing(cid, pozycja, true)
	doSendMagicEffect(pozycja, 10)
	doCreatureSay(cid, napis_wejscie, TALKTYPE_ORANGE_1)
        return true
elseif (getTilePzInfo(fromPosition) == false) then 

	doTeleportThing(cid, exit, true)
	doSendMagicEffect(pozycja, 10)
	doCreatureSay(cid, napis_wyjscie, TALKTYPE_ORANGE_1)
end
	return true
end
 
Status
Not open for further replies.
Top