Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Fala Pessoal do TK.

 

Então estou criando meu OTserv, Mapa barão... ele vem com NPC " Colecionador De Ossos " Até ai tudo bem.

 

Testei ele está funcionando certinho, os bones os itens, so que quando mata player ele nao da bones :/

 

como coloca pra ganhar bones á cada player morto.

 

 

Olha seguites arquivos -->

 

Raiz : C:\Users\Vitor Lucas\Desktop\Baiak Barao OT\data\npc

Arquivo: Colecionador De Ossos.xlm

 

-----------------------------------------------------------------------------

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Colecionador De Ossos" script="data/npc/scripts/colecionador de ossos.lua" access="3" lookdir="3"  walkinterval="2000" floorchange="0">
    <health now="4" max="100"/>
    <look type="145" head="40" body="37" legs="116" feet="95" addons="3"/>
    <parameters>
        <parameter key="message_greet" value="E ae matador! Você trouxe mais {bones} para mim? Preciso de 30 bones, se você trouxe diga {bones}."/>
        <parameter key="message_farewell" value="Mas que beleza... Quantos ossos!" />
        <parameter key="message_walkaway" value="Yeah, mate mais! ò.ó" />
        <parameter key="message_onsendtrade" value="Yeah, mate mais! ò.ó" />
        <parameter key="module_shop" value="1" />
    </parameters>
</npc>

 

 

-----------------------------------------------------------------------------

 

Raiz: C:\Users\Vitor Lucas\Desktop\Baiak Barao OT\data\npc\scripts

Arquivo: colecionador de ossos.lua

 

-----------------------------------------------------------------------------

 

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 talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid    

    if(msgcontains(msg, 'ossos') or msgcontains(msg, 'bones') or msgcontains(msg, 'bone')) then
        selfSay('Você realmente deseja trocar seus preciosos bones por um item aleatório? Diga {yes}.', cid)
        talkState[talkUser] = 1
    elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
        if(getPlayerItemCount(cid, 5925) >= 30) then
            if(doPlayerRemoveItem(cid, 5925, 30) == TRUE) then                
                doPlayerAddItem(cid, 6571)
                selfSay('Here you are.', cid)
            else
                selfSay('Desculpe, mas você não tem 30 bones.', cid)
            end
        else
            selfSay('Desculpe, mas você não tem 30 bones.', cid)
        end
        talkState[talkUser] = 0
    elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
        talkState[talkUser] = 0
        selfSay('Ok then.', cid)
    end

    return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 

-----------------------------------------------------------------------------

 

Me Ajudem... OBG agradeço muito.

 

 

 

 

Link para o post
Compartilhar em outros sites

Amigo, isso não é no NPC, é um creaturescript que o player ganha o item ao matar o outro.

Precisa verificar quais as condições para que ganhe o item...

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

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

Amigo, isso não é no NPC, é um creaturescript que o player ganha o item ao matar o outro.

Precisa verificar quais as condições para que ganhe o item...

 

Sim, foi como falei NPC esta funcionando corretamente, mais como faço pra quando matar um player ele ganha o item " Bones " Att; Vitor Lucas ! Obg

Link para o post
Compartilhar em outros sites

Vá em creaturescripts.xml e adicione isso :

 

<event type="kill" name="killitem" event="script" value="lootkill.lua"/>

 

Depois crie um arquivo em com nome lootkill.lua em creaturescripts/scripts

 

e adicione isso :

 

function onKill(cid, target, lastHit)

local item,count = 5925,1
if isPlayer(cid) and isPlayer(target) and getPlayerIp(target) ~= getPlayerIp(cid) then
doPlayerAddItem(cid, item, count)
end
return TRUE
end
 
Pronto...
 
 
Ah e adicione esse tag, em login.lua :
 
registerCreatureEvent(cid, "killitem")
Editado por larisa44 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 

Vá em creaturescripts.xml e adicione isso :

 

<event type="kill" name="killitem" event="script" value="lootkill.lua"/>

 

Depois crie um arquivo em com nome lootkill.lua em creaturescripts/scripts

 

e adicione isso :

 

function onKill(cid, target, lastHit)

local item,count = 5925,1
if isPlayer(cid) and isPlayer(target) and getPlayerIp(target) ~= getPlayerIp(cid) then
doPlayerAddItem(cid, item, count)
end
return TRUE
end
 
Pronto...
 
 
Ah e adicione esse tag, em login.lua :
 
registerCreatureEvent(cid, "killitem")

 

 

Então cara fiz tudo isso e nada que vem o bone

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

Aqui...
Vaá em creaturescript/script e crie um arquivo chamado reward e coloque isso dentro

function onDeath(cid, corpse, deathList)
if isPlayer(cid) and isPlayer(deathList[1]) then
local v = { 
rewardid = 5925,   -- Mude  aqui para o ID do item
pos = getCreaturePosition(cid),
} 
local reward = doPlayerAddItem(deathList[1], v.rewardid, 1)
end
return true
end

e em creaturescript.xml coloque

<event type="death" name="Reward" event="script" value="reward.lua"/>

 

depois abra login.lua e colque

registerCreatureEvent(cid, "Reward")

Te ajudei?
Se você achar que eu mereço, me dê uma "rep+" e selecione meu post como "melhor resposta"

 

Skype: JoadsonAion

Link para o post
Compartilhar em outros sites

 

Aqui...

Vaá em creaturescript/script e crie um arquivo chamado reward e coloque isso dentro

function onDeath(cid, corpse, deathList)
if isPlayer(cid) and isPlayer(deathList[1]) then
local v = { 
rewardid = 5925,   -- Mude  aqui para o ID do item
pos = getCreaturePosition(cid),
} 
local reward = doPlayerAddItem(deathList[1], v.rewardid, 1)
end
return true
end

e em creaturescript.xml coloque

<event type="death" name="Reward" event="script" value="reward.lua"/>

 

depois abra login.lua e colque

registerCreatureEvent(cid, "Reward")

 AEEEE, vlw mesmo Obrigado !!! +REP

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.

  • Conteúdo Similar

    • Por Doria Louro
      Olá nobre senhores, tudo bem com vocês?
      Servidor: TFS 0.3.6
      Cliente:    8.60
       
      Estou com a seguinte ideia, criar conjuntos de equipamentos em meu servidor, que aumente os atributos do player ao utilizar o conjunto/set completo, exemplo:

       
      Um exemplo dos itens contidos no meu itens.xml:
      <item id="2487" article="a" name="warrior armor"> <attribute key="weight" value="9000" /> <attribute key="armor" value="13" /> <attribute key="skillSword" value="1" /> <attribute key="skillAxe" value="1" /> <attribute key="skillClub" value="1" /> <attribute key="slotType" value="body" /> <attribute key="healthGain" value="2" /> <attribute key="healthTicks" value="3000" /> <attribute key="description" value="+2 HP every 3s, Sale value: $5000" /> </item>  
      Em meu movements.xml:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="function" value="onEquipItem"> <vocation id="8" /> </movevent> <movevent type="DeEquip" itemid="2487" slot="armor" event="function" value="onDeEquipItem" />  
      Entretanto eu fico limitado aos eventos de Equip default, se eu altero para meu script full_set.lua:
      <movevent type="Equip" itemid="2487" level="30" slot="armor" event="script" value="full_set.lua"> <vocation id="8" /> </movevent>  
      Executando meu script  eu perco os atributos contidos no itens.xml, tais como o aumento de skill, ganho de HP por segundo e também qualquer vocação pode utilizar o equipamento.
       
      Simplificando, é possível utilizar os recursos padrões de Equip do movements e adicionar um/mais scripts personalizáveis sem perder as funcionalidades da function onEquipItem?
      Meu objetivo é quanto mais partes do set o jogador possuir, mais bônus ele obterá, um exemplo:
       
      Warrior Set
      [2 peças] - Aumenta em 100 HP total
      [4 peças] - Aumenta em 2 shielding
       
      Eu tenho uma ideia de colocar essa verificação no creaturescripts, entretanto não gostaria de tomar esse rumo pois acredito que poderia sobrecarregar meu servidor com as verificações por thing.
      Efetuei consultas pela internet e geralmente o pessoa que tem essa duvida utiliza itens que não tem status, tipo um ring, no meu caso é diferente.
       
      Possível solução: Seria utilizar o código Equip padrão no meu script e depois aplicar meu código, entretanto eu não encontrei em nenhum local esse script de Equip,
       
      Quem puder me ajudar eu ficaria eternamente grato já que esse é um sistema chave no meu projeto, agradeço desde já
    • Por Mathwsz
      Bom galera, estou trazendo um script de fusão que funciona assim:
      Explicação: É necessário de 7 itens, na qual você coloca em tal coordenada e aperte a alavanca, sendo assim formando um item na qual você deseja em tal lugar configurado.
      Exemplo: Você pode fazer 7 bosses na qual dropa tals itens "Parecidos" e formando um item raro de sua escolha, ou como preferir.. Vamos ao script!
       
      Em Data/Actions/Scripts crie um arquivo chamado fusaoitens.lua e adicione isto dentro:
       
       
      Agora, em Data/Actions.xml adicione o seguinte:
       
      <action uniqueid="9900" script="fusaoitens.lua" /> E no seu RemeresMapEditor , pegue sua alavanca, vai em Propriedades e adicione o UniqueID 9900 nele! 
      PRONTO! Agora configure e divirta-se! Obs: Caso lhe ajudei, da um REP+ Aí !
    • Por BonasxD
      Bom galera primeiramente não sei se estou na area correta ou se nao estou, se nao por favor mover para area certa, grato!
      Estou com esse erro ao tenta instalar o gesior usando a tfs 0.4 não passa dessa parte ja tentei de tudo e nao sei oque fazer ;(
       
      Testei o mesmo procedimento no meu Windows e Funcionou corretamente agora no meu VM(Ubuntu22) não passa desse erro. 
       
      Ja pesquisei por tudo e não sei oque fazer

    • Por ambrozii0
      Gostaria de fazer um pedido de um NPC de Task progressiva,

      Ele iniciaria dando missões para level 8 para caçar Troll, Rotworm e Ghoul.
       
      No level 30 liberaria: Cyclops, Dragon e Wyrm... e assim em diante se puder deixar comentado eu faço as criaturas na sequencia dos leveis seguintes.
       
      O jogador pode fazer as tasks dos leveis anteriores mesmo que já tenha ultrapassado o level do próximo nível de task.
       
      E o jogador ao terminar a missão poderia escolher a recompensa em gold ou experiência. As tasks podem se repetir sem problema, mas apenas pode pegar uma de cada vez.
       
      Ao finalizar todas as tasks o jogador ganha uma montaria.
       
      Minha versão de cliente é 12.91
      Versão da Canary 2.6.1
      Não sei qual o TFS do meu servidor.
    • Por ILex WilL
      Olá, Alguém poderia me ajudar com uns Scripts? nem que seja cobrando, dependendo eu pago para me ajudar...
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo