Ir para conteúdo
  • Cadastre-se

action/talkaction [8;6] Premium Paper [Talk] + [Action]


Posts Recomendados

Meu task 4.0 para 1.x que é bom nada né ? huahsuas. Brincks! <3

 

Sistema muito bom, ruim que se o server de quem for usar, tiver problema de clone, vai dar uma treta, vai ser pontos voando pra tudo que é canto!

 

@Tópico aprovado. Rep++

 

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

Tópico muito bom, vai ajudar muitas pessoas,

só não reputo mais pq não posso hoje, 

mais realmente merece os parabéns !!!

 

obrigado pela colaboração

Link para o post
Compartilhar em outros sites
8 horas atrás, KotZletY disse:

Meu task 4.0 para 1.x que é bom nada né ? huahsuas. Brincks! <3

 

Sistema muito bom, ruim que se o server de quem for usar, tiver problema de clone, vai dar uma treta, vai ser pontos voando pra tudo que é canto!

 

@Tópico aprovado. Rep++

 

 

vou colocar para dar exaust de 30 mnutos(configuravel), entre um paper e outro, além disso dá para usar doPlayerSave(cid), então ai não tem problema de clone. <3

além disso não tem como clonar pq qndo vc clona o item a descrição não vai vir como esse de quantidade de pontos, vem nula...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
10 horas atrás, Vodkart disse:

além disso não tem como clonar pq qndo vc clona o item a descrição não vai vir como esse de quantidade de pontos, vem nula...

Nice, nice. Um bom filho a casa torna. Kkkkkkk

 

Parabéns mais uma vez pelo script! 

 

xD

                                                              ezgif-1-98aab239f3.gif.1a897c9c3225228909e7b356a5cfb8e4.gif

Link para o post
Compartilhar em outros sites

Muito bom ^^ qual tfs testada? @Noob II irei usar com certeza *-* 

                                                                             1535210279_tumblr_o9b6yoxM1Z1tco8kto1_500(3).gif.f527686e19da738322c39555244decac.gif

                                                             Meus tópicos         

                                                         Se ajudei você deixe seu Rep! para fortalecer a amizade ^^

                                                                              Vamos ajudar o fórum a crescer mais.

                                                                          1641206641_gif-escudo-fla-3d(1).gif.a5d3c0c24824d5272a181aa91c5eda0c.gif

                                                                                                Mengão porra! . .

                                                                     tumblr_oxm8eriUeU1sqwgnro2_400.gif.22e347b2fc58fdfd88dbf84f4bdaa1bc.gif

                                                                                ----- NPC que vende informação -----

                                                                           -----Baú Que dá Outfit se tiver Level -----

                                                                     ----- [Npc] Que vende Stones (itens) por diamonds -----

 

 

                                                                       

                       

Link para o post
Compartilhar em outros sites

Excelente Script, Parabéns e Obrigado por contribuir com o TK.

Cada escolha, uma oportunidade.
Cada queda, um aprendizado.
Cada atitude, uma consequência

 

.tumblr_nw2mfl0ut01r3aoszo1_400.gif

Link para o post
Compartilhar em outros sites
21 minutos atrás, doido disse:

Unico problema parece que trava vc faz o item consegue usar mais depois trava, quando voce fas mais uns 3

 

como assim trava?

 

explica direito... porque eu testei aqui e nenhum deu esse problema.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Olha o meu testa ai, o documento e feito mas nao da pra usar.

 

Actions

Papaer_points

function onUse(cid, item, frompos, item2, topos)
	local var = getItemAttribute(item.uid, "description")
	if var == nil then return true end
	local x = var:match("%b[]")
	if x == "[VIP Points]:" then
		local ret = var:match("%d+")
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE," Voce recebeu "..ret.." VIP Points.")
		setPremiumPoints(cid, getPremiumPoints(cid)+ret)
		doRemoveItem(item.uid) 
	end
	return true
end

 

Talkaction

sell_points

 

function onSay(cid, words, param)
	local var,points = "[VIP Points]: Este documento vale %s VIP Points para voce no site.",getPremiumPoints(cid)
	local min,max = 5, 100
	if param == "" or not tonumber(param) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, use somente numeros.") return true
	elseif tonumber(param) < min or tonumber(param) > max then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, Minimo "..min.." e Maximo "..max.." points.") return true
	elseif points < tonumber(param) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, mas voce so possui "..points.." VIP Points.") return true
	end
	local item = doPlayerAddItem(cid, 9004,1) 
	doItemSetAttribute(item, "description", var:format(tonumber(param)))
	setPremiumPoints(cid, points-tonumber(param))
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[VIP Points]: Voce recebeu um paper com "..param.." VIP Points.")
	return true
end

 

Lib

 

function getPremiumPoints(cid)
	local query = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = "..getPlayerAccountId(cid))
	return query:getDataInt("premium_points") <= 0 and 0 or query:getDataInt("premium_points")
end
function setPremiumPoints(cid, amount)
	return db.executeQuery("UPDATE `accounts` SET `premium_points` = "..amount.." WHERE `id` = "..getPlayerAccountId(cid))
end

 

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

talk

 

function onSay(cid, words, param)
	local var,points = "[VIP Points] Este documento vale %s VIP Points para voce no site.",getPremiumPoints(cid)
	local min,max = 5, 100
	if param == "" or not tonumber(param) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, use somente numeros.") return true
	elseif tonumber(param) < min or tonumber(param) > max then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, Minimo "..min.." e Maximo "..max.." points.") return true
	elseif points < tonumber(param) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[VIP Points]: Desculpe, mas voce so possui "..points.." VIP Points.") return true
	end
	local item = doPlayerAddItem(cid, 9004,1) 
	doItemSetAttribute(item, "description", var:format(tonumber(param)))
	setPremiumPoints(cid, points-tonumber(param))
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[VIP Points]: Voce recebeu um paper com "..param.." VIP Points.")
	return true
end

 

 

actions:

 

paper_points.lua

function onUse(cid, item, frompos, item2, topos)
	local var = getItemAttribute(item.uid, "description")
	if var == nil then return true end
	local x = var:match("%b[]")
	if x == "[VIP Points]" then
		local ret = var:match("%d+")
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE," Voce recebeu "..ret.." VIP Points.")
		setPremiumPoints(cid, getPremiumPoints(cid)+ret)
		doRemoveItem(item.uid) 
	end
	return true
end

 

tag:

 

<action itemid="9004" script="paper_points.lua"/>

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Vlw Obrigado eu estava procurando esse script que bom que vc voltou cara.

Editado por doido (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 2 weeks later...

Muito bom, 100% aqui no 8.54 ^^ 

                                                                             1535210279_tumblr_o9b6yoxM1Z1tco8kto1_500(3).gif.f527686e19da738322c39555244decac.gif

                                                             Meus tópicos         

                                                         Se ajudei você deixe seu Rep! para fortalecer a amizade ^^

                                                                              Vamos ajudar o fórum a crescer mais.

                                                                          1641206641_gif-escudo-fla-3d(1).gif.a5d3c0c24824d5272a181aa91c5eda0c.gif

                                                                                                Mengão porra! . .

                                                                     tumblr_oxm8eriUeU1sqwgnro2_400.gif.22e347b2fc58fdfd88dbf84f4bdaa1bc.gif

                                                                                ----- NPC que vende informação -----

                                                                           -----Baú Que dá Outfit se tiver Level -----

                                                                     ----- [Npc] Que vende Stones (itens) por diamonds -----

 

 

                                                                       

                       

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
55 minutos atrás, Maik Silva disse:

Em qual arquivo em lib ? 

 

pode ser em

 

050-function

 

ou qualquer um

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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

@VodKart Desculpa reviver o topico, é que coloquei esse sistema no meu server, e da para clonar os Paper's e eles estao dando points mesmo sendo clonado.

Link para o post
Compartilhar em outros sites

@thithisdusei esse script é muito bom, as vezes esta acontecendo seu problema de clone pela função

doPlayerSave(cid),

que o @Vodkart comentou que com isso poderia anular o clone !!!

Link para o post
Compartilhar em outros sites
21 horas atrás, thithisd disse:

@VodKart Desculpa reviver o topico, é que coloquei esse sistema no meu server, e da para clonar os Paper's e eles estao dando points mesmo sendo clonado.

 

está clonando usando até a descrição do item?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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 thelifeofpbion
      [Esses dias criei um tópico pedindo isso, ninguém respondeu. Mas consegui criar juntando alguns scripts que tinha aqui]
      Basicamente é uma action que clica em algum lugar e limpa uma determinada área.

      <action actionid="XXXX" event="script" value="Limpa_area.lua"/>


      Limpa_area.lua
       



      Abraços ?
    • Por Pepeco
      • Mining System •
      Vim aqui disponibilizar o mining, não é tão avançado como o de outros mas ele é totalmente automático tanto para colocar items quanto para vender os items (alavanca). É uma script simples e fácil de entender, podendo ter alterações com pessoas que não tem muito experiencia em lua. Mesmo que ele seja simples, o forum esta morrendo, pretendo fazer updates nele, caso alguém tenha alguma ideia do que possa fazer, só deixar um comentário.
       
      • Explicação •
      › Mining_Config
      config = { Level = 8, Axe_Skill = 10, Paredes = {5646,5640,5645,5639,5644,5648}, } -- Level = Level necessario para minerar -- Axe_Skill = Skill de axe necessaria para poder minerar -- Paredes = Paredes que vao ser mineradas › Mining_Items
      config = { [1] = {Item = 2157, Random_min = 1, Random2_min = nil, Random_max = 3, Random2_max = nil, Count = 2, Special_Storage = nil, Magic_Effect = nil, Count_Shop = nil, Money_Shop = nil}, -- Gold Nugget } -- Random_min = A chance de cair o item em math.random -- Random2_min = Essa chance é menor, ou seja, mais dificil de cair. -- Random_max = É a chance maxima -- Random2_max = A mesma coisa que o de cima -- Count = A quantidade maxima que pode cair, é aleatorio -- Special_Storage = Caso voce queira que de alguma storage, para ver quantos players ja conseguiram e etc.. -- Magic_Effect = Caso queira que de algum magic effect diferente, se for nil, será o padrao. -- Count_Shop = Quantidade necessaria para poder vender o item no shop (alavanca) -- Money_Shop = Quanto que o item vai custar, por unidade ou seja, se eu colocar Count_Shop = 100 e Money_Shop = 2000, vai ser 100 * 2000. -- No final que tem esse "--" é o nome do item, é melhor se organizar assim, pois se ficar muitos items e voce querer fazer alguma manutenção, facilita muito.  
      Bom, eu acho que é isso, não tem mais nada para se explicar. Então vamos para o script.
       
      Data/lib
       
      Data/actions/scripts
      Data/actions -- Abra o actions.xml
      <action itemid="id do item" script="nome do arquivo"/>  
      Data/actions/scripts -- Esse aqui é o shop, não é obrigatório.
      Data/actions -- Abra o actions.xml
      <action actionid="id da action" script="nome do arquivo"/>  
      Caso tenha gostado, deixe seu REP+, ajuda e motiva muito trazer conteúdo para o forum.
       
    • Por lordzetros
      Olá pessoal da comunidade de Tibia!
         Bom, hoje trouxe um pequeno e simples script, mas que pode ajudar muita gente. Vi alguns posts referindo aos NPCs que trocam determinados itens por outros, então tive a ideia de fazer algo que possa ter uma função semelhante e que funcione de uma maneira rápida. Fique à vontade em utilizá-la da maneira que quiser.
      Como funciona?
          O usuário vai usar a alavanca e irá adicionar um item em troca de outra item que você configurou no script. Em outras palavras, o usuário irá ganhar uma determinada quantidade de um item em troca de outra quantidade de um item diferente. (Tudo configurável)
      VERSÃO TESTADA: 8.60 - OTX
      -->  Começando...
      Crie um arquivo com nome de changeItem.lua no diretório data/actions/scripts/
         Logo após, adicione esse código dentro do arquivo criado:
      -- Script por Lordzetros para o forum Tibia King. local config = { itemNec = 2160, -- ID do item que necessita para efetuar a troca qtNec = 50, -- Quantidade do item que necessita para efetuar a troca itemNovo = 10137, -- ID do item que sera adicionado ao efetuar a troca qtNova = 1, -- Quantidade do item que sera adicionado ao efetuar a troca stor = 25869, -- Storage, ou seja, a numeracao que identificara se o usuario fez ou nao fez a quest ainda } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getPlayerPosition(cid) if getPlayerStorageValue(cid,config.stor) ~= -1 then doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"So eh permitido fazer a troca de itens apenas uma vez!") doSendMagicEffect(pos, CONST_ME_POFF) elseif getPlayerStorageValue(cid,config.stor) == -1 then if item.itemid == 1945 then if getPlayerItemCount(cid,config.itemNec) >= config.qtNec then doPlayerAddItem(cid, config.itemNovo,config.qtNova) doPlayerRemoveItem(cid,config.itemNec,config.qtNec) doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR,"Voce acabou de trocar "..config.qtNec.." "..getItemNameById(config.itemNec).." por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_HOLYAREA) setPlayerStorageValue(cid, config.stor, 1) else doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Voce nao tem "..config.qtNec.." "..getItemNameById(config.itemNec).." para trocar por "..config.qtNova.." "..getItemNameById(config.itemNovo)..".") doSendMagicEffect(pos, CONST_ME_POFF) end end end end Em seguida, abra o arquivo com nome actions.xml que está localizada em data/actions/
          E adicione essa linha de código no mesmo:
      <action actionid="9139" event="script" value="changeItem.lua"/>    Preste atenção, pois o actionid será o número que irá colocar na alavanca em seu editor de mapa, ou seja, no caso acima está como 9139, logo, na alavanca terá que está como a seguinte imagem:

      Obs1.: Reparem que na imagem tem outro número destacado, que é o ID 1945, CERTIFIQUE-SE que a alavanca que irá utilizar no seu OT tenha esse mesmo ID, caso não tenha, basta mudar o número no código do script para o que irá utilizar no seu servidor.
      Obs2.: O código está configurado para que o usuário efetue a troca APENAS 1 VEZ, caso queira que ele troque quantas vezes quiser, apenas remova o seguinte comando do código:
       
      setPlayerStorageValue(cid, config.stor, 1) Obs3.: O resto que tinha que explicar está no próprio código, apenas faça um esforço de ler, agradeço.
       
       
        É isso, pessoal, espero que goste e aproveite. Como falei antes, é um código simples, pois comecei agora com Script, pretendo avançar no nível e funções que os mesmos desempenham, isso é só o começo, leve isso como uma prática de uma atividade para iniciante em scripts.   
    • Por Kemmlly
      Ha um tempo atrás eu procurei um Pet System bem simples pro meu servidor, e achei um muito bacana.
       
      TFS: 0.4
      Tibia: 8.6
       
      O sistema original foi postado pelo @Luquinha no tópico:
      O script funciona corretamente, eu fiz apenas algumas alterações e queria compartilhar caso vocês tenham as mesmas exigências que eu;
       
      * Ao tentar usar o PET em PZ não da mais erro na distro, sobe um efeito FAILED! no player e manda uma mensagem.
      * Agora cada PET precisa de um storage para ser usado, no meu caso, cada PET tem sua quest individual.
       
      O script modificado:
      function onUse(cid, item, frompos, item2, topos) local dolls = { [11256] = {pet = "Rat"}, [11207] = {pet = "Demon"}, [5791] = {pet = "Dragon"}, } local go = dolls[item.itemid] local summon = getCreatureSummons(cid) --------------------------------------------------- if not (getTilePzInfo(getCreaturePosition(cid))) then if #summon >= 1 then for _, pid in ipairs(summon) do doRemoveCreature(pid) doCreatureSay(cid, ""..go.pet..", Recuar!", TALKTYPE_ORANGE_1) end return true end if item.itemid == 5791 then if getPlayerStorageValue(cid, 6666) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11256 then if getPlayerStorageValue(cid, 4444) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa da quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end if item.itemid == 11207 then if getPlayerStorageValue(cid, 4445) == 1 then doConvinceCreature(cid, doSummonCreature(go.pet, getCreaturePosition(cid))) doCreatureSay(cid, ""..go.pet..", GO!", TALKTYPE_ORANGE_1) else doPlayerSendTextMessage(cid, 19, "Voce precisa fazer a quest para usar esse PET!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) end end else doPlayerSendTextMessage(cid, 19, "Voce nao pode sumonar seu PET em Protect Zone!") doSendAnimatedText(getPlayerPosition(cid), "Failed!", 180) return true end end Creditos: @Luquinha @Roksas @Kemmlly
    • Por Noninhouh
      Bom galera, hoje vim aqui trazer pra vocês um sisteminha bem legal que a PxG possui, no entanto, esse sistema eu fiz para um servidor de Tibia, então para vocês usarem em um derivado seria bom adapta-lo, devido a outros sistemas (como o fly do poketibia).
       
      Como seria esse sistema? Basicamente você digita o comando !walk e o seu personagem começará a andar na direção em que está virado até encontrar um obstáculo, ou até digitar o comando !walk novamente.
       
      Crie um arquivo chamado walk.lua em /data/talkactions/scripts/, e cole isso dentro:
       
      Em talkactions.xml coloque a tag:
      <talkaction words="!walk" event="script" value="walk.lua"/>  
      Em creaturescripts.xml, veja se já tem o evento "logout", caso não tenha coloque:
      <event type="logout" name="PlayerLogout" event="script" value="logout.lua"/>  
      Em /data/creaturescripts/scripts/, crie um arquivo chamando logout.lua (caso não tenha) e cole isso dentro:
       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo