Ir para conteúdo
  • 0

Pedido Talkaction !guildpoints


evelindecassia

Pergunta

9 respostass a esta questão

Posts Recomendados

  • 0

até dá para fazer,só que não tem nexo.

 

por exemplo tem 10 jogadores level 150+ na guild Dream

ai o guild executa o comando e ganha 1 ponto

e depois? ele vai poder usar o comando até quando?

ou o comando só vai ser dado 1x por dia?...

Link para o comentário
Compartilhar em outros sites

  • 0

Poderia fazer assim, o primeiro !guildpoints precisa ter 5+ players level 150+, ai ganha x pontos, ai então para ganhar mais pontos com o comando precisaria de 10+, depois 15+, e assim sucessivamente. Só uma diquinha.

Link para o comentário
Compartilhar em outros sites

  • 0

Poderia fazer assim, o primeiro !guildpoints precisa ter 5+ players level 150+, ai ganha x pontos, ai então para ganhar mais pontos com o comando precisaria de 10+, depois 15+, e assim sucessivamente. Só uma diquinha.

 

assim eu também acho melhor

Link para o comentário
Compartilhar em outros sites

  • 0

você executa isso na sua database no Sqlite:

 

ALTER TABLE `guilds` ADD `points` INT(11) NOT NULL DEFAULT '0';

 

em lib/050-function adiciona:


function getGuildPoints(cid)
local check = db.getResult("SELECT `points` FROM `guilds` WHERE `id` = " .. getPlayerGuildId(cid) .. ";")
return check:getDataInt("points") <= 0 and 0 or check:getDataInt("points") end
function addGuildPoints(cid,amount)
db.executeQuery("UPDATE `guilds` SET `points` = "..getGuildPoints(cid).."+"..amount.." WHERE `guilds`.`id` = "..getPlayerGuildId(cid)) end
function removeGuildPoints(cid,amount)
db.executeQuery("UPDATE `guilds` SET `points` = "..getGuildPoints(cid).."-"..amount.." WHERE `guilds`.`id` = "..getPlayerGuildId(cid)) end
function setGuildPoints(cid,value)
db.executeQuery("UPDATE `guilds` SET `points` = "..value.." WHERE `guilds`.`id` = "..getPlayerGuildId(cid))end

 

agr a talkaction:

 

 

points_guild.lua


function onSay(cid, words, param)
local t = {
[0] = {150,10},
[1] = {200,20},
[2] = {250,25}
}

if getPlayerGuildId(cid) and getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER then
	local count = 0
	for k, v in pairs(t) do
if getGuildPoints(cid) == k then
	local lista = db.getResult("SELECT `name`, `rank_id` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. getGuildId(getPlayerGuildName(cid)) .. ");")  
	if(lista:getID() ~= -1) then
	repeat  
	if getPlayerLevel(getPlayerByName(lista:getDataString("name"))) >= v[1] then
	count = count + 1
	end	
	  until not lista:next()
	  if count >= v[2] then
	  addGuildPoints(cid,1)
	  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabens,sua guild ganhou um ponto por possuir "..count.." Players level "..v[1].." ou mais.")
	  doBroadcastMessage("a Guild ".. getPlayerGuildName(cid) .." acabou de receber um ponto por possuir "..count.." Players level "..v[1].." ou mais")
	  return true
	  else
	  doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua guild precisa de "..v[2].." players level "..v[1].." ou mais")
	  return true
	  end  
	  lista:free()
end
end
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "você precisa ser lider de uma guild")
end
return true
end

 

explicação:

 

 

local t = {

[0] = {150,10},

[1] = {200,20},

[2] = {250,25}

}

 

[0] no caso é a quantidade de pontos que a guild tem

{level,quantidade de player}

 

está configurado assim:

 

se a guild possuir 0 pontos ela tem que conseguir 10 player level 150+ para ganhar 1 ponto

se a guild possuir 1 ponto ela tem que conseguir 20 player level 200+ para ganhar 1 ponto

se a guild possuir 2 ponto ela tem que conseguir 25 player level 250+ para ganhar 1 ponto

 

ai vc edita e adiciona + ok

Editado por Vodkart
Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...