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

Teleport

Stecush123

New Member
Joined
Feb 2, 2011
Messages
22
Reaction score
0
Location
Poland
Witam, po raz kolejny ja. Jak zrobić teleport, po którym (po deadzie) logujemy się np. w Carlin? A np. przejde przez inny i po deadzie będę w Thais. Ogarniacie?D:
 
Zajrzyj do movements, tam znajdziesz skrypt o nazwie citizen/town.lua, odczytaj z niego formułkę i następnie ustaw odpowiedni action/unique/action+unique podłodze pod teleportem.
 
Pokaże ci przykład na tym, że klika się na statuetkę.


Action\scripts\miasto1.lua
Lua:
	function onUse(cid, item, frompos, item2, topos)

tile_x = 757 
tile_y = 290 ------------- To gdzie stoi statuetka
tile_z = 9

cTem_x = 751
cTem_y = 297 ---------- Tu gdzie masz sie pojawiac po dedzie
cTem_z = 9

msg = "Zostales obywatelem miasta x!"

templeP = {x=cTem_x, y=cTem_y, z=cTem_z}
tileP = {x=tile_x, y=tile_y, z=tile_z}
pPos = getPlayerPosition(cid)

  check = checkPos(tileP, pPos)
  if check == 1 then
     doPlayerSetTown(cid,10)
     checkSw(item)
     doTeleportThing(cid, templeP)
     doSendMagicEffect(templeP, 10)
     doPlayerSendTextMessage(cid, 20, msg)
  else
     doPlayerSendCancel(cid, "Ustan naprzeciwko Statuetki!")
  end

return 1
end

function checkPos(tileP, pPos)
  if tileP.x == pPos.x and tileP.y == pPos.y then
     return 1
  else
     return 0
  end
end

function checkSw(item)
  if item.itemid == 2711 then
     doTransformItem(item.uid, 2712)
  elseif item.itemid == 2712 then
     doTransformItem(item.uid, 2711)
  end
end

No i robisz pod każde miasto.

Action
Code:
<action uniqueid="14000" script="miasto1.lua" />

Stawiasz statuetke o Uniqueip 14000

Oczywiście możesz to zrobić pod każdy inny item/tp

y0
 
a może poprostu?

Code:
function onStepIn(cid, item, pos)

	if item.actionid == 3021 then
		doPlayerSendTextMessage(cid,22, "Ale z ciebie wariat.")
		doPlayerSetTown(cid,1)	
	
	elseif item.actionid == 3022 then
		doPlayerSendTextMessage(cid,22, "Ale z ciebie wariat.")
		doPlayerSetTown(cid,22)
	end

	return 1
end
 
Ale z ciebie wariat.
To jest kozackie;D

return 1
end

function checkPos(tileP, pPos)
if tileP.x == pPos.x and tileP.y == pPos.y then
return 1
else
return 0
end
end

function checkSw(item)
if item.itemid == 2711 then
doTransformItem(item.uid, 2712)
elseif item.itemid == 2712 then
doTransformItem(item.uid, 2711)
end
end

2711
2712
Co oznaczają te liczby ?
 
Last edited:
Aha:< bo nie pytam z ciekawości, tylko jak daje Statuetkę, podbiegam do niej, i obojętnie z której strony zajdę pisze mi "Ustan naprzeciwko Statuetki!". Oczywiście klikam na nią.
 
Last edited:
Code:
tile_x = 757 
tile_y = 290 ------------- To gdzie stoi statuetka
tile_z = 9
Nie pamiętam, tutaj może daj pozycję naprzeciwko tej statuetki a nie gdzie ona stoi.
 
Zaraz wytestuję:)

@edit.
O i dupa zbita, nie działa. Znaczy teleportuje się,pisze co ma pisać, ale po dedzie jednak wraca do TownID 1 czyli do temple:<

Wiem co by było dobre. Że po wejściu w np. TP ustawia, że po DEADzie np TownID 1+
 
Last edited:
Back
Top