Ir para conteúdo
  • Cadastre-se

Npc que faz o player atacar mais rápido


Posts Recomendados

Olá, alguém sabe um script de um npc que o player dá a ele um item e em troca ele faz o player atacar mais rapido para sempre? obrigado.

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

Bom, eu precisaria do script do seu NPC pra colocar o comando, mas creio que se eu colocar a função você vai saber adicionar sem erro.

doPlayerSetExtraAttackSpeed(cid, 5000)

Caso não saiba onde colocar, poste, que eu faço pra você.

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

Ola, então n poderia colocar em 1 npc? pois ele iria apenas fazer o player atacar mais rapido por em troca de 1 item, não sei qual npc poderia colocar aqui rs poderia fazer 1 ? obrigado.

Link para o post
Compartilhar em outros sites

Ok.

 

Modifique a gosto:

 

Em NPC.XML

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NPC Fast Attack" script="fastattack.lua" walkinterval="2000" floorchange="0">
          <health now="150" max="150" />
          <look type="133" head="79" body="132" legs="94" feet="0" addons="3"/>
          <parameters>
                    <parameter key="message_greet" value="Ola |PLAYERNAME|. Posso lhe dar {fast} attack." />
                    <parameter key="message_farewell" value="Até mais!" />
          </parameters>
</npc>

em fastattack.lua

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


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


-- Storage IDs --
local fastattack    = 74247424   -- nao mexa, isso fara com que o player adicione fast attack apenas uma vez




local transmuted    = 'Aqui esta sua seu fast attack!'
local noitems        = 'Voce nao tem o iten necessario.'
local nolevel1    = 'Voce nao tem level 250.'
local already        = 'Voce ja recebeu fast attack, nao me sacaneie!'
        
-- FASTATTACK START --
function FastAttack(cid, message, keywords, parameters, node)
    if(not npcHandler:isFocused(cid)) then
        return false
    end


    transm = getPlayerStorageValue(cid,fastattack)


    if transm == -1 then
if getPlayerLevel(cid) >= 250 then --altere aqui o level que podera receber fast attack
        if getPlayerItemCount(cid,2328) >= 1  then --altere aqui o ID do item e a quantidade
        if doPlayerRemoveItem(cid,2328,1) then -- aqui tem sempre que ser igual o de cima, senão o npc nao remove o item
            selfSay(transmuted, cid)
             
            doSendMagicEffect(getCreaturePosition(cid), 13)
            local transmuted1 = doPlayerSetExtraAttackSpeed(cid, 5000) --aqui o valor do fast attack, creio que esteja num bom valor, mas altere a gosto
            setPlayerStorageValue(cid,fastattack,1)
        end
        else
            selfSay(noitems, cid)
        end
else
selfSay(nolevel1, cid)
end
    else
        selfSay(already, cid)
    end


end
-- FASTATTACK END --




local node1 = keywordHandler:addKeyword({'fast'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Para obter a Fast Attack, vai precisar ter level 250, 1 fired demon eye. Voce tem esses itens com voce?'})
    node1:addChildKeyword({'yes'}, FastAttack, {npcHandler = npcHandler, onlyFocus = true, reset = true})
    node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Tudo bem, volte quando tiver todos os itens.', reset = true})


npcHandler:addModule(FocusModule:new())

Não testei, se der erro poste aqui que resolvo.

Editado por VictorTasquin (veja o histórico de edições)

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

deu erro

 

[09/10/2014 04:12:28] [Error - Npc interface] 
[09/10/2014 04:12:28] data/npc/scripts/speedattack.lua:onCreatureSay
[09/10/2014 04:12:28] Description: 
[09/10/2014 04:12:28] data/npc/scripts/speedattack.lua:40: attempt to call global 'doPlayerSetExtraAttackSpeed' (a nil value)
[09/10/2014 04:12:29] stack traceback:
[09/10/2014 04:12:29] data/npc/scripts/speedattack.lua:40: in function 'callback'
[09/10/2014 04:12:29] data/npc/lib/npcsystem/keywordhandler.lua:40: in function 'processMessage'
[09/10/2014 04:12:29] data/npc/lib/npcsystem/keywordhandler.lua:168: in function 'processNodeMessage'
[09/10/2014 04:12:29] data/npc/lib/npcsystem/keywordhandler.lua:128: in function 'processMessage'
[09/10/2014 04:12:29] data/npc/lib/npcsystem/npchandler.lua:387: in function 'onCreatureSay'
[09/10/2014 04:12:29] data/npc/scripts/speedattack.lua:8: in function <data/npc/scripts/speedattack.lua:8>
Link para o post
Compartilhar em outros sites

Nossa...

 

Me informe a versão do seu server, e o TFS usado.

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

Eu sei fazer um jeito, só que é mais complicado HAHA ( normal ). É quando você usa o item, ele muda a sua vocação ( vocation= 9 ) teria o fast attack  mais rápido e caso você quiser, poderia acrescentar também a regeneração de vida/mana, dano calculado ( padrão 1.1 ). E assim em diante, se quiser tento providenciar para você.

Link para o post
Compartilhar em outros sites

Nossa, sua versão é bem inferior as que estou acostumado. Poderia ser um NPC que venda um ITEM que de Attack Speed ?

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites

sim pode ser item também. Não sendo vocação está bom, pois como tem transformações que muda a vocação para o player ficar mais forte, não consegui pensar em um modo para coloca-la no server.

Link para o post
Compartilhar em outros sites

attackspeed.lua

local valorspeed = 5000 ---EDITE O VALOR DESEJADO


function onUse(cid, item, fromPosition, itemEx, toPosition)
doPlayerSetExtraAttackSpeed(cid, valorspeed)
doRemoveItem(item.uid)
return TRUE
end

actions.XML

<action itemid="ID" event="script" value="others/attackspeed.lua" allowfaruse="0"/>

ID = Escolha uma pedra, pode até ser uma potion, e coloque o ID dela.

 

NPC.XML

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Alef" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150"/>
<look type="146" head="0" body="115" legs="115" feet="115" addons="0"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Hungry?"/>
<parameter key="shop_buyable" value="NOME DO ITEM, ID DO ITEM, PREÇO;"/>
</parameters>
</npc>

<parameter key="shop_buyable" value="NOME DO ITEM, ID DO ITEM, PREÇO;"/> -- Altere de acordo.

Editado por VictorTasquin (veja o histórico de edições)

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites
[Error - Action Interface] 
[10/10/2014 12:46:24] data/actions/scripts/attackspeed.lua:onUse
[10/10/2014 12:46:24] Description: 
[10/10/2014 12:46:24] data/actions/scripts/attackspeed.lua:5: attempt to call global 'doPlayerSetExtraAttackSpeed' (a nil value)
[10/10/2014 12:46:24] stack traceback:
[10/10/2014 12:46:24] data/actions/scripts/attackspeed.lua:5: in function <data/actions/scripts/attackspeed.lua:4>
Link para o post
Compartilhar em outros sites

Tente este attackspeed.lua

local valorspeed = 5000 ---EDITE O VALOR DESEJADO


function onUse(cid, item, fromPosition, itemEx, toPosition)
doPlayerSetAttackSpeed(cid, valorspeed)
doRemoveItem(item.uid)
return TRUE
end

Atenciosamente,

 0lxhEI2.jpg

 

 

Meu servidor:

 

pbOT

Link para o post
Compartilhar em outros sites
 
[14/10/2014 14:40:37] [Error - Action Interface] 
[14/10/2014 14:40:37] data/actions/scripts/attackspeed.lua:onUse
[14/10/2014 14:40:37] Description: 
[14/10/2014 14:40:37] data/actions/scripts/attackspeed.lua:5: attempt to call global 'doPlayerSetAttackSpeed' (a nil value)
[14/10/2014 14:40:37] stack traceback:
[14/10/2014 14:40:37] data/actions/scripts/attackspeed.lua:5: in function <data/actions/scripts/attackspeed.lua:4>
 
 
Desculpe a demora, eu estava viajando.
Link para o post
Compartilhar em outros sites

Nunca irá funcionar, se não adicionar novas funções nas sourcers.

"doPlayerSetAttackSpeed()", é uma função nova.. ela não existe diretamente no TFS, você precisa adicionala.

Tony Araújo  ;D 

 

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