Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá Tibianos e Tibianas bom eu estou aqui hoje para pedir um script

Bom tenho um Mapa global, mas tipo todos os OTServ's

Conforme você vai upando de level você ja pode ir usando algumas spell's

Bom eu gostaria de estar pedindo, um script não sei como funciona tipo vou direto ao assunto

Quero um Script para os Player's poderem comprar as magias no Próprio NPC, pois tipo

já que vem com as spell's todas liberadas então para que colocar os NPC's de vendem

as magias bom eu quero um script que elas possam ir no NPC e comprar

sem o próprio jogo, liberar todas as magias sem ele comprar, sacaram

que nem o próprio global verdade com o level ele vai lá e compra a magia.

Bom se não tiverem entendido o meu pedido pode postar

ae nos comentarios que eu estarei explicando melhor

espero que consigam fazer isso por mim quem fizer ganha meu REP ae !!

Vlw ae abraços..

Editado por Tiag017
Reflexão melhor do tópico. (veja o histórico de edições)

ta3.gif

Melhor, comunidade de Tibia, e OTServ Parabéns TibiaKing por você existir.

Link para o post
Compartilhar em outros sites

Ai amigo é meio chatinho de fazer, o jeito que eu sei é assim.


local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)



-- OTServ event handling functions start

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

-- OTServ event handling functions end



local node1 = keywordHandler:addKeyword({'light healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to learn light healing for 170 gp?'})

node1:addChildKeyword({'yes'}, StdModule.learnSpell, {npcHandler = npcHandler, premium = false, spellName = 'light healing', vocation = 2, price = 170, level = 9})

node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Cant you handle the power of the spell?', reset = true})



npcHandler:addModule(FocusModule:new())

Para comprar novas spells:


local node2 = keywordHandler:addKeyword({'light healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to learn light healing for 170 gp?'})

node2:addChildKeyword({'yes'}, StdModule.learnSpell, {npcHandler = npcHandler, premium = false, spellName = 'light healing', vocation = 2, price = 170, level = 9})

node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Cant you handle the power of the spell?', reset = true})

Resumo:

local node2 = Aqui você troca sempre que for fazer outra fala (EX: local node3, local node4)

addKeyword({'light healing'} = A palavra que a pessoa irá falar

premium = false <- Aqui se premium pode comprar ou não (TRUE = SIM , FALSE= NÃO)

text = 'Would you like to learn light healing for 170 gp?'}) <-- AQUI É A MSG .. quando você falar light healing

vocation = 2 = Vocação que pode comprar

price = 170 = preço da magia

level = 9 = level que pode comprar

spellName = 'light healing' <- nome da magia

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites

certo isso é para o NPC vender mais, e para fazer para o jogo para de libera as spells conforme o player' for upando?

ta3.gif

Melhor, comunidade de Tibia, e OTServ Parabéns TibiaKing por você existir.

Link para o post
Compartilhar em outros sites

nas spells.xml vai tar assm


needlearn="0"

troca para

needlearn="1"

 http://baiakuza.com/
IP: baiakuza.com
TIBIA: 10.96
Baiak Custom [ High Exp Rate ]

 

 

 

 

Link para o post
Compartilhar em outros sites
  • 4 years later...
33 minutos atrás, robi123 disse:

como eu faço para nao precisar comprar as magias e ter todas ja liberadas?

 

faça isso.

 

Em 27/04/2012 ás 11:11, Skydangerous disse:

nas spells.xml vai tar assm

 

 

 

 

needlearn="0"

troca para

 

needlearn="1"

 

 

Link para o post
Compartilhar em outros sites
  • 2 months later...

Galera, apenas revivendo o tópico, o script é bom, mas como que adiciono no script se o player for tentar comprar uma magia que ele já tem ?

 

No caso, se eu tento comprar uma magia que já tenho, ele não me retorna nada.

 

No caso, queria assim

 

player: hi

npc: olá Rafael, eu ensino as seguintes magias: .., .., .., .., ( então se possível deixar igual do global, o npc dizer que ensina magias de ataque, cura, etc, que tem que falar "attack" e depois ele fala " Eu ensino as seguintes magias de attack)

player: flame strike

npc: você deseja comprar flame strike por 800gp?

player: yes

npc: você aprendeu a magia flame strike.

 

e na hora que o player for comprar a magia que já possui, o npc fala que ele já possui a magia TAL.

 

Obrigado.

Link para o post
Compartilhar em outros sites
21 minutos atrás, Rafaelizzidoro disse:

No caso, queria assim

 

player: hi

npc: olá Rafael, eu ensino as seguintes magias: .., .., .., .., ( então se possível deixar igual do global, o npc dizer que ensina magias de ataque, cura, etc, que tem que falar "attack" e depois ele fala " Eu ensino as seguintes magias de attack)

player: flame strike

npc: você deseja comprar flame strike por 800gp?

player: yes

npc: você aprendeu a magia flame strike.

 

e na hora que o player for comprar a magia que já possui, o npc fala que ele já possui a magia TAL.

 

Obrigado.

 

Troca por este aqui:

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)


-- OTServ event handling functions start
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
-- OTServ event handling functions end

-- Function to selftsay
function creatureSayCallback(cid, type, msg)

    if(npcHandler.focus ~= cid) then
        return false
    end
    
    if msgcontains(msg,'spells') then
        if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then -- edit this vocation number
            selfSay('For which level would you like to learn spells 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 41, 45, 55, 60?')
        else
            selfSay('Sorry, I only sell spells to sorcerers.') -- edit this name of vocation
        end
    end
return 1
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
-- End Function to selftsay


local node1 = keywordHandler:addKeyword({'light healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to learn light healing for 170 gp?'})
node1:addChildKeyword({'yes'}, StdModule.learnSpell, {npcHandler = npcHandler, premium = false, spellName = 'light healing', vocation = 2, price = 170, level = 9})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Cant you handle the power of the spell?', reset = true})


npcHandler:addModule(FocusModule:new())

 

 O resto é com você :)

Link para o post
Compartilhar em outros sites
26 minutos atrás, Rafaelizzidoro disse:

Legal @Subyth, obrigado, mas dai como ficaria a questão se o player tentar comprar a mesma magia ? 

O principal eu esqueci né kkkk OMG viajei rsrs

 

Tenta esse

local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)


-- OTServ event handling functions start
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
-- OTServ event handling functions end

-- Function to selftsay
function creatureSayCallback(cid, type, msg)

    if(npcHandler.focus ~= cid) then
        return false
    end
    
    if msgcontains(msg,'spells') then
        if getPlayerVocation(cid) == 1 or getPlayerVocation(cid) == 5 then -- edit this vocation number
            selfSay('For which level would you like to learn spells 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 37, 38, 41, 45, 55, 60?')
        else
            selfSay('Sorry, I only sell spells to sorcerers.') -- edit this name of vocation
        end
		    selfSay('You alread the spell!', cid) -- bad inglish HEUHEUEH
    end
return 1
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
-- End Function to selftsay


local node1 = keywordHandler:addKeyword({'light healing'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to learn light healing for 170 gp?'})
node1:addChildKeyword({'yes'}, StdModule.learnSpell, {npcHandler = npcHandler, premium = false, spellName = 'light healing', vocation = 2, price = 170, level = 9})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Cant you handle the power of the spell?', reset = true})


npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites

Blz @Subyth , estou no trabalho, mas assim que chegar em casa vou realizar o teste.

 

Ali na hora de comprar a spell, pra eu informar que o player comprou a spell, eu adiciono "text = 'Você comprou a magia Exori Flam.'})" ?

 

Ficando assim "

 

node1:addChildKeyword({'yes'}, StdModule.learnSpell, {npcHandler = npcHandler, premium = false, spellName = 'light healing', vocation = 2, price = 170, level = 9 text = 'Você comprou a magia light healing.'}) "

 

Desculpe, não manjo muito dessas coisas rsrs

 

aproveitando já, para adicionar outras magias é só ali no lugar de "node1:" colocar node2, node3, node4, node5 e assim por diante, certo?

 

Editado por Rafaelizzidoro (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo