Postado Abril 5, 2017 8 anos 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 Abril 5, 2017 8 anos por Calisto (veja o histórico de edições) A vida ela é cheia de oportunidades e minha oportunidade é você
Postado Abril 6, 2017 8 anos 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 Abril 6, 2017 8 anos Autor é que eu encontrei na actions da área de script e queria ajuda entende ... Editado Abril 6, 2017 8 anos por Calisto (veja o histórico de edições) A vida ela é cheia de oportunidades e minha oportunidade é você
Postado Abril 6, 2017 8 anos 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.