Ir para conteúdo

Featured Replies

Postado

Bom eu encontrei esse sistema más não entendo muito alem do que esta escrito no script, eu queria saber como funciona, se tem que colocar algo no mapa ou algo do tipo

 

 

<action uniqueid="16451" event="script" value="forja.lua"/>

 

 

 


function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 5901, t2 = 5880, t3 = 12622, qnt1 = 10, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 1040, y = 956, z = 7, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 1042, y = 956, z = 7, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 1041, y = 956, z = 7} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
    
    for i, x in pairs(config) do
        if q1.itemid == x.t1 and q2.itemid == x.t2 then
                doRemoveItem(q1.uid, x.qnt1)
                doRemoveItem(q2.uid, x.qnt2)
                addEvent(doCreateItem, 1000, x.t3, 1, r3)
                doSendMagicEffect(r3, 47)
                addEvent(doSendMagicEffect, 900, r3, 39)
                doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
                break
        elseif q1.itemid == x.t2 and q2.itemid == x.t1 then
                doRemoveItem(q1.uid, x.qnt2)
                doRemoveItem(q2.uid, x.qnt1)
                addEvent(doCreateItem, 1000, x.t3, 1, r3)
                doSendMagicEffect(r3, 47)
                addEvent(doSendMagicEffect, 900, r3, 39)
                doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
                break
                end
            end
return TRUE
end
 

 

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

A vida ela é cheia de oportunidades e minha oportunidade é você

 

Postado
16 horas atrás, Calisto disse:

Bom eu encontrei esse sistema más não entendo muito alem do que esta escrito no script, eu queria saber como funciona, se tem que colocar algo no mapa ou algo do tip

 

  Mostrar conteúdo oculto

 


function onUse(cid, item, item2, frompos, topos, pos)
local config = {
["fire sword"] = {t1 = 5901, t2 = 5880, t3 = 12622, qnt1 = 10, qnt2 = 1}, -- t1 = ID do ITEM 1 |---| t2 = ID do ITEM 2 |---| t3 = ID do ITEM a ser FORJADO --
["fire axe"] = {t1 = 2489, t2 = 2487, t3= 2432, qnt1 = 100, qnt2 = 1},
}

local r1 = {x = 1040, y = 956, z = 7, stackpos= 2} -- Posição 1 ( NÃO MEXA NO stackpos= 2 )
local r2 = {x = 1042, y = 956, z = 7, stackpos= 2} -- Posição 2 ( NÃO MEXA NO stackpos= 2 )
local r3 = {x = 1041, y = 956, z = 7} -- Posição do Item a Ser Criado

local q1 = getThingfromPos(r1)
local q2 = getThingfromPos(r2)
    
    for i, x in pairs(config) do
        if q1.itemid == x.t1 and q2.itemid == x.t2 then
                doRemoveItem(q1.uid, x.qnt1)
                doRemoveItem(q2.uid, x.qnt2)
                addEvent(doCreateItem, 1000, x.t3, 1, r3)
                doSendMagicEffect(r3, 47)
                addEvent(doSendMagicEffect, 900, r3, 39)
                doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
                break
        elseif q1.itemid == x.t2 and q2.itemid == x.t1 then
                doRemoveItem(q1.uid, x.qnt2)
                doRemoveItem(q2.uid, x.qnt1)
                addEvent(doCreateItem, 1000, x.t3, 1, r3)
                doSendMagicEffect(r3, 47)
                addEvent(doSendMagicEffect, 900, r3, 39)
                doPlayerSendTextMessage(cid, 22, "Parabéns, Você Forjou Um " .. i .. ".")
                break
                end
            end
return TRUE
end
 

 

Não sou expert nisto mas acho que isso e por npcs.

Postado
2 horas atrás, Calisto disse:

é que eu encontrei na actions da área de script e queria ajuda entende ...

Olha só eu sei o do npc... se quiser está aqui>

vá ate npcs, crie um chamado trovador importe ele para seu game pelo remeres>

coloque essa script dentro do arquivo do trovador>

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Sam" script="data/npc/scripts/Trade.lua" walkinterval="2500" floorchange="0">
<health now="100" max="100"/>
<look type="129" head="79" body="113" legs="105" feet="86" addons="0"/>
   <parameters>
      <parameter key="message_greet" value="Hi |PLAYERNAME|, ¿Que te trae por aqui? [Esp] [Eng] [Br]"/>
      <parameter key="message_farewell" value="Adios |PLAYERNAME|, ¡Vuelve cuando quieras!."/>
      
    </parameters>
 
</npc>

agora em /data/npc/scripts crie um arquivo chamado trade e cole isso dentro 

Spoiler


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

 local v = {
      ["Dagger"] = {110, 11, 2376, 2379}, -- iron, oro, result.refinado, por.refinar
      ["Sword"] = {120, 12, 2383, 2376}
      }
function creatureSayCallback(cid, type, msg)
local s = getPlayerItemCount
local msgn = "Lo lamento, pero no tienes los materiales suficientes ;)."
if (msgcontains(msg, 'refinar')) and s(cid,115) == 0 and s(cid,2148) == 0 then
   npcHandler:say('No tienes ni iron ni oro, Ve a conseguir algo de ello y luego vuelve', cid)
elseif msgcontains(msg, 'refinar') and s(cid,115) >= 1 and s(cid,115) <= 109 then
   npcHandler:say('No tienes la cantidad de iron necesaria para cambiar por algo!', cid)
elseif msgcontains(msg, 'refinar') and s(cid,2148) >= 1 and s(cid,2148) <= 10 then
   npcHandler:say('No tienes la cantidad de iron necesaria para cambiar por algo!', cid)
elseif msgcontains(msg, 'refinar') and s(cid,2148) >= 11 and s(cid,115) >= 110 then
   npcHandler:say('Ok, ¿Que deseas Refinar?', cid)
end
   for txt, v in pairs(v) do
      if (msgcontains(msg, txt)) then
         if doPlayerRemoveItem(cid,115,v[1]) then
            if doPlayerRemoveMoney(cid, v[2]) then 
               if doPlayerRemoveItem(cid,v[4],1) then
                  doPlayerAddItem(cid,v[3],1)
                  npcHandler:say("Aqui tienes tu ".. getItemNameById(v[3]) .."!", cid)
               else
                  npcHandler:say("".. msgn .."", cid)
               end
            end
         end
      end
   end
return true
end
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Se o npc não abrir, tire  isso do npc : [Esp] [Eng] [Br].

Espero ter ajudado.

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.8k

Informação Importante

Confirmação de Termo