BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

scritp quests varios tipos

scritp quests varios tipos

#1 scritp quests varios tipos el Sáb Mar 08, 2014 3:59 pm

Pancho Guamas


Miembro
hola a todos vengo pedir 1 scritp donde permita abrir 4 cofres que den items los que eliga yo y 1 donde al usarlo te ponga la 3era promotion como ejemplo warrior etc

pero que esos 5 cofres solo puedas usar si quieres la promotion pues solo ese que no puedas agarrar los 4 cofres que serian los items si agarras 1 de los items no puedas usar la de promotion etc

espero no molestar es algo sencillo si supiera de.lua lo crearia pero soy noob para eso xD

gracias y espero respuesta

#2 Re: scritp quests varios tipos el Sáb Mar 08, 2014 4:04 pm

Belerofonte


Administrador
Servidor/Data/Actions/Actions.xml:
Código:
<action actionid="9171" uniqueid="9172;9173;9174;9175;9176" event="script" value="chest items promo.lua"/>
Pones el mismo ActionID en todos los 5 cofres y en cada uno cada UniqueID.

Servidor/Data/Actions/Scripts/chest items promo.lua:
Código:
local t = {
[9171] = { -- [ActionID de todos los cofres]
Chest = {
-- [UniqueID de los cofres con Items] = {ItemID, Cantidad del cual},
[9172]={2494, 1}, -- demon armor
[9173]={2646, 1}, -- Golden Boots
[9174]={8925, 1}, -- Solar Axe
[9175]={2527, 1} -- Rose Shield
},
Promo ={
[9176]={ -- [UniqueID del cofre de la Promotion]
Plid = {
[5]={9},
[6]={10},
[7]={11},
[8]={12}
}, -- [nº Group ID necesario]={nº Group ID que tendrán}
}
},
}
}
local Str = 80211 -- Storage Value que gustes.
function onUse(cid,item,fromPosition,itemEx,toPosition)
 local v = t[item.actionid]
 if v then
 local u = v.Promo[item.uid]
 if getPlayerStorageValue(cid,Str) ~= 1 then
 local c = v.Chest[item.uid]
 if c then
  doPlayerAddItem(cid,c[1],c[2])
  doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found " .. c[2] .. " " .. getItemNameById(c[1]) .. "!")
  setPlayerStorageValue(cid,Str,1)
 end
 if u then
 if u.Plid[getPlayerVocation(cid)] then
  doPlayerSetVocation(cid, u.Plid[getPlayerVocation(cid)][1])
  doSendMagicEffect (getThingPos(cid), CONST_ME_GIFT_WRAPS)
  doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Now you have set the Third Promotion!")
  setPlayerStorageValue(cid,Str,1)
 else
  doPlayerSendCancel(cid,"You need get the Second Promotion!")
 end
 end
 else
  doPlayerSendCancel(cid,"It is empty.")
  doSendMagicEffect (getThingPos(cid), CONST_ME_POFF)
 end
 end
return true
end

Y en esta parte editas los itemds que quieres que se reciba y la cantidad o cambiar el ActionID/UniqueID de los cofres aparte de también cambiarlos en la línea del Actions.xml anterior.
Código:
Chest = {
-- [UniqueID de los cofres con Items] = {ItemID, Cantidad del cual},
[9172]={2494, 1}, -- demon armor
[9173]={2646, 1}, -- Golden Boots
[9174]={8925, 1}, -- Solar Axe
[9175]={2527, 1} -- Rose Shield



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]

#3 Re: scritp quests varios tipos el Vie Mar 14, 2014 12:11 am

Amy Azzkaban


Miembro
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Servidor/Data/Actions/Actions.xml:
Código:
<action actionid="9171" uniqueid="9172;9173;9174;9175;9176" event="script" value="chest items promo.lua"/>
Pones el mismo ActionID en todos los 5 cofres y en cada uno cada UniqueID.

Servidor/Data/Actions/Scripts/chest items promo.lua:
Código:
local t = {
[9171] = { -- [ActionID de todos los cofres]
Chest = {
-- [UniqueID de los cofres con Items] = {ItemID, Cantidad del cual},
[9172]={2494, 1}, -- demon armor
[9173]={2646, 1}, -- Golden Boots
[9174]={8925, 1}, -- Solar Axe
[9175]={2527, 1} -- Rose Shield
},
Promo ={
[9176]={ -- [UniqueID del cofre de la Promotion]
Plid = {
[5]={9},
[6]={10},
[7]={11},
[8]={12}
}, -- [nº Group ID necesario]={nº Group ID que tendrán}
}
},
}
}
local Str = 80211 -- Storage Value que gustes.
function onUse(cid,item,fromPosition,itemEx,toPosition)
 local v = t[item.actionid]
 if v then
 local u = v.Promo[item.uid]
 if getPlayerStorageValue(cid,Str) ~= 1 then
 local c = v.Chest[item.uid]
 if c then
  doPlayerAddItem(cid,c[1],c[2])
  doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found " .. c[2] .. " " .. getItemNameById(c[1]) .. "!")
  setPlayerStorageValue(cid,Str,1)
 end
 if u then
 if u.Plid[getPlayerVocation(cid)] then
  doPlayerSetVocation(cid, u.Plid[getPlayerVocation(cid)][1])
  doSendMagicEffect (getThingPos(cid), CONST_ME_GIFT_WRAPS)
  doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Now you have set the Third Promotion!")
  setPlayerStorageValue(cid,Str,1)
 else
  doPlayerSendCancel(cid,"You need get the Second Promotion!")
 end
 end
 else
  doPlayerSendCancel(cid,"It is empty.")
  doSendMagicEffect (getThingPos(cid), CONST_ME_POFF)
 end
 end
return true
end

Y en esta parte editas los itemds que quieres que se reciba y la cantidad o cambiar el ActionID/UniqueID de los cofres aparte de también cambiarlos en la línea del Actions.xml anterior.
Código:
Chest = {
-- [UniqueID de los cofres con Items] = {ItemID, Cantidad del cual},
[9172]={2494, 1}, -- demon armor
[9173]={2646, 1}, -- Golden Boots
[9174]={8925, 1}, -- Solar Axe
[9175]={2527, 1} -- Rose Shield

Belerofonte, y para que solamente de los items?

#4 Re: scritp quests varios tipos el Vie Mar 14, 2014 5:44 am

Belerofonte


Administrador
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Belerofonte, y para que solamente de los items?

De esos ya hay muchos por el Foro s:

He de deducir que lo quieres tal cual está hecho pero sin la promo, es decir, que solamente se pueda escojer un objeto de los cuatro cofres... (¿?)
Servidor/Data/Actions/Actions.xml:
Código:
<action uniqueid="5981;5982;5983;5984" event="script" value="NombreQueGustes.lua"/>
Servidor/Data/Actions/Scripts/NombreQueGustes.lua:
Código:
local t = {
-- [UniqueID] = {ItemID, Cantidad del cual},
[5981]={2494, 1}, -- demon armor
[5982]={2646, 1}, -- Golden Boots
[5983]={8925, 1}, -- Solar Axe
[5984]={2527, 1}, -- Rose Shield
}
local Str = 80213 -- Storage Value que gustes.
function onUse(cid,item,fromPosition,itemEx,toPosition)
 local v = t[item.uid]
 if v then
 if getPlayerStorageValue(cid,Str) ~= 1 then
  doPlayerAddItem(cid,v[1],v[2])
  doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found " .. v[2] .. " " .. getItemNameById(v[1]) .. "!")
  setPlayerStorageValue(cid,Str,1)
 else
  doPlayerSendCancel(cid,"It is empty.")
  doSendMagicEffect (getThingPos(cid), CONST_ME_POFF)
 end
 end
return true
end

Lo mismo explicado anteriormente olvidando el ActionID, solamente le pones a cada cofre cada UniqueID hayado en [ ] de dentro del script y los de la línea del Actions.xml que son los mismos.



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]

#5 Re: scritp quests varios tipos el Vie Mar 14, 2014 11:00 am

Amy Azzkaban


Miembro
Muchas gracias justamente eso necesitaba.

Like.

#6 Re: scritp quests varios tipos Hoy a las 5:51 pm

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 .