Ir para conteúdo
  • Cadastre-se

[TFS 1.2+] Invite Players System!


Posts Recomendados

Parabéns, seu tópico de conteúdo foi aprovado!
Muito obrigado pela sua contribuição, nós do Tibia King agradecemos.
Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP.

Spoiler

Congratulations, your content has been approved!
Thank you for your contribution, we of Tibia King we are grateful.
Your content will help many other users, you received +1 REP.

 

Link para o post
Compartilhar em outros sites

Podia indentar as funções, né..

 

Mas bom trabalho mesmo assim.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites

Eu vi esse sistema pra 8.6 que você tinha feito e tava pensando em converter mas... fiquei com preguiça G_G.

Eu não vi mas... ele checa ip?

beijao lindo

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
47 minutos atrás, login12 disse:

Eu vi esse sistema pra 8.6 que você tinha feito e tava pensando em converter mas... fiquei com preguiça G_G.

Eu não vi mas... ele checa ip?

beijao lindo

 

Não, mas é só adicionar uma linha para isso, se precisar de ajuda só falar!

Não vi necessidade porque de qualquer jeito teria que upar char pra isso e nem todo mundo vai fazer isso por ser chato demais '-'

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
Agora, Vodkart disse:

 

Não, mas é só adicionar uma linha para isso, se precisar de ajuda só falar!

Não vi necessidade porque de qualquer jeito teria que upar char pra isso e nem todo mundo vai fazer isso por ser chato demais '-'

 

Dependendo das rates do servidor talvez nem seja... Pensa se o administrador do otserver tiver rates altas e colocar um level apenas significativo e como recompensa pontos... poderia ser abusado se fosse do mesmo ip. :hum:

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
31 minutos atrás, login12 disse:

 

Dependendo das rates do servidor talvez nem seja... Pensa se o administrador do otserver tiver rates altas e colocar um level apenas significativo e como recompensa pontos... poderia ser abusado se fosse do mesmo ip. :hum:

 

function onSay(player, words, param)
	local param = param:lower()
	if param == "" or not param then
		player:sendCancelMessage("Você precisa digitar o nome de um jogador.") return false
	elseif param == "points" then
		player:popupFYI("[+] Invite Friend System [+]\n\nvocê tem ["..getInvitePoints(player).."] Friends Points.") return false
	elseif hasInviteFriend(player) then
		player:sendCancelMessage("Você já agradeceu o jogador ["..getNameFriend(player).."] por te convidar a jogar neste servidor.") return false
	elseif not getPlayerGUIDByName(param) then
		player:sendCancelMessage("Desculpe, mas o jogador [" .. param .. "] não existe.") return false
	elseif player:getLevel() > _invite_friends.level_max or result.getDataInt(db.storeQuery("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)), "level") < _invite_friends.level_need then
		player:sendCancelMessage((player:getLevel() > _invite_friends.level_max and "Desculpe, mas você precisa ter no maximo level ".._invite_friends.level_max.." para usar este comando." or "Desculpe, mas o jogador ["..param.."] precisa ter no minimo level ".._invite_friends.level_need.." para ser escolhido.")) return false
	elseif player:getName():lower() == param then
		player:sendCancelMessage("Desculpe, mas você não pode se auto invitar.") return false
	elseif player:getIp() == result.getNumber(db.storeQuery("SELECT `lastip` FROM `players` WHERE `name` = " .. db.escapeString(param)), "lastip") then
		player:sendCancelMessage("Desculpe, mas você não pode se auto invitar por estar com o mesmo IP.") return false
	end
	player:setStorageValue(_invite_friends.storages[2], getPlayerGUIDByName(param))
	player:sendTextMessage(25, "Você indicou o jogador "..param..", este sistema é uma forma de agradecer a vocês por trazerem seus amigos para jogar.")
	player:getPosition():sendMagicEffect(math.random(28,30))
	return false
end

 

não testei, mas acho que é isso!

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
17 minutos atrás, Vodkart disse:

 


function onSay(player, words, param)
	local param = param:lower()
	if param == "" or not param then
		player:sendCancelMessage("Você precisa digitar o nome de um jogador.") return false
	elseif param == "points" then
		player:popupFYI("[+] Invite Friend System [+]\n\nvocê tem ["..getInvitePoints(player).."] Friends Points.") return false
	elseif hasInviteFriend(player) then
		player:sendCancelMessage("Você já agradeceu o jogador ["..getNameFriend(player).."] por te convidar a jogar neste servidor.") return false
	elseif not getPlayerGUIDByName(param) then
		player:sendCancelMessage("Desculpe, mas o jogador [" .. param .. "] não existe.") return false
	elseif player:getLevel() > _invite_friends.level_max or result.getDataInt(db.storeQuery("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(param)), "level") < _invite_friends.level_need then
		player:sendCancelMessage((player:getLevel() > _invite_friends.level_max and "Desculpe, mas você precisa ter no maximo level ".._invite_friends.level_max.." para usar este comando." or "Desculpe, mas o jogador ["..param.."] precisa ter no minimo level ".._invite_friends.level_need.." para ser escolhido.")) return false
	elseif player:getName():lower() == param then
		player:sendCancelMessage("Desculpe, mas você não pode se auto invitar.") return false
	elseif player:getIp() == result.getNumber(db.storeQuery("SELECT `lastip` FROM `players` WHERE `name` = " .. db.escapeString(param)), "lastip") then
		player:sendCancelMessage("Desculpe, mas você não pode se auto invitar por estar com o mesmo IP.") return false
	end
	player:setStorageValue(_invite_friends.storages[2], getPlayerGUIDByName(param))
	player:sendTextMessage(25, "Você indicou o jogador "..param..", este sistema é uma forma de agradecer a vocês por trazerem seus amigos para jogar.")
	player:getPosition():sendMagicEffect(math.random(28,30))
	return false
end

 

não testei, mas acho que é isso!

 

Acho que dava pra utilizar a função player:getIp() ao invés d query...

Anyway good job!

 

@This life is filled with hurt

When happiness doesn't work

Trust me and take my hand

When the lights go out you will understand

Link para o post
Compartilhar em outros sites
45 minutos atrás, login12 disse:

 

Acho que dava pra utilizar a função player:getIp() ao invés d query...

Anyway good job!

 

dá sim, mas só se ele estiver online! Caso eu deslogue e logue numa outra conta para invitar eu mesmo, não vai adiantar nada... Desse jeito ele checa direto na DB

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

#BUG FIXED

 

alterei uma linha no sistema em que dava points para o jogador no site, tinha que arrumar uma variável. Para quem já usa o sistema favor alterar só esse código:

 

data\creaturescripts\scripts
 
InviteFriends.lua

 

 

Editado por Vodkart (veja o histórico de edições)

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

@Vodkart Amigo estou testando o sistema, tfs 1.2 versão 10.96

Eu consigo adicionar o jogador com o comando !invited Terra Nova

mas quando eu upo o level que da a recompensa não aparece nenhuma mensagem.

547657261_assinaturatibiaking.jpg.c1cc2728d9b7e7142cd10bf237f3370d.jpg

'' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''

Link para o post
Compartilhar em outros sites
2 minutos atrás, Alienbear disse:

@Vodkart Amigo estou testando o sistema, tfs 1.2 versão 10.96

Eu consigo adicionar o jogador com o comando !invited Terra Nova

mas quando eu upo o level que da a recompensa não aparece nenhuma mensagem.

 

troca o arquivo do creaturescript para o novo código, eu fixei um erro que tinha no código.

 

qualquer coisa manda PM pra gente descobrir o erro.

Editado por Vodkart (veja o histórico de edições)

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

@Vodkart Mandei PM. 

547657261_assinaturatibiaking.jpg.c1cc2728d9b7e7142cd10bf237f3370d.jpg

'' Uma ideia é apenas uma ideia, até ser desenvolvida, mastigada, retratada, analisada e por fim se tornar uma boa ideia. ''

Link para o post
Compartilhar em outros sites

Tinha um pequeno bug de formatação no tópico

 

nesta linha estava "newlevel"

 

function onAdvance(player, skill, oldlevel, newlevel)

onde o correto seria "newLevel" no parâmetro.

 

function onAdvance(player, skill, oldlevel, newLevel)

 

obrigado. 

 

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...

alguem consegui cria uma pagina.php demostrando o sistema? pra que nao tennham que fica ensinando e repetindo as explicações de como funciona o sistema para os players?

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

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo