Ir para conteúdo
  • Cadastre-se

(Resolvido){Pedido} Promotion automática.


Ir para solução Resolvido por Wakon,

Posts Recomendados

Olá!

 

Estou precisando de algum script, ou algum jeito de quando o player comprar premium account (isPremium) ele receber a promotion junto.

A premium é fornecida por um npc, então eu quero que quando o jogador compre a premium account a promotion venha junto. Sendo assim:

 

Um knight vire um Elite knight 

Um druid vire um Elder druid

Um sorcerer vire um Master sorcerer

um paladin vire um Royal paladin

 

Script do npc:

 

days = 30
vipcoins = 3031
quant = 10


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


function santaNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.present == true) then
if isPlayer(cid) then
if getPlayerItemCount(cid,vipcoins) >= quant then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,vipcoins,quant)
npcHandler:say('Obrigado, aqui estao seus 30 dias de Premium', cid)
else
npcHandler:say('Voce nao tem Coins suficientes!', cid)
end
end
npcHandler:resetNpc()
return true
end
end
npcHandler:setMessage(MESSAGE_GREET, "Ola. Eu vendo dias de {Premium}.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'premium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce gostaria de comprar 30 dias de Premium por 10 Coins?'})
node:addChildKeywordNode(yesNode)
node:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())

 

Agradeço a atenção!  ;D 

Oi

Link para o post
Compartilhar em outros sites

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServSuporte OTServSuporte de OTServ Geral"

Para: "OTServSuporte OTServSuporte de Scripts"

 

 

Em relação ao seu pedido, tente assim:

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 days = 30
local vipcoins = 3031
local quant = 10

function santaNPC(cid, message, keywords, parameters, node)
	if not npcHandler:isFocused(cid) then
		return false
	end
	local premText = ""
	if parameters.present then
		if isPlayer(cid) then
			if getPlayerItemCount(cid, vipcoins) >= quant then
				doPlayerAddPremiumDays(cid, days)
				doPlayerRemoveItem(cid, vipcoins, quant)
				if getPlayerVocation(cid) < 5 then
					doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
					premText = " e sua Promotion."
				end
				npcHandler:say("Obrigado, aqui estao seus 30 dias de Premium" .. premText, cid)
			else
				npcHandler:say("Voce nao tem Coins suficientes!", cid)
			end
		end
		npcHandler:resetNpc()
		return true
	end
end

npcHandler:setMessage(MESSAGE_GREET, "Ola. Eu vendo dias de {Premium}.")

local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})

local node = keywordHandler:addKeyword({'premium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce gostaria de comprar 30 dias de Premium por 10 Coins?'})
node:addChildKeywordNode(yesNode)
node:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())

Atenciosamente,

Bruno Minervino

Link para o post
Compartilhar em outros sites

Ai tem esse post que fis de uma olhadinha

http://www.tibiaking.com/forum/topic/53268-premium-automatico-do-site-tutorial/

 

se te ajudei mi ajude dando um like ^^

 
 
se te ajudei mi ajude com um like
 
post-154810-0-74779100-1428114524_thumb.        post-154810-0-22067300-1428114531_thumb.          post-154810-0-83198200-1427326965.gif
post-154810-0-48855100-1429834735.gif
 
 
 
 
0 comentários:

 

Link para o post
Compartilhar em outros sites

NPC:

days = 30
vipcoins = 3031
quant = 10
local storage = 55885


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


function santaNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.present == true) then
if isPlayer(cid) then
if getPlayerItemCount(cid,vipcoins) >= quant and getPlayerVocation(cid) <= 4 and getPlayerVocation(cid) >= 1 then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,vipcoins,quant)
npcHandler:say('Obrigado, aqui estao seus 30 dias de Premium', cid)
doPlayerSendTextMessage(cid, 22, "Congratulations, you've been promoted..")
doSendMagicEffect(getPlayerPosition(cid), 12)
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
setPlayerStorageValue(cid, storage, 1)
elseif getPlayerItemCount(cid,vipcoins) >= quant and getPlayerVocation(cid) > 4 then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,vipcoins,quant)
npcHandler:say('Obrigado, aqui estao seus 30 dias de Premium', cid)
else
npcHandler:say('Voce nao tem Coins suficientes!', cid)
end
end
npcHandler:resetNpc()
return true
end
end
npcHandler:setMessage(MESSAGE_GREET, "Ola. Eu vendo dias de {Premium}.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'premium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce gostaria de comprar 30 dias de Premium por 10 Coins?'})
node:addChildKeywordNode(yesNode)
node:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())

Vá em "Data/Creaturescripts/scripts" abra o login.lua e adicione o seguinte:

local vocstatus = getPlayerStorageValue(cid, 55885)
if vocstatus == 1 and getPlayerPremiumDays(cid) >= 1 then
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
return TRUE
end

Testei aqui e tá de boa, ele tira a promotion se estiver free, caso de algum bug me fale.

Link para o post
Compartilhar em outros sites

Ai tem esse post que fis de uma olhadinha

http://www.tibiaking.com/forum/topic/53268-premium-automatico-do-site-tutorial/

 

se te ajudei mi ajude dando um like ^^

 

Amigo, gostei do seu script e tudo mas não é exatamente o que eu quero. Quero um script que ao player comprar a premium seria adicionada automaticamente a promotion. :D

NPC:

days = 30
vipcoins = 3031
quant = 10
local storage = 55885


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


function santaNPC(cid, message, keywords, parameters, node)
if(not npcHandler:isFocused(cid)) then
return false
end
if (parameters.present == true) then
if isPlayer(cid) then
if getPlayerItemCount(cid,vipcoins) >= quant and getPlayerVocation(cid) <= 4 and getPlayerVocation(cid) >= 1 then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,vipcoins,quant)
npcHandler:say('Obrigado, aqui estao seus 30 dias de Premium', cid)
doPlayerSendTextMessage(cid, 22, "Congratulations, you've been promoted..")
doSendMagicEffect(getPlayerPosition(cid), 12)
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
setPlayerStorageValue(cid, storage, 1)
elseif getPlayerItemCount(cid,vipcoins) >= quant and getPlayerVocation(cid) > 4 then
doPlayerAddPremiumDays(cid,days)
doPlayerRemoveItem(cid,vipcoins,quant)
npcHandler:say('Obrigado, aqui estao seus 30 dias de Premium', cid)
else
npcHandler:say('Voce nao tem Coins suficientes!', cid)
end
end
npcHandler:resetNpc()
return true
end
end
npcHandler:setMessage(MESSAGE_GREET, "Ola. Eu vendo dias de {Premium}.")


local noNode = KeywordNode:new({'no'}, santaNPC, {present = false})
local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true})


local node = keywordHandler:addKeyword({'premium'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Voce gostaria de comprar 30 dias de Premium por 10 Coins?'})
node:addChildKeywordNode(yesNode)
node:addChildKeywordNode(noNode)
npcHandler:addModule(FocusModule:new())

Vá em "Data/Creaturescripts/scripts" abra o login.lua e adicione o seguinte:

local vocstatus = getPlayerStorageValue(cid, 55885)
if vocstatus == 1 and getPlayerPremiumDays(cid) >= 1 then
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
return TRUE
end

Testei aqui e tá de boa, ele tira a promotion se estiver free, caso de algum bug me fale.

 

Pelo que entendi o player compra a premium e também vem a promotion, e quando a premium acaba a promotion também acaba? Se for isso está perfeito, por que esqueci de citar no tópico pra quando a premium acabar a promotion também ser retirada  :facepalm:  Aqui não deu nenhum error amigo, está funcionando perfeitamente, mas só outra pergunta... Teria como colocar para todos personagens da conta ganharem promotion mesmo offline? 

Oi

Link para o post
Compartilhar em outros sites

Amigo, gostei do seu script e tudo mas não é exatamente o que eu quero. Quero um script que ao player comprar a premium seria adicionada automaticamente a promotion. :D

 

Pelo que entendi o player compra a premium e também vem a promotion, e quando a premium acaba a promotion também acaba? Se for isso está perfeito, por que esqueci de citar no tópico pra quando a premium acabar a promotion também ser retirada  :facepalm:  Aqui não deu nenhum error amigo, está funcionando perfeitamente, mas só outra pergunta... Teria como colocar para todos personagens da conta ganharem promotion mesmo offline? 

ai amigo esse script funciona asim vc vai no site i compra premium ou vip lá ai ja entra automático não precisa de clikar em augoitem para ganhar o vip/premium

 

i sim todos os personagens ganha promotion

Editado por Tibia2015br (veja o histórico de edições)
 
 
se te ajudei mi ajude com um like
 
post-154810-0-74779100-1428114524_thumb.        post-154810-0-22067300-1428114531_thumb.          post-154810-0-83198200-1427326965.gif
post-154810-0-48855100-1429834735.gif
 
 
 
 
0 comentários:

 

Link para o post
Compartilhar em outros sites

ai amigo esse script funciona asim vc vai no site i compra premium ou vip lá ai ja entra automático não precisa de clikar em augoitem para ganhar o vip/premium

 

i sim todos os personagens ganha promotion

 

Não amigo. Seu script é um movements que impede os free de entrarem em determinadas áreas. Preste mais atenção!

Oi

Link para o post
Compartilhar em outros sites
  • Solução

Tenta assim, tira o que eu te passei do login.lua e coloca isso no lugar:

if getPlayerStorageValue(cid, 55885) <= 0 and getPlayerPremiumDays(cid) >= 1 then
setPlayerStorageValue(cid, 55885, 1)
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
return true
end
local vocstatus = getPlayerStorageValue(cid, 55885)
if vocstatus == 1 and getPlayerPremiumDays(cid) >= 1 then
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
end
Link para o post
Compartilhar em outros sites

 

Tenta assim, tira o que eu te passei do login.lua e coloca isso no lugar:

if getPlayerStorageValue(cid, 55885) <= 0 and getPlayerPremiumDays(cid) >= 1 then
setPlayerStorageValue(cid, 55885, 1)
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
return true
end
local vocstatus = getPlayerStorageValue(cid, 55885)
if vocstatus == 1 and getPlayerPremiumDays(cid) >= 1 then
doPlayerSetVocation(cid, getPlayerVocation(cid) + 4)
end

 

Perfeito  :wow:

Oi

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 hekan19
      Olá pessoal,
       
      Estou com um problema no sistema de autoloot.
      Ao abrir um Pokémon, itens aparecem no chão. Recebo "0" no console do TFS.
       
      Obrigado pela ajuda
    • Por Thiagodsw
      Olá galera do Tibia King !
      Venho por meio deste tópico, publicar a ultima versão do meu servidor derivado de Tibia NTO Battle.
       
      deixei para brincarem e verem sistemas, as sources não disponibilizarei nem o site. afinal é um projeto que fiz com carinho e está a venda as sources. Thogo#9713
       
      O que tem de diferente no NTO Battle ? 
       
      Aura System e Wings Healthbar Monster Bar Healthbar vocation Sistema Raridade Shaders Dungeons e Tasks Game Shop Entre outros Veja algumas Imagens !
       
       
      O que tem nesse Pacote de Arquivos NTO Battle? 
       
      Datapack mais recente e completa do servidor. ( compilada pra windows Client Compilado SQL
      ACC GOD - god/god


      QUALQUER MSG NO DISCORD Thogo#9713
      -source client e otserv e site.
       
      DOWNLOAD  &  SCAN


       
      Client:
      https://mega.nz/file/hbgnSDRJ#xQT-qQHWLUV2Dn8jalwMGblCWnmL0_s3rZfqbxO7znw
      Server:
      https://mega.nz/file/sSZXlZ6a#gow-Db6diNVrnnPIH7qyBqP8WmVLFxWy85-yub_f32Y


       
      Scan
      Client
      https://www.virustotal.com/gui/file/86da72135d75d826c2665bb572084c30288eea843c2cfe2f7a405cfe1ea2f59c/detection
      Servidor
      https://www.virustotal.com/gui/file/cfa4d83c8b6c12fa0daf28cefd6762a053aee7245e6be8f5c02594825a2e2c1e?nocache=1
    • Por Ocrux
      Procuro equipe pra abrir um OT Rookgaard. 
      To terminando o mapa, acho que ta bonito e pouco grandinho.
       
      RookSmart
      Continente único, na base de Rookgaard & com cidades de referencias as do Tibia.
      Por hora tem 4 cidades Prontas: Rookgaard, Carlore, Liadahar e Akuahmun.
      Estou terminando a 5ª cidade: Dahlia (de gelo) & já to achando uma boa ideia colocar Roshamuul (já providenciei).
      O servidor ta em TFS 0.4, com sources & na versão 8.6 (creio eu que parado no tempo).
       
      Quem quiser formar uma equipe pra botar on & terminar o que falta, whatsapp: 15 935001689

      Mapa Mundi
       
       
    • Por Fir3element
      Reporte qualquer bug encontrado.
       
      - Mudanças:
      * opcode adicionado
      * Monstros andando em cima de corpos
      * War system arrumado
      * Anti-divulgação melhorado
      * Cast system arrumado
      * Crash bugs arrumados
      * Adicionado exhaust ao comprar/vender items
      * Account manager com opção para cidades
      * /ghost stacking arrumado
      * !disband arrumado
      * Erros no linux arrumado
      * Aleta som arrumado
      * Bug nos rings arrumado
      * Adicionado suporte para Visual Studio
      * Remover battle ao entrar em PZ
      * Não pode jogar lixo em casas
      * Salt removido
       
      - Downloads:
      * Distro (x32): https://github.com/Fir3element/binaries/raw/master/x32-windows.zip
      * Distro (x64): https://github.com/Fir3element/binaries/raw/master/x64-windows.zip
      * Requisitos: Microsoft Visual C++ Redistributable Package
      * Source + datapack: https://github.com/Fir3element/3777/archive/refs/heads/main.zip
       
      - Scans:
      * Distro (x32): https://virustotal.com/pt/file/6683a91273b848a39ac21288da9d3abde341436744d6846e35a477c8e7c8f5f7/analysis/1480675335/
      * Distro (x64): https://virustotal.com/pt/file/21028857bb1124f19e0353e7f5775c8f66afc4f87f29df9cf4ab8ca1a046b816/analysis/1480675394/
      * Source + datapack: https://virustotal.com/pt/file/3761b48ee19f3f540d4c4a48c35c73c89a85615876307073494b1dcfed464d36/analysis/1480675473/
    • Por wallaceg15
      Sempre que mato o poke, cai um corpinho e o pokemon continua vivo, e aparece esse erro na distro... Alguém poderia me ajudar? 
       
      [Error - CreatureScript Interface]
      data/creaturescripts/scripts/player/statsChange.lua:onStatsChange
      Description:
      data/lib/towerSystem.lua:931: attempt to index global 'magmaTP2' (a nil value)
      stack traceback:
              data/lib/towerSystem.lua:931: in function 'doKillBossTower'
              data/lib/Death System.lua:599: in function 'doKillWildPoke'
              data/creaturescripts/scripts/player/statsChange.lua:1461: in function <data/creaturescripts/scripts/player/statsChange.lua:6>
      statsChange.lua towerSystem.lua Death System.lua
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo