Ir para conteúdo
  • Cadastre-se

Posts Recomendados

 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
  • 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 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 functi

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

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 

  Em 04/10/2017 em 14:28, Enzo Caue disse:

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

 

Mostrar mais  

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
  Em 04/10/2017 em 14:36, 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.

 

 

 

Expand   Mostrar mais  

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

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 Under
      Apresentando o Tibia-IA: A IA para Desenvolvimento de Servidores Tibia! 
       O que é o Tibia-IA?
      Um modelo de IA especializado para Tibia! Ele está atualmente em teste gratuito, e eu adoraria que vocês o experimentassem. Basta acessar https://ai.tibiaking.com, criar uma conta e começar a usar totalmente de graça! 
       Versão Experimental Fechada
      Atualmente, algumas funcionalidades ainda estão em desenvolvimento. No momento, apenas a geração de scripts está disponível para o público.
      Se encontrarem qualquer problema nos scripts gerados, me avisem! Vamos juntos construir a IA mais poderosa para ajudar no desenvolvimento de servidores Tibia!  
      Contato direto discord : underewar
       Acesse agora: https://ai.tibiaking.com
       Como funciona?
       Geração automática de scripts LUA para TFS  Suporte a diferentes eventos, criaturas, NPCs, magias, etc.  Ferramenta em constante evolução para aprimorar o desenvolvimento Novidades em breve confira no site. O acesso ao Tibia-IA está disponível para testes GRATUITOS! Até dia 05/05/2025
      Basta criar uma conta em: https://ai.tibiaking.com
      Utilize a IA para gerar seus scripts de forma simples e rápida
      Envie feedbacks para ajudarmos a tornar a ferramenta ainda melhor!

      Problemas relatar diretamente no meu discord pessoal : underewar
       



    • Por Under
      ATENÇÃO, DESENVOLVEDORES DE OTSERV! 
      Uma nova era está chegando — e você vai fazer parte dela desde o começo! 
       Ferramentas de IA + Formação Completa
      Estamos finalizando ferramentas exclusivas de inteligência artificial que vão revolucionar a forma como você cria e gerencia servidores de Tibia.
      E pra abrir com estilo, chegou a primeira etapa da nossa formação completa:
       Curso de Pixel Art para Tibia e Derivados


      Instrutor: Brendon Nogard, fundador da Pixel Art School
      Uma das maiores referências em arte para servidores de tibia no Brasil!
       Quem é o Nogard? @Nogard
      video-de-apresent.mp4
       
      Criador das primeiras remakes gráficas da PXG
      Mais de 10 anos de experiência com Pixel Art
      Conduziu a evolução da perspectiva GBA para um visual moderno e imersivo
      Influenciou uma geração inteira de criadores na comunidade OTServer no Brasil.
       O que você vai aprender nesse curso?
      Compre Aqui!
       Perspectiva 45° para Tibia e derivados
       Criação de itens: pokébolas, loots, mochilas, poções
       Personagens animados com variações de cabelo
       Criaturas como Wolf, Werewolf, Snake, Horse e Centauro
       Cenários: paredes, cortinas, troféus
       Texturas: folhas, rochas
       Fundamentos de estilo, coerência e construção de sprites profissionais
        Duração: 12 horas
        VALOR : R$250,00
       BÔNUS POR R$50,00
      Também está disponível o Curso de Pixel Art Top Down, ideal pra quem quer começar do zero absoluto:
      Crie personagens, inimigos, chefes
      Monte todo o ambiente do seu jogo
         Duração: 3 horas
       Por que isso é importante pra você?
      Esse é o primeiro passo pra criar um OTServer com:
       Identidade visual única
       Alto nível gráfico
       Suporte de ferramentas de IA exclusivas
       E um método claro, testado e acessível!
       Nas próximas 4 semanas...
      Vamos liberar novos cursos sobre:
       Criação de mapas
       Desenvolvimento de sistemas e scripts
       IA aplicada ao design de jogo (desenvolvimento)
       Balanceamento, mecânicas e muito mais!
       Garanta sua vaga agora!
      Comece hoje mesmo com o pé direito.
      Compre Aqui!
    • Por Under
      A CipSoft acaba de anunciar uma grande novidade: a empresa agora também será responsável pelo desenvolvimento e operação do clássico The Settlers Online! 
      O time que já cuidava do jogo seguirá dedicado ao projeto, mas agora diretamente do novo escritório da CipSoft em Düsseldorf, na Alemanha.
       
      Pra quem não conhece, The Settlers Online é um jogo com uma base de jogadores muito fiel e engajada — algo que a CipSoft conhece bem graças à comunidade Tibiana que, há décadas, mostra paixão, comprometimento e amor pelo jogo. 
      O mais importante:
      É incrível ver a CipSoft crescendo e levando seu espírito de comunidade para novos horizontes, sem esquecer de onde veio e quem está com ela há tantos anos. 
      Anúncio oficial no fórum do Tibia
      Site oficial de The Settlers Online (Brasil)
       
    • Por BTitan
      Reviva a nostalgia do Tibia 8.6 com um toque das novidades modernas, mantendo a essência clássica que você ama. Nosso mapa é limpo e otimizado, perfeito para wars intensas e estratégicas.
      Com mais de 100 áreas de caça, vocações equilibradas e eventos automáticos diários, garantimos diversão sem limites para todos os jogadores.
       
      ACC Manager: 1/1
      IP: go.baiaktitan.com
      https://www.baiaktitan.com
       
      Principais informações:
       
      Dedicado 24 horas sem lag Attack Speed moderado Cast System DODGE! CRITICAL! REFLECT! Upgrade Weapon Forge System Autoloot Anti Rollbacks Eventos exclusivos (Battle Royale, DOTA, Team Battle, entre outros...) Servidor integrado com Telegram (Contato direto com ADM) Cliente próprio (com novos itens, montarias e outfits) Mapa Baiak, modificado exclusivamente para o PvP Servidor otimizado, suportando mais de 1.000 players online  
      »» EXP Rate: 200x
      »» Skill Rate: 20x
      »» Magic Rate: 10x
      »» Loot Rate: 3x
       
      Aguardamos por você!
    • 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
       
       
       

       

       
       
       
  • Estatísticas dos Fóruns

    96846
    Tópicos
    519603
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo