Ir para conteúdo

Featured Replies

Postado
  • Autor

Em lib/050-function adicione:

function getGuildMembers(GuildId)
local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " .. GuildId .. ");")
	  if (query:getID() ~= -1) then  
		 repeat
				table.insert(players,query:getDataString("name"))
				until not query:next()  
				query:free()
		 end
		 return #players > 0 and players or false
end

o tile:

http://pastebin.com/raw.php?i=7vdESjFS

 

 

 

Parece que deu ruim, inciei o ot com esse script, todas as guilds foram deletadas e olha o que apareceu no console qnd abriu

 

RU6RMXn.png

  • Respostas 7
  • Visualizações 439
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Em lib/050-function adicione: function getGuildMembers(GuildId) local players,query = {},db.getResult("SELECT `name` FROM `players` WHERE `rank_id` IN (SELECT `id` FROM `guild_ranks` WHERE `guild_i

  • 5 membros online ou 5 membros da guild msm?

  • vdd arrumei o erro, ta ai o movements:   function onStepIn(cid, item, position, fromPosition) local c_amount, k = 5, 0 if not isPlayer(cid) then return true end if getPlayerGuildId(cid) <= 0 or

Postado

vdd arrumei o erro, ta ai o movements:

 

function onStepIn(cid, item, position, fromPosition)
local c_amount, k = 5, 0
if not isPlayer(cid) then return true end
if getPlayerGuildId(cid) <= 0 or #getGuildMembers(getPlayerGuildId(cid)) < c_amount then
pass = false
else
for _, var in ipairs(getGuildMembers(getPlayerGuildId(cid))) do
if db.getResult("SELECT `level` FROM `players` WHERE `id` = "..getPlayerGUIDByName(var)):getDataInt("level") >= 50 then
k = k +1
if k > c_amount then break end
end
end
pass = k < c_amount and false or true
end
if not pass then
doPlayerSendCancel(cid,"você precisa estar em guild ou sua guild precisa ter no minimo "..c_amount.." jogadores level 50 ou mais.") 
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) 
doTeleportThing(cid, fromPosition, true)
return true
end
doBroadcastMessage("A guild "..getPlayerGuildName(cid).." Está penetrando no castelo.")
return true
end

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor

@vodkart

Nossa vc é fera, obrigadão, to te dando uns reps por aí

 

Se liga, ta quase tudo perfeito, menos:

 

doBroadcastMessage("A guild "..getPlayerGuildName(cid).." Está penetrando no castelo.")

Essa msg não é enviada qnd eles conseguem passar

 

E outras duas coisas que eu não me liguei em pedir, mas iam ficar muito ruins sem elas

1- IP, o unico trabalho que os players vão ter vai ser pegar MC, pesquisei mt consegui achar um script se checava se os caras tem o mesmo IP, mas não to conseguindo adaptar, pega a base ai ve se vc consegue

local playersNeeded = 5
local ipsNeeded = 5
local minimumLevel = 10
local storageId = 47582

local function sendPlayersList(cid, list)
for i, pid in ipairs(list) do
local level = getPlayerLevel(pid) < minimumLevel and " - " .. getPlayerLevel(cid) .. " level " or ""
local valid = getCreatureStorage(pid, storageId) > 1 and " - already received!" or ""
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(pid) .. level)
end
end

function onSay(cid, words, param, channel)
if(getPlayerGuildLevel(cid) == 3) then
local leaderGuild = getPlayerGuildId(cid)
local players = getPlayersOnline()
local guildMembersValid = {}
local guildMembersInvalid = {}
for i, pid in ipairs(players) do
if(leaderGuild == getPlayerGuildId(pid)) then
if(getPlayerLevel(pid) >= minimumLevel and tonumber(getCreatureStorage(pid, storageId)) < 2) then
table.insert(guildMembersValid, pid)
else
table.insert(guildMembersInvalid, pid)
end
end
end

if(#guildMembersValid >= playersNeeded) then
local IPs = {}
for i, pid in ipairs(guildMembersValid) do
local ip = getPlayerIp(pid)
if(IPs[ip] == nil) then
IPs[ip] = ip
end
end
if(#IPs >= ipsNeeded) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that received points:")
sendPlayersList(cid, guildMembersValid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that did not receive points:")
sendPlayersList(cid, guildMembersInvalid)
local accounts = {}
for i, pid in ipairs(guildMembersValid) do

local item = doCreateItemEx(6527, 20)
doPlayerAddItemEx(cid, item, true)

table.insert(accounts, getPlayerAccountId(pid))
doCreatureSetStorage(pid, storageId, os.time())
end
-- aqui coloca pra dar uma vez pro líder
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid (" .. playersNeeded .. " required), but you have together only " .. #IPs .. " IPs (" .. ipsNeeded .. " required)")
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:")
sendPlayersList(cid, guildMembersValid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:")
sendPlayersList(cid, guildMembersInvalid)
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid, " .. playersNeeded .. " required. Minimum level required is " .. minimumLevel)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:")
sendPlayersList(cid, guildMembersValid)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:")
sendPlayersList(cid, guildMembersInvalid)
end
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.")
end
return true
end

 

2- E outra os caras invadem e os donos não podem matar eles sem catar frag, não sei se isso é possivel:

Tem como qnd passarem pelo piso pegarem PK como se tive-sem matado alguem pros caras que vierem conseguirem matar eles?
Pensei em colcoar PVenforced tile, mas ia ficar meio bosta tlg? Pq os caras não iam ter medo de invadir, tem como isso

 

Vlws brother se é fera!

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 520k

Informação Importante

Confirmação de Termo