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!
Pedido Talkaction !guildpoints

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?...
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.
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
é verdade assim melhor mas alguem ae sabe como fazer?
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
ok vlw vou testa aqui jaja digo se funfo!
funcionou cara vlw mesmo tava precisando muito disso!
beleza
no caso é melhor testar com players,as vezes com os chars GOD pode dar algum bug
funfo mesmo testei com player e deu vlw! ^^
Tópico fechado para evitar posts...
Ajude o fórum a ficar limpo.