BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

[Pedido/Resuelto] scripts de teleport

[Pedido/Resuelto] scripts de teleport

#1 [Pedido/Resuelto] scripts de teleport el Vie Mayo 13, 2016 3:03 pm

Ashley10


Novato
Hola amigos, bueno lo que necesito es un scritps que al pisar un piso te haga tp pero que te cobre al viajar

de lvl 10 a 100 1k

de lvl 101 a 200 2k

y asi, lo busque por varios foro y no lo consegui si alguien me ayuda o me pasa un link, muchas gracias y disculpen :*

#2 Re: [Pedido/Resuelto] scripts de teleport el Vie Mayo 13, 2016 7:25 pm

niconico


Novato
movements.xml
Código:
<movement type="StepIn" actionid="1650" event="script" value="piso.lua"/>

script
Código:

function onStepIn(cid, item, position, fromPosition)
local costo = 0
local level = getPlayerLevel(cid)
if level >= 1 and level <= 100 then
costo = 1000
elseif level >= 101 and level <= 200 then
costo = 2000
end
local destino = {x=1000,y=1000,z=7}

if isPlayer(cid) then
if getPlayerMoney(cid) < costo then
doTeleportThing(cid, fromPosition, true)
doPlayerSendCancel("You have not enough money.")
return true
end
doTeleportThing(cid, destino, true)
doPlayerSendTextMessage(cid,27,"Has viajado por "..costo.." gold coins.")
end
   
return true
end


Dame mi reputacion O vamo a bailar

http://pokelatino.sytes.net

#3 Re: [Pedido/Resuelto] scripts de teleport el Vie Mayo 13, 2016 8:09 pm

Belerofonte


Administrador
O si vas a poner más niveles con más dinero, para que tengas que editar menos...
Código:
 local conf, place = {
  -- [{Nivel mínimo, Nivel máximo}] = {Dinero a pagar contado en Gold Coins},
    [{10, 100}] = {1000},
    [{100, 200}] = {2000},
    [{200, 300}] = {3000},
    [{300, 400}] = {4000},

  }, {x = 839, y = 979, z = 7} -- Lugar hacia donde llevará.

function onStepIn(cid, item, position, fromPosition, itemEx, toPosition)
    if isPlayer(cid) then
        for k, v in pairs(conf) do
            if getPlayerLevel(cid) > k[1] and getPlayerLevel(cid) <= k[2] then
                if getPlayerMoney(cid) >= v[1] then
                    doTeleportThing(cid, place)
                    doPlayerRemoveMoney(cid, v[1])
                    doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
                    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You've traveled by " .. v[1] .. " gold coins.")
                 else
                    doTeleportThing(cid, fromPosition, false)
                    doPlayerSendCancel(cid, "You haven't " .. (getPlayerMoney(cid) ~= 0 and "enough money" or "money") .. ".")
                    doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "It costs " .. v[1] .. (getPlayerMoney(cid) ~= 0 and ". So you need " .. (v[1] - getPlayerMoney(cid)) .. " gold coin" .. (v[1] - getPlayerMoney(cid) > 1 and "s" or "") .. " more." or " gold coins."))
                end
                break
            end
        end
    end
    return true
end

Copia y pega esas líneas editando sus parámetros:
Código:
   [{500, 600}] = {6000},


Estaba trabajando en una fórmula aritmética para que se detecte el dinero a pagar automáticamente sin que haga falta poner ni cada nivel ni el dinero, pero... cambiaría algunos factores, como que:

Si por ejemplo el jugador tiene un nivel comprendido entre:
10 y 99, tendrá que pagar: 1000. (1k)
100 y 199, tendrá que pagar: 2000. (2k)
200 y 299, tendrá que pagar: 3000. (3k)
300 y 399, tendrá que pagar: 4000. (4k)
...
900 y 999, tendrá que pagar: 10000. (10k)
1000 y 1999, tendrá que pagar: 20000. (20k)
2000 y 2999, tendrá que pagar: 30000. (30k)
3000 y 3999, tendrá que pagar: 40000. (40k)
...
9000 y 9999, tendrá que pagar: 100000. (100k)
10000 y 19999, tendrá que pagar: 200000. (200k)
20000 y 29999, tendrá que pagar: 300000. (300k)
30000 y 39999, tendrá que pagar: 400000. (400k)
...
90000 y 99999, tendrá que pagar: 1000000. (1kk)
100000 y 199999, tendrá que pagar: 2000000. (2kk)
200000 y 299999, tendrá que pagar: 3000000. (3kk)
300000 y 399999, tendrá que pagar: 4000000. (4kk)
...y así sucesivamente hasta el nivel máximo.

No sé si es así como lo querrías una vez llegado a esas altas cantidades de nivel.

Y, como pusiste de nivel mínimo 10... ¿eso quiére decir que los jugadores que tengan menor a 10 entrarán gratis o directamente serán expulsados del portal?



Sugerencia para evitar futuros quebraderos de cabeza:
[Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo] - [Tienes que estar registrado y conectado para ver este vínculo]
[Tienes que estar registrado y conectado para ver esa imagen]

#4 Re: [Pedido/Resuelto] scripts de teleport el Sáb Mayo 14, 2016 8:00 pm

Ashley10


Novato
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Y, como pusiste de nivel mínimo 10... ¿eso quiére decir que los jugadores que tengan menor a 10 entrarán gratis o directamente serán expulsados del portal?

Lo que quiero es que cobre a todos, puse 10 porque en mi ot es el nivel mínimo, pero puedo poner de lvl 1 a 50 y asi muchas gracias a los 2 lo voy a probar y les aviso que tal me fue :*

#5 Re: [Pedido/Resuelto] scripts de teleport el Dom Mayo 15, 2016 4:46 pm

Ashley10


Novato
Me funciono al 100% muchas gracias, pueden cerrar el post

Contenido patrocinado


Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.

 

¿Quién está en línea?

En total hay 1 usuario en línea: 0 Registrados, 0 Ocultos y 1 Invitado

Usuarios navegando en este foro: Ninguno

Forum Statistics

Nuestros miembros han públicado un total de posts en temas.
Actualmente hay miembros registrados.
Démosle la bienvenida al miembro más reciente,
La mayor cantidad de usuarios en línea ha sido de .