Item teleportuj?cy do temple - full konfiguracja

Status
Zamknięty.

Tako Dako

User
Zarejestrowany
Dołączył
Maj 20, 2009
Posty
35
Liczba reakcji
5
Po prostu przedmiot odsy?aj?cy gracza do temple lub okre?lonej pozycji. Do tego (jak poprzednio) pe?na konfiguracja.

Changelog:
Kod:
[B]0.1.0[/B]
[LIST]
[*]Teleportuje do temple tylko je?li nie mamy battle
[*]Teleportuje do temple lub okre?lonej pozycji
[*]Ko?czy/nie ko?czy si?
[*]Konfigurowalne efekty magiczne
[*]Konfigurowalna wiadomo?? w przypadku pr?by tp z battle
[/LIST]

[B]0.1.1[/B]
[LIST]
[*]Skr?cony kod
[/LIST]

Skrypt 100% m?j, wymy?lony pod prysznicem :D, zezwalam na edycj? i udost?pnianie gdziekolwiek pod warunkiem podania autora.

My?l?, ?e nie musz? t?umaczy? 'jak to przerobi?' bo w configu jest chyba wszystko co si? da?o.

WERSJA 0.1.0

tpitem.lua
Kod:
-- By Tako Dako AKA Avixu

local config = {
-- Teleportacja tylko pod warunkiem, ze nie ma battle
-- 0 = Nie, 1 = Tak
teleportOnlyIfNoBattle = 1,

-- Teleportacja do temple (jesli nie, podaj pozycje nizej)
-- 0 = Nie, 1 = Tak
teleportToTemple = 1,

-- Teleportacja do okreslonej pozycji
teleportPosition = { x=95, y=95, z=7 },

-- Czy ma sie konczyc
-- 0 = Nie, 1 = Tak
removeItem = 0,

-- Efekt magiczny w miejscu uzycia
-- Numerek lub nazwa z constanta
startMagicEffect = 2,

-- Efekt magiczny w miejscu przeteleportowania
-- Numerek lub nazwa z constanta
destinationMagicEffect = 10,

-- Wiadomosc przy probie teleportacji z battle
-- Numerek lub nazwa z constanta albo wlasna
-- wiadomosc (musi byc w cudzyslowiach)
errorMessage = "You may not use teleportation while you have battle!"
}


function onUse(cid, item, fromPosition, itemEx, toPosition)
if config.teleportOnlyIfNoBattle == 1 then -- teleportacja tylko bez battle
  if getCreatureCondition(cid, 1024) == FALSE then -- jesli nie ma battle
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
          doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
          doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
      doTeleportThing(cid, config.teleportPosition) -- teleportuj
      doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
      doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
        if config.removeItem == 1 then -- jesli ma sie konczyc
          doRemoveItem(item.uid, 1) -- usun item
        else
          return FALSE
        end
        end
   else -- inaczej wyslij komunikat
    doPlayerSendCancel(cid, config.errorMessage)
    end
  else
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
          doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
          doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
      doTeleportThing(cid, config.teleportPosition) -- teleportuj
      doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
      doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
        if config.removeItem == 1 then -- jesli ma sie konczyc
          doRemoveItem(item.uid, 1) -- usun item
        else
          return FALSE
        end
      end
   end
end

WERSJA 0.1.1 - Nie dzia?a, prosz? na razie u?ywa? 0.1.0
Kod:
-- By Tako Dako AKA Avixu
-- v 0.1.1

local config = {
-- Teleportacja tylko pod warunkiem, ze nie ma battle
-- 0 = Nie, 1 = Tak
teleportOnlyIfNoBattle = 1,

-- Teleportacja do temple (jesli nie, podaj pozycje nizej)
-- 0 = Nie, 1 = Tak
teleportToTemple = 1,

-- Teleportacja do okreslonej pozycji
teleportPosition = { x=95, y=95, z=7 },

-- Czy ma sie konczyc
-- 0 = Nie, 1 = Tak
removeItem = 0,

-- Efekt magiczny w miejscu uzycia
-- Numerek lub nazwa z constanta
startMagicEffect = 2,

-- Efekt magiczny w miejscu przeteleportowania
-- Numerek lub nazwa z constanta
destinationMagicEffect = 10,

-- Wiadomosc przy probie teleportacji z battle
-- Numerek lub nazwa z constanta albo wlasna
-- wiadomosc (musi byc w cudzyslowiach)
errorMessage = "You may not use teleportation while you have battle!"
}

function teleportToTemple(cid, item, fromPosition, itemEx, toPosition)
 doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
 doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
 doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
end
 
function teleportToPosition(cid, item, fromPosition, itemEx, toPosition)
 doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
 doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
 doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
end

function onUse(cid, item, fromPosition, itemEx, toPosition)
if config.teleportOnlyIfNoBattle == 1 then -- jesli ma teleportowac tylko bez battle
  if getCreatureCondition(cid, 1024) == FALSE then -- jesli nie ma battle
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          return teleportToTemple -- zwroc funkcje teleportToTemple
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
          return teleportToPosition -- zwroc funkcje teleportToPosition
          doRemoveItem(item.uid, 1) -- usun item
        else
          return FALSE
        end
        end
   else -- inaczej wyslij komunikat
    doPlayerSendCancel(cid, config.errorMessage)
    end
  else
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          return teleportToTemple -- zwroc funkcje teleportToTemple
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
          return teleportToPosition -- zwroc funkcje teleportToPosition
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
             return FALSE
        end
      end
   end
end

actions.xml
Kod:
<action itemid="[B][COLOR="Red"]ID ITEMKA[/COLOR][/B]" script="tpitem.lua" />

Pozdro ^^
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Skrypt zajebisty ;D. Wi?cej takich poradnik?w.. 10/10
Zaraz id? do swojego Otsa doda?..
Mam pytanie..skrypt zadzia?a na silnik (tibie) 8.1 ?
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Nie no Good Job Man dzieki za skrypcik ; d napewno go dodam do swego ots jol reput :P
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Skrypt i pomysl bardzo dobry. To objasnienie tez dobre. Tylko 2 B?edy, Misnowicie: Zaduzo najebane za duzo objasnien, 60% skryptu to znaki ktorych nie czyta sever a zpowalniaja go bardzo chodzby ten skrypt o 60% a gdy caly ots ma we wszystkim tego najebane w chuj to co zrobic ? pochlastac sie idzie... przeciez wtedy ots chodzi o 60%-80% wolniej. Ja tam na swoim TFS nie sciagalem silnika tylko sucorce i usunolem all te zbedne napisy i moge powiedziec ze dziala zajebiscie ;](p's w skryptach mam tez usunolem all te przykladowe --skrypt by ktos tam. to zpowalnia bardzo tak wiec muj server ciagnie 100 bez najmniejszych lagow. Porownanie ? Moj server startuje w 1.34.26 (min.sec.set sec) a Zwykly TFS Ktory ma mniejsza mape niz moja i mniej skryptow i prostrze wczytuje sie kolo 3-4 min.:D:D:D:D:D:D:D


#Zwieha PozdrO​
 
Odp: Item teleportuj?cy do temple - full konfiguracja

@up
Komentarze nie s? widziane przez serwer, mo?e by? ich 666 linijek i 3 liniki kodu i nic to nie zmieni :) A te obja?nienia to mia?y by? dla mnie i mia?em to usun?? ale by?o p??no i ju? nie mia?em czasu ;3

@topic
Za nied?ugo wersja 0.2 Tales of hidden temple ^^
Mam zamiar doda?:
TP za GP/Soule/Mane/HP/Itemek
TP tylko dla premium
TP tylko dla tych z promocj?
TP tylko dla tych co zrobili okre?lony quest
TP tylko dla okre?lonych profesji
TP tylko dla okre?lonego access i wzwy?

:D

@Liptonik
Skrypt zadzia?a na ka?dym TFSie, je?li masz Evo to trzeba pozmienia? conieco, zaraz Ci wrzuc?.
 
Odp: Item teleportuj?cy do temple - full konfiguracja

?adny skrypt na pewno si? przyda zaraz wypr?buje w ots ;] repucik leci GZ dla ciebie ;]:rolleyes:
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Spoko, pjona. Obejrzycie r?wnie? inne moje skrypty (w podpisie) :D

@edit
2 posty wy?ej wymieni?em funkcje kt?re chc? doda?
No i mam pytanie, kt?re s? Wam najbardziej potrzebne?
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Czy ten skrypt b?dzie dzia?a? na Evo 8.10 ??
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Skrocona wersja? Moze wez moja :D

PHP:
local config = {	
		teleportOnlyIfNoBattle = false, -- Battle: Teleportuj, gdy jest w walce = true, Teleportuj, gdy nie jest w walce = false	
		teleportToTemple = 0, -- Teleportacja do temple (jesli nie, podaj pozycje nizej) Nie = 0, Tak = 1	
		teleportPosition = { x=1050, y=1000, z=7 }, -- Teleportacja do okreslonej pozycji	
		removeItem = 1 -- Czy ma sie konczyc 0 = Nie, 1 = Tak
	}
function onUse(cid, item, fromPosition, itemEx, toPosition)
		if(getCreatureCondition(cid, CONDITION_INFIGHT) == config.teleportOnlyIfNoBattle) then
			if config.teleportToTemple == 1 then
				doTeleportThing(cid, getPlayerMasterPos(cid))
			else
				doTeleportThing(cid, config.teleportPosition)
			end
				doSendMagicEffect(fromPosition, CONST_ME_POFF)
				doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
				doRemoveItem(item.uid, config.removeItem)
		else
			doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Sorry, you can not use this rune.")
		end		
		return true
	end
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Dobry skrypt, ale nie na RPG... i szczerze bardzo podobny jest w silniku roxor'a, tyle ?e bez konfiguracji (nie zmierzam do tego ?e go skopiowa?e?, ale do tego ?e tego typu skrypt?w jest bardzo du?o) ... I co do pyta? "Czy b?dzie dzia?a? na evo?" to nie, skrypt zdecydowanie jest pisany na TFS'a.

Pozdrawiam,
Sassin
 
Ostatnia edycja:
Odp: Item teleportuj?cy do temple - full konfiguracja

Skrypt jest bardzo fajny i przydatny. Dobrze ,ze to wymysliles bo wlasnie tego szukalem ;) dzieki 10/10
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Skrup bardzo fajny POLECAM!
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Witam wszystkich ;) Ja mam taki ma?y problem z tym skryptem.. Zapewne jest to b?aha sprawa, aczkolwiek do ko?ca nie wiem jak j? rozwi?za?. Tak wi?c, gdy u?ywam mojego przedmiotu w grze, pokazuje mi si? taki b??d :
Kod:
Lua Script Error: [Action Interface] 
data/actions/scripts/tpitem.lua:onUse

data/actions/scripts/tpitem.lua:15: attempt to call global 'getTownTemplePosition' (a nil value)
stack traceback:
	data/actions/scripts/tpitem.lua:15: in function <data/actions/scripts/tpitem.lua:11>
(rzecz jasna, w konsoli)

A m?j skrypt wygl?da nast?puj?co :
Kod:
-- By Tako Dako AKA Avixu
local config = {
teleportOnlyIfNoBattle = 1,
teleportToTemple = 1,
teleportPosition = { x=1479, y=2020, z=7 },
removeItem = 0,
startMagicEffect = 1,
destinationMagicEffect = 10,
errorMessage = "You may not use teleportation while you have battle!"
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
if config.teleportOnlyIfNoBattle == 1 then -- teleportacja tylko bez battle
  if getCreatureCondition(cid, 1024) == FALSE then -- jesli nie ma battle
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
          doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
          doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
      doTeleportThing(cid, config.teleportPosition) -- teleportuj
      doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
      doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
        if config.removeItem == 1 then -- jesli ma sie konczyc
          doRemoveItem(item.uid, 1) -- usun item
        else
          return FALSE
        end
        end
   else -- inaczej wyslij komunikat
    doPlayerSendCancel(cid, config.errorMessage)
    end
  else
    if config.teleportToTemple == 1 then -- jesli ma teleportowac do temple
          doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) -- teleportuj do temple
          doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
          doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
            if config.removeItem == 1 then -- jesli ma sie konczyc
              doRemoveItem(item.uid, 1) -- usun item
            else
              return FALSE
            end
    else -- jesli ma teleportowac w okreslone miejsce
      doTeleportThing(cid, config.teleportPosition) -- teleportuj
      doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), config.destinationMagicEffect) -- daj efekt na miejscu
      doSendMagicEffect(toPosition, config.startMagicEffect) -- daj efekt na poczatku
        if config.removeItem == 1 then -- jesli ma sie konczyc
          doRemoveItem(item.uid, 1) -- usun item
        else
          return FALSE
        end
      end
   end
end
 
Odp: Item teleportuj?cy do temple - full konfiguracja

Kod:
-- Item teleporting to temple by Avixu
-- Dedicated for TFS 0.3.5PL2

local config = {
  teleportOnlyIfNoBattle = 1,
  teleportToTemple = 1, -- set on 0 if you want to use own position (teleportPosition)
  teleportPosition = { x=95, y=95, z=7 },
  removeItem = 1,
  startMagicEffect = 2,
  destinationMagicEffect = 10,
  haveBattleMessage = "You may not use teleportation while you have battle!",
  minLevel = 100, -- set on 0 to disable
  levelTooLowMessage = "Your level is too low."
}

function onUse(cid, item, fromPosition, itemEx, toPosition)
  if config.teleportOnlyIfNoBattle == 1 then
    if getCreatureCondition(cid, 1024) == TRUE then
      doPlayerSendCancel(cid, config.haveBattleMessage)
      return FALSE
    end
  end
  
  if config.minLevel > 0 then
    if getPlayerLevel(cid) < config.minLevel then
      doPlayerSendCancel(cid, config.levelTooLowMessage)
      return FALSE
    end
  end
    
  if config.teleportToTemple == 1 then
    doTeleportThing(cid, getPlayerMasterPos(cid))
  else
    doTeleportThing(cid, config.teleportPosition)
  end
  
  doSendMagicEffect(getCreaturePosition(cid), config.destinationMagicEffect)
  doSendMagicEffect(toPosition, config.startMagicEffect)
  
  if config.removeItem == 1 then
    doRemoveItem(item.uid, 1)
  end
end
 
Status
Zamknięty.
Back
Do góry