Ir para conteúdo
  • Cadastre-se

Posts Recomendados

boa tarde não sei se criei na area certa, caso esteja errado por favor mova-o!

fiz um npc, para vender itens vips enquanto estou ajeitando meu servidor, porém
meu npc esta com todos os itens quando eu falo "hi, trade"

mas coloco para comprar e o npc não vende o item! e nem cobra o dinheiro!

5 minutos atrás, axebruno disse:

boa tarde não sei se criei na area certa, caso esteja errado por favor mova-o!

fiz um npc, para vender itens vips enquanto estou ajeitando meu servidor, porém
meu npc esta com todos os itens quando eu falo "hi, trade"

mas coloco para comprar e o npc não vende o item! e nem cobra o dinheiro!

quando eu compro ele mostra no tfs do servidor
shopmodule.onbuy - item not found on shopitems list

Link para o post
Compartilhar em outros sites

Boa Tarde, pelo que entendi você quer um script de npc que venda item né isso? se sim, vou postar um que tenho no meu mapa

 

Em data>npc> crie um arquivo chamado Italo.lua  e cole isso 

Spoiler

<npc name="NOME DO NPC" script="data/npc/scripts/venda.lua" walkinterval="2000" floorchange="0">
    <health now="100" max="100"/>
    <look type="130" head="68" body="89" legs="82" feet="94" addons="3"/>
    <parameters>
        <parameter key="message_greet" value="Ola |PLAYERNAME|. Eu vendo { ITEM QUE VAI SER VENDIDO} , {ITEM QUE VAI SER VENDIDO} , {ITEM QUE VAI SER VENDIDO} e {ITEM QUE VAI SER VENDIDO}, Para comprar uma diga {trade}."/>
        <parameter key="module_keywords" value="1" />
    </parameters>
</npc>

 

Em data>npc>scripts crie um arquivo chamado venda.lua e cole isso.

Spoiler

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 talkState = {}
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 2159 -- id da sua moeda vip
local t = {
      [7762] = {price = 70}, --- ID DO ITEM A VENDA, E PRINCE É O VALOR DO ITEM
      [7760] = {price = 60},
      [7761] = {price = 50},
      [7759] = {price = 50}
      }
      
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
    if  t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
          selfSay("Desculpe, Você não tem "..t[item].price.." "..getItemNameById(moeda), cid)
             else
        doPlayerAddItem(cid, item)
    selfSay('Aqui está!.', cid)
       end
    return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
            for var, ret in pairs(t) do
                    table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
                end
            openShopWindow(cid, shopWindow, onBuy, onSell)
            end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) 
npcHandler:addModule(FocusModule:new())

 

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 Gabriel CM
      No tibia 8.6 é possivel editar o dat do tibia para que ao clicar no mapa o boneco passe por cima de fire field, etc. (https://tibialife.forumeiros.com/t20-seu-tibiabotng-nao-passa-em-cima-de-posion-fire-entre-aqui)

      tem como fazer isso em client 13+?
    • Por Kazuya9629
      LINK
      https://br.ccm.net/download/baixaki-409-adobe-air
       
      Scaner
      https://www.virustotal.com/gui/file/6718308e10a45176155d0ecc8458bd3606308925b91f26a7d08c148cf52c9db3?nocache=1
       
      Diretorio
      AdobeAIRInstaller-32.0.exe
    • Por Savidotti
      local object_itemid = { [16487] = {transform_to = 16488, premium = true, useWith=true}, [16488] = {transform_to = 16487, premium = true, useWith=false}, [16490] = {transform_to = 16491, premium = true, useWith=true}, [16491] = {transform_to = 16490, premium = true, useWith=false}, [16493] = {transform_to = 16494, premium = true, useWith=true}, [16494] = {transform_to = 16493, premium = true, useWith=false}, [16496] = {transform_to = 16497, premium = true, useWith=true}, [16497] = {transform_to = 16496, premium = true, useWith=false}, [16499] = {transform_to = 16500, premium = true, useWith=true}, [16500] = {transform_to = 16499, premium = true, useWith=false}, [16502] = {transform_to = 16503, premium = true, useWith=true}, [16503] = {transform_to = 16502, premium = true, useWith=false}, [16505] = {transform_to = 16506, premium = true, useWith=true}, [16506] = {transform_to = 16505, premium = true, useWith=false}, [16508] = {transform_to = 16509, premium = true, useWith=true}, [16509] = {transform_to = 16508, premium = true, useWith=false}, [16511] = {transform_to = 16512, premium = true, useWith=true}, [16512] = {transform_to = 16511, premium = true, useWith=false}, [16514] = {transform_to = 16515, premium = true, useWith=true}, [16515] = {transform_to = 16514, premium = true, useWith=false}, [16517] = {transform_to = 16518, premium = true, useWith=true}, [16518] = {transform_to = 16517, premium = true, useWith=false}, [16520] = {transform_to = 16521, premium = true, useWith=true}, [16521] = {transform_to = 16520, premium = true, useWith=false}, [16523] = {transform_to = 16524, premium = true, useWith=true}, [16524] = {transform_to = 16523, premium = true, useWith=false}, [16526] = {transform_to = 16527, premium = true, useWith=true}, [16527] = {transform_to = 16526, premium = true, useWith=false}, [16529] = {transform_to = 16530, premium = true, useWith=true}, [16530] = {transform_to = 16529, premium = true, useWith=false}, [16532] = {transform_to = 16533, premium = true, useWith=true}, [16533] = {transform_to = 16532, premium = true, useWith=false}, [16535] = {transform_to = 16536, premium = true, useWith=true}, [16536] = {transform_to = 16535, premium = true, useWith=false}, [16538] = {transform_to = 16539, premium = true, useWith=true}, [16539] = {transform_to = 16538, premium = true, useWith=false}, [16541] = {transform_to = 16542, premium = true, useWith=true}, [16542] = {transform_to = 16541, premium = true, useWith=false}, [16163] = {transform_to = 16164, premium = true, useWith=true}, [16164] = {transform_to = 16163, premium = true, useWith=false}, [16165] = {transform_to = 16166, premium = true, useWith=true}, [16166] = {transform_to = 16165, premium = true, useWith=false}, [16167] = {transform_to = 16168, premium = true, useWith=true}, [16168] = {transform_to = 16167, premium = true, useWith=false}, [16169] = {transform_to = 16170, premium = true, useWith=true}, [16170] = {transform_to = 16169, premium = true, useWith=false}, [16171] = {transform_to = 16172, premium = true, useWith=true}, [16172] = {transform_to = 16171, premium = true, useWith=false}, [16173] = {transform_to = 16174, premium = true, useWith=true}, [16174] = {transform_to = 16173, premium = true, useWith=false}, [16185] = {transform_to = 16186, premium = true, useWith=true}, [16186] = {transform_to = 16185, premium = true, useWith=false}, [16187] = {transform_to = 16188, premium = true, useWith=true}, [16188] = {transform_to = 16187, premium = true, useWith=false}, [16189] = {transform_to = 16190, premium = true, useWith=true}, [16190] = {transform_to = 16189, premium = true, useWith=false}, [16191] = {transform_to = 16192, premium = true, useWith=true}, [16192] = {transform_to = 16191, premium = true, useWith=false}, [16455] = {transform_to = 16456, premium = true, useWith=true}, [16456] = {transform_to = 16455, premium = true, useWith=false}, [16457] = {transform_to = 16458, premium = true, useWith=true}, [16458] = {transform_to = 16457, premium = true, useWith=false}, [16461] = {transform_to = 16462, premium = true, useWith=true}, [16462] = {transform_to = 16461, premium = true, useWith=false}, } function onUse(cid, item, frompos, item2, topos) local storage = 789561 local time = 1 local sendEffect = true -- true or false local EffectId = 1 local item_from_table = object_itemid[item.itemid] if exhaustion.check(cid, storage) then return false end if item_from_table then if getPlayerGroupId(cid) == 1 then if item_from_table.premium and not isPremium(cid) then return true and doPlayerSendCancel(cid, "Voce nao e vip.") end end doRemoveItem(item.uid,1) if item_from_table.useWith then doCreateItem(item_from_table.transform_to,1,topos) else doCreateItem(item_from_table.transform_to,1,frompos) end if sendEffect then doSendMagicEffect(getThingPos(cid), EffectId) end end return true and exhaustion.set(cid,storage,time) end Este é o Script, o que ocorre é que sempre que reinicia o servidor os carpets somem, pelo que percebi quando o carpet é colocado no piso esta acontecendo como se fosse uma alteração de mapa e não como decoração sobre o piso atual.. e por isso quando reinicia o servidor eles somem.. como qualquer outra alteração de mapa com jogo online.. por favor alguém pode ajudar?

    • Por Darkwonn
      Estou editando a base ZRing, porém me deparei com um erro quando dois ou mais players estão na mesma localidade, em muitos testes já percebemos que é um erro meio aleatório, porém na maioria das vezes acontece quando começam a se movimentar. Este é o único erro apresentado no Terminal do Cliente. A distro está limpa.
       
      Estou disposto a pagar pela solução. Entrar em contato pelo tópico ou via Discord 
      Arkain#7143

    • Por Imperius
      Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
       
      Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
       
      Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
       
      segue abaixo como configurar em seu otserver:
       
      data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
       
      function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end  
      em talkactions.xml cole a tag abaixo:

       
      <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>    
      e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
       

       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo