Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Alguém Por gentileza poderia  fazer um script ou conhece algum feito, de transferência de Premium points dentro do jogo por trade. Como seria :

 

1° -  NPC NamekJin Seller : --->  Em que vende um documento Premium Points Transfer document, com vários valores estipulados de points como 10 20 30 40 50 até 100 . note que para adquirir as quantias dos pontos você devera falar : ex: 10, ppt  20 ppt, 30, ppt até o limite 100. :

img1.png.a4c36cbe22a43584aca8711347692b8a.png

================================================

2° - O player escolhe comprar o documento de "10,ppt" :

 

59d1c3d2ed052_comprando10ppts.png.52eb32c32adb105dfb2917dece032c90.png

===============================================

3° - O player obtêm o documento intermediário para efetuar a troca no trade :

 

 loook.png.dd07a3c4330c8544e5ac09f888541ee4.png

================================================

 

 

4° - Efetuando a troca :                                                  

 59d1c7fa37f9a_efetuandootrade.png.a3764c4a8288793d926d6382a1abf212.png

 

 

5° Se o player não tiver points na conta ou o Premium Points Transfer document, não estiver em uma bag  não efetuara a transferência, caso o player tenha os 10 pontos na conta a troca será efetuada, e os points transferidos, e o documento irá desaparecer.

 

59d1c89201aba_transferenciainvalida.png.fa7ddaaf6dac1418279749fce69b937a.png

 

 

O que seria esse documento ?, seria um documento que o player ao dar trade em outro player ele faz a intermediação, ou seja( o player  compra um Premium Points Transfer Document de valor 10 no npc (porem os points não estão no documento ele só vai intermediar na troca com o player se o player tiver os 10 pontos na conta assim que ele aceitar o trade os pontos são transferidos e o premium points transfer document desaparece.

 

alguns recursos que eu já implementei na source :

 

doStartTrade(cid, target, item)
onTradeAccept(cid, target, item

 

Agora que peço humildemente de coração alguém pode me ajudar a desenvolver esse sistema, eu não sei como fazer esse script por favor alguém pode me ajudar ?

 

 

 

Editado por SilentKill
não tinha terminado (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Respostas 40
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Olá @SilentKill pelo que eu entendi do sistema é o seguinte, funciona como uma troca de PONTOS por ITEMS usando o trade. correto?   Aqui vai os scripts!   1º Em data/npc/scripts ad

Tranquilo cara, mas você sabe que os players iram abusar né? criando vários documentos e jogando no chão e tals... Mas posso fazer sim pra você.

@SilentKill Qual o seu sistema de premium points? Posta aqui. 

Posted Images

1 hora atrás, Tauzyu disse:

Gostaria desse npc tambem

eu ja fiz uns testes com essas duas funções que citei orei não sei formular o script sera que tem alguma alma boa que pode nos ajudar ?

o script que criei eu me deparei com 1 poblema o papel nao some no trade e nao verifica se o player tem points ou nao

Link para o post
Compartilhar em outros sites
6 minutos atrás, gutalo disse:

Esse script foi pago para ser feito ricca pagou uma facada boa nisso, pois tem que ter a tabela no phpmyadmin tbm.

quem fez esse script foi o faramir, na epoca ele lançou no tibia dele tambem todos acham que e bem complicado porem nao e tao complicado assim alguem experiente tenho certeza que faz, por isso fiz esse topico pra ver se alguem formula essa ideia pois meu script esta imcompleto porem ja transfere os pontos e retira do ouro player alem de dar trade com o item eu estou quase terminando com a função do oneshot, mais se ninguém ajudar vou desenvolver por conta, e volto aqui e mostro como ficou no meu caso so falta uma simples coisa que e remover o documento do trade. que com uma função doRemoveItem ja resolve noa testei ainda.

Editado por SilentKill (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
17 minutos atrás, SilentKill disse:

não tem sistema e um pedido de script formulado com imagens

Se você nao tem um sistema de premium points, como quer que o npc entregue os premium points ao player?

dont make any fucking sense.

Editado por Enzo Caue (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
5 minutos atrás, Enzo Caue disse:

Se você nao tem um sistema de premium points, como quer que o npc entregue os premium points ao player?

dont make any fucking sense.

 

QUEM DISSE QUE EU PEDI QUE FOSSE UM NPC AMIGAO ? LEIA O POST COMPLETO DEPOIS VOLTA E ME RESPONDE. 

Agora que peço humildemente de coração alguém pode me ajudar a desenvolver esse sistema, eu não sei como fazer esse script por favor alguém pode me ajudar ?

 

Link para o post
Compartilhar em outros sites

 sobre o sistema de premium points.. voce tem ou nao ?

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

antes de postar alguma coisa esporando alguém leia o tópico pelo menos ajuda,  o fórum, e para compartilhar ideia, não discutir 

4 minutos atrás, Enzo Caue disse:

 sobre o sistema de premium points.. voce tem ou nao ?

 

novamente vejo que você e leigo, vou te explicar, ai talvez pois vejo que voce nao vai ganhar nada falando bobagem nesse topico, o que tenho e a função doStartTrade e onTradeaccept, implementadas na  source para  ser chamada em um script que interage com um npc no caso seria dois scripts que NÃO ESTÃO FEITOS!!!, esse post e para programadores se ajudarem a desenvolver esse codigo, noa tem nada pronto!!! você quer de mão beijada ?? não sou obrigado e me virar nos 30 e te da rum sistema sendo que não esta pronto!, leiam o post e se for falar algo desnecessário nem comente por favor.

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

cara, para de ser louco...

é mais facil voce criar varios scrolls e atribuir a cada um x valor, ex. scrol 1 = 10 pp, scroll 2 = 20 pp.

o script do premium scroll é facil, toma.

local function doPlayerAddPremiumPoints(cid, count)
		db.query('UPDATE accounts SET premium_points = premium_points+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid)))
end

function onUse(cid, item, fromPosition, itemEx, toPosition) 
	doPlayerAddPremiumPoints(cid, VALORDOSCROLL)
	doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have recived VALORDOSCROLL Coins to your account.")
	doSendMagicEffect(getCreaturePosition(cid), 28)
	doRemoveItem(item.uid,1)
	return true
end

onde tem VALORDOSCROLL vc troca pelo valor que vc quiser.

dps só atribuir uma action pro item e pronto.

quando o player usar ele vai receber os pontos na conta dele.

 

pra vender o scroll vc pode vender pelo site pelo preco do scroll mesmo.

 

quanta dificuldade.

 

 

 

script para tfs 1.x

 

ai na hora do trade, quando o player 1 for vender pro player 2, não vai precisar dessa frescura toda.

 

quanto menos código + agil.

 

 

Editado por Enzo Caue (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
9 minutos atrás, Enzo Caue disse:

cara, para de ser louco...

é mais facil voce criar varios scrolls e atribuir a cada um x valor, ex. scrol 1 = 10 pp, scroll 2 = 20 pp.

o script do premium scroll é facil, toma.


local function doPlayerAddPremiumPoints(cid, count)
		db.query('UPDATE accounts SET premium_points = premium_points+'.. count ..' WHERE id = ' .. getAccountNumberByPlayerName(getCreatureName(cid)))
end

function onUse(cid, item, fromPosition, itemEx, toPosition) 
	doPlayerAddPremiumPoints(cid, VALORDOSCROLL)
	doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You have recived VALORDOSCROLL Coins to your account.")
	doSendMagicEffect(getCreaturePosition(cid), 28)
	doRemoveItem(item.uid,1)
	return true
end

onde tem VALORDOSCROLL vc troca pelo valor que vc quiser.

dps só atribuir uma action pro item e pronto.

quando o player usar ele vai receber os pontos na conta dele.

 

pra vender o scroll vc pode vender pelo site pelo preco do scroll mesmo.

 

quanta dificuldade.

 

 

 

script para tfs 1.x

 

ai na hora do trade, quando o player 1 for vender pro player 2, não vai precisar dessa frescura toda.

 

quanto menos código + agil.

 

 

 

Obrigado por compartilhar, não é pra isso e tópico, vou terminar meu script e demostrar como seria, como seria, dessa maneira, como uso tfs 0.4 8.60 os players podem, clonar o scroll, e atribuir pontos, esse sistema e para fazer trocar dentro do jogo usando o trade, assim que o player da trade em outro player com o documento quando ele der ok, os pontos serão transferidos para a conta do outro player e os pontos retirados da conta do player

Link para o post
Compartilhar em outros sites

Olá @SilentKill pelo que eu entendi do sistema é o seguinte, funciona como uma troca de PONTOS por ITEMS usando o trade. correto?

 

Aqui vai os scripts!

 

1º Em data/npc/scripts adicione um arquivo chamado NamekJin Seller.lua e cole isso dentro:

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 greetCallback(cid)
	talkState[cid] = 0
	return true
end

function creatureSayCallback(cid, type, msg)
	if (not npcHandler:isFocused(cid)) then
		return false
	end
	if talkState[cid] == nil or talkState[cid] == 0 then
		Count_Points = tonumber(msg)
		if isInArray(Points_Trade.Points, Count_Points) then
			npcHandler:say("Do you want to buy a premium points transfer document that will transfer ".. Count_Points .." premium points, right?", cid)
			talkState[cid] = 1
		else
			npcHandler:say("Escolha um numero entre ".. table.concat(Points_Trade.Points, ', ') ..".", cid)
			talkState[cid] = 0
		end
	elseif talkState[cid] == 1 then
		if msgcontains(msg, 'yes') then
			local Document = doCreateItemEx(Points_Trade.Document_ItemID)
			doItemSetAttribute(Document, "name", "".. Count_Points .." premium points transfer document")
			doItemSetAttribute(Document, "points", Count_Points)
			doPlayerAddItemEx(cid, Document)
			npcHandler:say("Você obteve um documento que vale ".. Count_Points .." premium points, use ele no trade com alguem.", cid)
			talkState[cid] = 0
		else
			npcHandler:say("Ok, volte mais tarde.", cid)
			talkState[cid] = 0
		end
	end
	return true
end

npcHandler:setMessage(MESSAGE_GREET, "Ola |PLAYERNAME|. Eu vendo alguns utensílios e Premium Points transfers para você transferir pontos para outros jogadores, lembre-se para comprar use '10,ppt' para 10 pontos.")
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

2º Em data/lib adicione um arquivo chamado Points_Trade.lua e cole isso dentro:

Points_Trade = {
	Document_ItemID = 1954,
	Points = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100},
}

function DocumentPoints(Item)
	return tonumber(getItemAttribute(Item.uid, "points"))
end

function getPlayerPoints(cid)
	local AccountID = getPlayerAccountId(cid)
	local Points = 0
	local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = ".. AccountID .."")
	if Result:getID() ~= -1 then
		Points = Result:getDataInt("premium_points")
	end
	return tonumber(Points)
end

function doPlayerAddPoints(cid, Points)
	local AccountID = getPlayerAccountId(cid)
	local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = '".. AccountID .."'")
	if Result:getID() ~= -1 then
		db.executeQuery("UPDATE `accounts` SET `premium_points` = " .. getPlayerPoints(cid) + Points .. " WHERE `id` = " .. AccountID .. ";")
	end
	return true
end

function doPlayerRemovePoints(cid, Points)
	local AccountID = getPlayerAccountId(cid)
	local Result = db.getResult("SELECT `premium_points` FROM `accounts` WHERE `id` = '".. AccountID .."'")
	if Result:getID() ~= -1 then
		db.executeQuery("UPDATE `accounts` SET `premium_points` = " .. getPlayerPoints(cid) - Points .. " WHERE `id` = " .. AccountID .. ";")
	end
	return true
end

3º Em data/creaturescripts/scripts adicione um arquivo chamado Points_Trade.lua e cole isso dentro:

function onTradeAccept(cid, target, item, targetItem)
	if isPlayer(cid) and isPlayer(target) then
		if item.itemid == Points_Trade.Document_ItemID then
			doPlayerSendTextMessage(target, MESSAGE_STATUS_WARNING, "Você recebeu ".. DocumentPoints(item) .." premium points.")
			doPlayerAddPoints(target, DocumentPoints(item))
			doPlayerRemovePoints(cid, DocumentPoints(item))
			addEvent(doPlayerRemoveItem, 1, target, Points_Trade.Document_ItemID, 1)
		elseif targetItem.itemid == Points_Trade.Document_ItemID then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você recebeu ".. DocumentPoints(targetItem) .." premium points.")
			doPlayerAddPoints(cid, DocumentPoints(targetItem))
			doPlayerRemovePoints(target, DocumentPoints(targetItem))
			addEvent(doPlayerRemoveItem, 1, cid, Points_Trade.Document_ItemID, 1)
		end
	end
	return true
end 

function onTradeRequest(cid, target, item)
	if item.itemid == Points_Trade.Document_ItemID then
		if getPlayerPoints(cid) < DocumentPoints(item) then
			doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você não tem ".. DocumentPoints(item) .." para realizar uma troca.")
			return false
		end
	end
	return true
end

4º Em data/creaturescripts/scripts/login.lua adicione isso dps de qualquer linha que contenha registerCreatureEvent

registerCreatureEvent(cid, "Points_Trade_Request")
registerCreatureEvent(cid, "Points_Trade")

 

5º Em data/creaturescripts/creaturescripts.xml adicione uma tag:

<event type="traderequest" name="Points_Trade_Request" event="script" value="Points_Trade.lua"/>
<event type="tradeaccept" name="Points_Trade" event="script" value="Points_Trade.lua"/>

6º Em data/npc adicione um arquivo chamado NamekJin Seller.xml e coloque isso dentro:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NamekJin Seller" script="NamekJin Seller.lua" walkinterval="2000" floorchange="0">
	<health now="100" max="100"/>
	<look type="138" head="97" body="59" legs="45" feet="102" addons="2"/>
</npc>

 

Se te ajudou marque como melhor resposta!, obrigado.

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

vou testar

@Danyel Varejao  muito bom cara e quase isso, eu testei o sistema, ele esta adicionando os pontos porem não esta removendo do outro player, queria saber se você poderia adicionar uma mensagem para quando o trade for completado e uma duvida os pontos ele são adicionados no papel pelo npc no caso so pontos estao no papel e se qualquer um pegar esse papel ele pode transferir ? 

 

no caso o npc nao checa se o player tem pontos na conta ou nao os pontos sao removevidos após o trade, ele so gera o documento com os valores para a troca

Link para o post
Compartilhar em outros sites

Abaixo dessa linha

doPlayerAddItemEx(cid, Document)

Adicione isso:

doPlayerRemovePoints(cid, Count_Points)

Lembrando que o sistema é o seguinte, o npc transforma uma quantidade de pontos que você tem em um Papel valendo essa quantidade.

Então os pontos vão ser removidos assim que gerar o papel.

 

Me diga como quer a mensagem ao realizar a troca.

Editado por Danyel Varejao (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
26 minutos atrás, Danyel Varejao disse:

Abaixo dessa linha


doPlayerAddItemEx(cid, Document)

Adicione isso:


doPlayerRemovePoints(cid, Count_Points)

Lembrando que o sistema é o seguinte, o npc transforma uma quantidade de pontos que você tem em um Papel valendo essa quantidade.

Então os pontos vão ser removidos assim que gerar o papel.

 

Me diga como quer a mensagem ao realizar a troca.

 

cara muito bom parabéns gostei bastante. muito Obrigado. a mensagem eu ja adicionei queria saber, se ao invés de adicionar os pontos para o documento, o npc so gerar o documento com a descrição dos pontos ex: 10 premium points, e quando o player der trade com o documento,  e aceitar, o documento e removido e os points removidos da conta tambem, entao o documento nao armazena points apenas intermediá a transação. mais já esta ótimo obrigado mesmo

Link para o post
Compartilhar em outros sites
1 minuto atrás, SilentKill disse:

cara muito bom parabéns gostei bastante. muito Obrigado. a mensagem eu ja adicionei queria saber, se ao invés de adicionar os pontos para o documento, o npc so gerar o documento com a descrição dos pontos ex: 10 premium points, e quando o player der trade com o documento,  e aceitar, o documento e removido e os points removidos da conta tambem, entao o documento nao armazena points apenas intermediá a transação. mais já esta ótimo obrigado mesmo

Tranquilo cara, mas você sabe que os players iram abusar né? criando vários documentos e jogando no chão e tals... Mas posso fazer sim pra você.

Link para o post
Compartilhar em outros sites
5 minutos atrás, Danyel Varejao disse:

Tranquilo cara, mas você sabe que os players iram abusar né? criando vários documentos e jogando no chão e tals... Mas posso fazer sim pra você.

Cara muito Obrigado ficarei no aguardo, 

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 Nogard
      Não deixe seu evento de Natal para última hora, faltam apenas 4 dias. 

      Aproveite as sprites com desconto no site: https://otsprites.com
       
       
       

       

       
       
       
    • Por otpokesalense
      🧿Base Tibia Solebran totalmente otimizada!  
       
       ✔️ OTClient (Version Old);
      ✔️ Update 2.2;
      ✔️ Site Póprio;
      ✔️ Map Global
      ✔️ Bugs, Minimo (2x) talvez;
      ✔️ PVP 💯 Funcional.
       
       
      Get Servidor: https://files.fm/f/7qumr8943e 💸 Buy! otimo projeto para vc utilizá-lo.
      Lembrando:: ao comprar o download será disponibilizado automaticamente.
       
      🧑‍💻System Operacional: Windows (VPS)
      👨‍💻Programador (27) 998931903 - - - O Valor já inclui o serviço de programação! 🤗
       

       
       

       
       
    • Por Arkanjo39
      CUIDA, CUIDA E VEM CONHECER NOSSO SERVER. KING BAIAK ACABOU DE SER LANÇADO!!! VEM SER O TOP 1 Site com Otclient: https://kingbaiak.com/ PARA NOVOS JOGARES ADM TA DANDO AQUELA FORCINHA! SERVIDOR 8.60 COM RESETS, MONTARIAS E GOLDEN OUTFIT! INFORMAÇÕES BÁSICAS DO SERVIDOR: [+] MAPA BAIAK [+] HIGH EXP [+] RESETS COM + DAMAGE [+] AUTOLOOT AUTOMÁTICO [+] CITY DONATE [+] ROSHAMUUL, ORAMOND E NETHER [+] MONTARIAS E GOLDEN OUTFIT [+] INVASÃO DE MONSTROS AUTOMÁTICAS [+] DAILY MONSTER QUE APARECE AO LOGAR [+] MONTARIAS COM COMANDO !MOUNT [+] SISTEMA DE ROLETA ATUAL [+] CAST WATCH [+] FAST ATTACK [+] CAST ARROWS [+] PUSH CRUZADO [+] REWARD CHEST [+] WARSQUARE [+] COMBO EXP DE POTIONS [+] MINERAÇÃO COM LOJA [+] SISTEMA DE BOSS [+] CRITICAL/DODGE [500/500] [+] LIFE E MANA EM PORCENTAGEM* [+] VARIAS QUESTS [+] EVENTO DTT (AUTOMÁTICO) [+] EVENTO BATLEFIELD (AUTOMÁTICO) [+] EVENTO SNOWBALLWAR (AUTOMÁTICO) [+] EVENTO DESERT WAR (AUTOMÁTICO) [+] EVENTO ZOMBIE (AUTOMÁTICO) [+] EVENTO CAMPO MINADO (AUTOMÁTICO) [+] EVENTO TEAM BATLE (AUTOMÁTICO) [+] EVENTO CAPTURE THE FLAG (AUTOMÁTICO)
    • Por BTitan
      Baiak Titan: Uma Experiência Incomparável no Universo Baiak
       
      O Baiak Titan combina a nostalgia dos antigos tempos de OTServ com a inovação e modernidade atuais. Oferecemos um mapa vasto, com mais de 100 áreas de caça para explorar, além de vocações equilibradas para um PvP justo e emocionante. Diversos eventos automáticos ocorrem diariamente, garantindo diversão constante para os jogadores. O servidor conta com vários sistemas, como por exemplo, montarias para quem utiliza o cliente exclusivo, monstros do Tibia 9.6+, sistema de mineração, entre outros!
       
      Por Que Escolher o Baiak Titan?
       
      PvP de Alta Qualidade: Embora seja um servidor Baiak, nosso mapa é cuidadosamente projetado para proporcionar ganho de experiência sem perder a seriedade do jogo, oferecendo desafios instigantes e um equilíbrio perfeito para combates épicos.
      Jogabilidade Customizada: O mapa Baiak foi exclusivamente adaptado para promover intensas batalhas de PvP, com recursos inovadores que mantêm a jogabilidade sempre fresca e emocionante.

      Detalhes do Servidor:
       
      IP: baiaktitan.com Website: https://baiaktitan.com Account Manager: 1/1
        Principais Características:
       
      Uptime 24/7, Sem Lag: Jogue a qualquer hora com a estabilidade de servidores dedicados e de alta performance. Velocidade de Ataque Equilibrada: Ajustada perfeitamente para garantir combates dinâmicos e justos. Sistema de Cast: Transmita suas jogadas ao vivo e assista aos seus amigos em ação. Cliente Exclusivo: Software personalizado com novos outfits, montarias e criaturas, enriquecendo ainda mais sua experiência no jogo. Runas, Poções e Flechas Não Infinitas: Valorizamos uma jogabilidade mais estratégica e desafiadora, onde os recursos precisam ser geridos com sabedoria.
      Eventos Automáticos:
       
      Zombie Team Battle Monster Hunter Castle (War of Emperium) Capture The Flag DOTA Corrida Arena War (O último sobrevivente ganha) Fire Storm
        Taxas do Servidor:
       
      EXP: 200x (com stages)
      Skill: 100x
      Magic: 30x
      Loot: 3x
       
      Junte-se à nossa comunidade e viva essa aventura única. O Baiak Titan espera por você!



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo