BlackTibia

No estás conectado. Conéctate o registrate

 » Open Tibia » Pedido de Scripts » 

Script de Talkactions !hp y !mana Y NPC que venda item que te de mana o hp

Script de Talkactions !hp y !mana Y NPC que venda item que te de mana o hp

magebbe


Aprendiz
Buenas, En esta ocasión vengo a ver si me pueden ayudar con un script de talkactions para que los players puedan ver cuanta mana tienen diciendo !mana y la vida diciendo !hp

Y Otra cosita que necesito un npc que venga un item por 30 coins que yo colocaré el id del item que pedirá pero serán monedas que colocaré pero solo que los de un preciso monster y así y ya que ese doll te de hp y otro que de mana. Doy +rep. Gracias por su atención

magebbe


Aprendiz
Bump..!!

niconico


Novato
Talkacitons.xml
Código:
<talkaction words="/life;!life" script="life.lua" />

Life.lua
Código:
function onSay(cid, words, param)

doPlayerSendTextMessage(cid,27,"You have "..getCreatureHealth(cid).."/"..getCreatureMaxHealth(cid).." health and "..getCreatureMana(cid).."/"..getCreatureMaxMana(cid).." mana.") 

return TRUE
end

De "Y Otra cosita que necesito un npc que venga un item por 30 coins que yo colocaré el id del item" en adelante no te entendi nada por favor date a entender de una mejor manera.

Npc Que venda un item por 30 coins, tu pones los IDS.

NPC lua:
Código:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end


local item_coin = 2222 -- id de los coins
local item_a_canjear1 = 2223 -- item a canjear 1
local item_a_canjear2 = 2224
local costo_item_1 = 30 -- en coins
local costo_item_2 = 50

if(msgcontains(msg, 'offer') or msgcontains(msg, 'transfer')) then
selfSay('¿Qué Item quieres canjear? {Item1}, {Item2}!', cid)
talkState = 1
elseif(msgcontains(msg, 'no') and talkState == 1) then
selfSay('Adios entonces!', cid)
talkState = 0
elseif((msgcontains(msg, 'item1') or msgcontains(msg, 'Item1')) and talkState == 1) then
selfSay('Este item vale '..costo_item_1..' coins ok?', cid)
talkState = 2
elseif((msgcontains(msg, 'item2') or msgcontains(msg, 'Item2')) and talkState == 1) then
selfSay('Este item vale '..costo_item_2..' coins ok?', cid)
talkState = 3

elseif(msgcontains(msg, 'yes') and talkState == 2) then
if(doPlayerRemoveItem(cid, item_coin, costo_item_1) == true) then 
doPlayerAddItem(cid, item_a_canjear1, 1)
selfSay('Cambiado con éxito.', cid)
talkState = 1
else
selfSay('Al menos debes '..costo_item_1..' coins.', cid)
talkState = 1
end


elseif(msgcontains(msg, 'yes') and talkState == 3) then
if(doPlayerRemoveItem(cid, item_coin, costo_item_1) == true) then 
doPlayerAddItem(cid, item_a_canjear2, 1)
selfSay('Cambiado con éxito.', cid)
talkState = 1
else
selfSay('Al menos debes '..costo_item_2..' coins.', cid)
talkState = 1
end
 
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

NPC xml:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Alfredito" namedescription="Alfredito canjeo de coins" script="coins.lua" walkinterval="3500" floorchange="0" speed="0">
<health now="100" max="100"/>
<look type="358" head="95" body="114" legs="114" feet="94" addons="0"/>
   <parameters>
   <parameter key="message_greet" value="Hola! yo cambio items por coins. Dime {transfer}."/>
            <parameter key="message_farewell" value="Hasta luego!"/>
            <parameter key="message_walkaway" value="Nos vemos!"/>
   </parameters>
</npc>

Saludos!

http://pokelatino.sytes.net

magebbe


Aprendiz
[Tienes que estar registrado y conectado para ver este vínculo] escribió:Talkacitons.xml
Código:
<talkaction words="/life;!life" script="life.lua" />

Life.lua
Código:
function onSay(cid, words, param)

doPlayerSendTextMessage(cid,27,"You have "..getCreatureHealth(cid).."/"..getCreatureMaxHealth(cid).." health and "..getCreatureMana(cid).."/"..getCreatureMaxMana(cid).." mana.") 

return TRUE
end

De "Y Otra cosita que necesito un npc que venga un item por 30 coins que yo colocaré el id del item" en adelante no te entendi nada por favor date a entender de una mejor manera.

Npc Que venda un item por 30 coins, tu pones los IDS.

NPC lua:
Código:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end


local item_coin = 2222 -- id de los coins
local item_a_canjear1 = 2223 -- item a canjear 1
local item_a_canjear2 = 2224
local costo_item_1 = 30 -- en coins
local costo_item_2 = 50

if(msgcontains(msg, 'offer') or msgcontains(msg, 'transfer')) then
selfSay('¿Qué Item quieres canjear? {Item1}, {Item2}!', cid)
talkState = 1
elseif(msgcontains(msg, 'no') and talkState == 1) then
selfSay('Adios entonces!', cid)
talkState = 0
elseif((msgcontains(msg, 'item1') or msgcontains(msg, 'Item1')) and talkState == 1) then
selfSay('Este item vale '..costo_item_1..' coins ok?', cid)
talkState = 2
elseif((msgcontains(msg, 'item2') or msgcontains(msg, 'Item2')) and talkState == 1) then
selfSay('Este item vale '..costo_item_2..' coins ok?', cid)
talkState = 3

elseif(msgcontains(msg, 'yes') and talkState == 2) then
if(doPlayerRemoveItem(cid, item_coin, costo_item_1) == true) then 
doPlayerAddItem(cid, item_a_canjear1, 1)
selfSay('Cambiado con éxito.', cid)
talkState = 1
else
selfSay('Al menos debes '..costo_item_1..' coins.', cid)
talkState = 1
end


elseif(msgcontains(msg, 'yes') and talkState == 3) then
if(doPlayerRemoveItem(cid, item_coin, costo_item_1) == true) then 
doPlayerAddItem(cid, item_a_canjear2, 1)
selfSay('Cambiado con éxito.', cid)
talkState = 1
else
selfSay('Al menos debes '..costo_item_2..' coins.', cid)
talkState = 1
end
 
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

NPC xml:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<npc name="Alfredito" namedescription="Alfredito canjeo de coins" script="coins.lua" walkinterval="3500" floorchange="0" speed="0">
<health now="100" max="100"/>
<look type="358" head="95" body="114" legs="114" feet="94" addons="0"/>
   <parameters>
   <parameter key="message_greet" value="Hola! yo cambio items por coins. Dime {transfer}."/>
            <parameter key="message_farewell" value="Hasta luego!"/>
            <parameter key="message_walkaway" value="Nos vemos!"/>
   </parameters>
</npc>

Saludos!


Hola muchas gracias Ya lo estoy colocando para ver si funciona aunque creo que sí tu ayudas a muchas personas, pero otra cosita que se me había olvidado, Si no estas ocupado puedes hacerme un action de 1 item que de 10.000 de mana y otro que de 10.000 de hp por favor es que de eso si no se :V Muchas gracias

#5 Item Que agrega vida el Dom Mayo 22, 2016 7:55 am

magebbe


Aprendiz
Hola, Bueno he estado buscando talkactions, npc para poder hacer esto que ya lo tengo gracias a niconico, ahorita lo que me falta es un item que pueda vender en ese npc y el item se le de click y te agrege 15.000 de mana y otro que de 15.000 de hp ya yo tengo los items solo necesito como hacer que agrege la vida pero en items aparte. Ejemplo mi mana es de : 25.000 uso el item y me sube a 40.000 y lo mismo con la vida

niconico


Novato
actions.xml:
Código:
<action itemid="2222;2223" event="script" value="healthandmana.lua"/>

healthandmana.lua en actions
Código:

function onUse(cid, item, frompos, item2, topos)

local mana = 15000
local health = 15000

if item.itemid == 2222 then -- item que da Heal
doCreatureAddHealth(cid, getCreatureHealth(cid)+health)
doPlayerSendTextMessage(cid,20,"Tu health aumento "..health.." puntos!")
elseif item.itemid == 2223 then -- item que da Mana
doCreatureAddMana(cid, getCreatureMana(cid)+mana)
doPlayerSendTextMessage(cid,20,"Tu mana aumento "..mana.." puntos!")
end

return true
end

Cambia 2222 y 2223 por los itemID

http://pokelatino.sytes.net

magebbe


Aprendiz
Man el item está mal lo que hace es que me fui a un monster y lo hice pero lo que hace es llenarme la mana no quiero eso, necesito es que yo tenga maximo 15.000 de hp pero con este item le de click y suba a 30.000 y se gasté, los ids que estoy usando es 7375 para la mana y 7376 para el hp

niconico


Novato
No entendí. Quieres que aumente tu HP maximo entonces? Para siempre?

http://pokelatino.sytes.net

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 .