BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Una quest que se abra varias veces

Una quest que se abra varias veces

#1 Una quest que se abra varias veces el Dom Ago 24, 2014 11:05 am

Maxes


Estudiante
Como puedo hacer una quest que de el items muchas veces y que cuando le de click me teletrasporte al templo, asi como un evento de apuestas el que gane le da click al cofre y lo mande al templo ya con el premio,

#2 Re: Una quest que se abra varias veces el Dom Ago 24, 2014 11:10 am

Kaiser


OTX Developer
sustituye la funcion de storage por la funcion de teleport



[Tienes que estar registrado y conectado para ver esa imagen]

#3 Re: Una quest que se abra varias veces el Dom Ago 24, 2014 11:30 am

Maxes


Estudiante
tengo este mira pero cuando le dan mucho click se lagea por q da error en la consola

data/actions/scripts/miniquest.lua:onUse
Description:
(LuaInterface::luaDoCreatureSetStorage) Creature not found



Código:
local questStor = 22267
local items = {5880,}
function onUse(cid, item, fromPos, itemEx, toPos)
if getPlayerStorageValue(cid, questStor) ~= 1 then
 doPlayerSendTextMessage(cid,22,msg)
for i = 1, #items do
doPlayerAddItem(cid, items[i], 3)
doCreatureSay(cid, 'Termine el evento!', TALKTYPE_MONSTER)
end
setPlayerStorageValue(questStor, 1)
else
doPlayerSendTextMessage(cid, 22,msgDone)
end
return true
end

#4 Re: Una quest que se abra varias veces el Dom Ago 24, 2014 3:01 pm

DavidR


Moderador
Código:
function onUse(cid, item, fromPosition, toPosition)
local tp = {x = 123, y = 456, z = 7} --Posición a la que será llevado
local obj = 2160 --ID del objeto que dará
local cant = 50 --Cantidad de objeto que dará

   doPlayerAddItem(cid, obj, cant)
   doCreatureSay(cid, 'Termine el evento!', TALKTYPE_MONSTER)
   doTeleportThing(cid, tp)
   doSendMagicEffect(getPlayerPosition(cid), CONST_ME_TELEPORT)
   doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "You have been rewarded with x"..cant.." "..getItemNameById(ojb)..".")
return true
end

http://www.blacktibia.org/

#5 Re: Una quest que se abra varias veces el Dom Ago 24, 2014 7:20 pm

El Loco Danny


Miembro
@Up
Buen script, pero seria mejor si al querer tomar el item tomara  en cuenta la capacidad que tiene el player, ya que si no tiene capacidad tira el item al suelo sin aviso.

@Tema
Lo acabo de hacer, esta hecha de forma mas simple, ademas de que si no tienes capacidad te avisa.
Código:
local reward = { -- [ACA es el UniqueId de la palanca] = {ITEMID, CANTIDAD}
    [8531] = {2160, 10},
    [8532] = {2160, 30},
    [8533] = {2160, 50},
    [8534] = {2160, 70},
    [8535] = {2160, 90},
    [8536] = {2160, 100},
    [8537] = {2160, 100},
    [8538] = {2160, 100},
}
function onUse(cid, item, fromPosition, itemEx, toPosition)
    local msgCap = "Necesitas "..getItemWeightById(rw[1], rw[2]).." de capacidad para poder agarrar este objeto!." -- El mensaje que recibira si no tiene capacidad para obtener el item
    local msg = "Has elegido obtener: "..rw[2].." "..getItemNameById(rw[1]).."." -- Mensaje que recibira el jugador despues de agarrar el item elegido, ejemplo "Has elegido obtener 1 crystal coin
    local rw = reward[item.uniqueid]
    if rw then
         if getPlayerFreeCap(cid) >= (getItemWeightById(rw[1], rw[2])) then
             doPlayerAddItem(cid, rw[1], rw[2])
             doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
    doSendMagicEffect(getTownTemplePosition(getPlayerTown(cid)), 10)
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)    
            else
        doSendMagicEffect(getCreaturePosition(cid), 2)
        doPlayerSendCancel(cid, msgCap)
    end
    return true
end
end

NOTA: No habra necesidad de poner coordenadas ya que el jugador sera enviado a el templo de donde sea residente.
Pero en caso de que quieras poner coordenadas
Spoiler:
Sustituye esta linea:
Código:
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

Por esta linea:
Código:
doTeleportThing(cid, {x=1000, y=1000, z=7})

Y finalmente en Action.xml:
Código:
<action uniqueid="8531-8538" event="script" value="archivo.lua"/>

Bien, tienes que tomar en cuenta esto:
El cofre con el uniqueid 8531 es el que te dara 10 crystal coins (2160, 10) .
El cofre con el uniqueid 8532 es el que te dara 30 crystal coins (2160, 30) .
El cofre con el uniqueid 8533 es el que te dara 50 crystal coins (2160, 50) .
Y asi sucesivamente (es solo un ejemplo, podria ser con cualquier otro item).

#6 Re: Una quest que se abra varias veces el Lun Ago 25, 2014 2:10 pm

Maxes


Estudiante
gracias a todos, me sirvio el de DavidR

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 0 usuarios en línea: 0 Registrados, 0 Ocultos y 0 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 .