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?...
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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?...
info
Grupo: Conde
Registrado: 06/09/08
Posts: 544
Reputação: +87
Gênero: Masculino
Char no Tibia: Hallsiny

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.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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
info
Grupo: Campones
Registrado: 10/08/11
Posts: 6
Reputação: 0

é verdade assim melhor mas alguem ae sabe como fazer?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

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 Março 5 por Vodkart
info
Grupo: Campones
Registrado: 10/08/11
Posts: 6
Reputação: 0

ok vlw vou testa aqui jaja digo se funfo!
funcionou cara vlw mesmo tava precisando muito disso!
Editado Março 5 por evelindecassia
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

beleza
no caso é melhor testar com players,as vezes com os chars GOD pode dar algum bug
info
Grupo: Campones
Registrado: 10/08/11
Posts: 6
Reputação: 0

funfo mesmo testei com player e deu vlw! ^^
info
Grupo: Conde
Registrado: 17/07/11
Posts: 705
Reputação: +108

Tópico fechado para evitar posts...
Ajude o fórum a ficar limpo.
info
Grupo: Campones
Registrado: 10/08/11
Posts: 6
Reputação: 0
queria um scrip que quando uma guild tivesse uma certa quantidade de players com level 150+ o lider da guild falasse !guildpoints e ganhasse pontos para guild!