Ir para conteúdo
  • Cadastre-se

Normal Help Limite de players em uma guild


Posts Recomendados

existe alguma maneira de botar limite de players em uma guild?

server inteiro ta em 1 guild só, dai nao tem war no castelo =c

Link para o post
Compartilhar em outros sites
  • 1 month later...

dentro do jogo (!createguild)

 

se nao for possivel o limite de players em uma guild

pode ser tambem, um sqm tambem que só passe 10 players da mesma guild ou algo semelhante, porq tipo , no meu ot tem um castelo de war as 22h e tem uma guild que tem horrores de pessoas ai eles ganham todo dia, ai eu queria deixar um limite de players nas guilds pra ter varias guilds tentando dominar tlg?

se puder ajuda ai, abraços c:

Editado por poko360 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Acho que dá pra adicionar uma condição no comando !inviteguild que faça a contagem de quantas pessoas estão na Guild e se passar desse limite não ser possível invitar. Só me confirma uma coisa, o comando !inviteguild é um arquivo separado de talkaction?

Seu servidor é SQL?

 

@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
16 minutos atrás, login12 disse:

Acho que dá pra adicionar uma condição no comando !inviteguild que faça a contagem de quantas pessoas estão na Guild e se passar desse limite não ser possível invitar. Só me confirma uma coisa, o comando !inviteguild é um arquivo separado de talkaction?

Seu servidor é SQL?

O comando de invitar pra guild e criar fica nas sources no ioguild.cpp. Ele precisaria editar a função da source.

Link para o post
Compartilhar em outros sites
8 minutos atrás, chbuss disse:

O comando de invitar pra guild e criar fica nas sources no ioguild.cpp. Ele precisaria editar a função da source.

 

Obrigado pela informação! Eu até imaginava isso :hum:

Poste o ioguild.cpp aqui, eu posso tentar editar isso pra você.

 

EDIT: Sem as sources é impossivel realizar essa modificação.

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

 

@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

Bom, podemos tentar outra coisa... esse evento do qual você falou... pra participar dele, é necessário utilizar algum comando?

Por exemplo o lider da guild tem que registrar a guild ou algo parecido?

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

 

@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

@chbuss

Styller yourots Premium 0.4

 

@login12

as 22h um teleport abre automaticamente no templo

os players vao pra um local quando entra no teleport

ai tem um SQM que precisa de guild pra passar

ai quando da 22:30 todos que estao la são movido pra sala de recompensa

(eles sao movidos por um globalevent)

eles nao usam nenhum talkaction pra entrar

Editado por poko360 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@poko360 Acredito eu que de pra criar um script em movements, mas eu tenho as sources 0.4 se o @login12 souber editar nas sources. Eu passo pra você ou compilo se não souber

 

Editado por chbuss (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Bom não consigo ver uma solução plausível em utilizar um movements que permita apenas X membros de uma guild passar. Não consigo pensar em como estruturar um script assim. :wacko:

 

Mas posso fazer o seguinte por você caso queira:

 

1) Pra ter permissão para entrar no teleport deste evento, ser necessário o líder da guild registrar a mesma por meio de uma talkaction.

2) E essa talkaction checar, caso a guild tenha mais do que X membros, então não ser possivel registrar a guild para o evento.

 

 

 

EDIT: Também posso colocar pro TELEPORT só aceita se a guild do personagem tiver X pessoas.

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

 

@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

acho que nao daria certo :hum:

porq tipo, e se o lider tiver offline?

a guild nao iria participar do evento porq ele estaria off :s

Link para o post
Compartilhar em outros sites

Eu editei minha resposta vê aí.

Bom o único porém é que eu não sei se existe função que verifique quantos jogadores existem em uma determinada guild...

se não tiver teria que editar a sources também...

 

@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

eu tenho um action que checa quantos players tem na guild, se quiser ta aqui:

 

Citar

 

function onUse(cid, item, position)

local players,str,GuildName = {},'',getPlayerGuildName(cid)

if getPlayerGuildId(cid) <= 0  then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"Você precisa estar em uma Guild.") return true end

                for _, cid in pairs(getPlayersOnline()) do

                                if getPlayerGuildName(cid) == GuildName then

                                                table.insert(players, cid)

                                end

                end

                str = str .. "Membros total da guild: "..CountGuildMembers(GuildName).." Players.\n\nExiste "..#players.." Players online na sua guild:\n\n"

                for i = 1, #players do

                str = str.."\n["..getPlayerName(players).."]["..getPlayerGuildRank(players).."]"

                end

return doShowTextDialog(cid, 2533, str)

end

 

 

Link para o post
Compartilhar em outros sites

@login12 consegui editar essa função da source ? pra aceitar uma determinada quantidade de players ?

 

bool IOGuild::joinGuild(Player* player, uint32_t guildId, bool creation/* = false*/)
{
	Database* db = Database::getInstance();
	DBResult* result;

	DBQuery query;
	query << "SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " << guildId << " AND `level` = " << (creation ? "3" : "1") << " LIMIT 1";
	if(!(result = db->storeQuery(query.str())))
		return false;

	const uint32_t rankId = result->getDataInt("id");
	result->free();

	std::string guildName;
	if(!creation)
	{
		query.str("");
		query << "SELECT `name` FROM `guilds` WHERE `id` = " << guildId << " LIMIT 1";
		if(!(result = db->storeQuery(query.str())))
			return false;

		guildName = result->getDataString("name");
		result->free();
	}

	query.str("");
	query << "UPDATE `players` SET `rank_id` = " << rankId << " WHERE `id` = " << player->getGUID() << db->getUpdateLimiter();
	if(!db->query(query.str()))
		return false;

	player->setGuildId(guildId);
	GuildLevel_t level = GUILDLEVEL_MEMBER;
	if(!creation)
		player->setGuildName(guildName);
	else
		level = GUILDLEVEL_LEADER;

	player->setGuildLevel(level, rankId);
	player->invitedToGuildsList.clear();
	return true;
}

 

Link para o post
Compartilhar em outros sites
1 minuto atrás, poko360 disse:

eu tenho um action que checa quantos players tem na guild, se quiser ta aqui:

 

 

 

Esse script checa apenas quantos jogadores ONLINE da guild.

Se quiser posso tentar fazer algo parecido. Mas isso só vai checar o momento que o jogador estiver online/offline.

Se um jogador deslogar pra outro entrar já irá contar... E se ele voltar a logar, ninguém mas vai conseguir entrar

3 minutos atrás, chbuss disse:

@login12 consegui editar essa função da source ? pra aceitar uma determinada quantidade de players ?

 


bool IOGuild::joinGuild(Player* player, uint32_t guildId, bool creation/* = false*/)
{
	Database* db = Database::getInstance();
	DBResult* result;

	DBQuery query;
	query << "SELECT `id` FROM `guild_ranks` WHERE `guild_id` = " << guildId << " AND `level` = " << (creation ? "3" : "1") << " LIMIT 1";
	if(!(result = db->storeQuery(query.str())))
		return false;

	const uint32_t rankId = result->getDataInt("id");
	result->free();

	std::string guildName;
	if(!creation)
	{
		query.str("");
		query << "SELECT `name` FROM `guilds` WHERE `id` = " << guildId << " LIMIT 1";
		if(!(result = db->storeQuery(query.str())))
			return false;

		guildName = result->getDataString("name");
		result->free();
	}

	query.str("");
	query << "UPDATE `players` SET `rank_id` = " << rankId << " WHERE `id` = " << player->getGUID() << db->getUpdateLimiter();
	if(!db->query(query.str()))
		return false;

	player->setGuildId(guildId);
	GuildLevel_t level = GUILDLEVEL_MEMBER;
	if(!creation)
		player->setGuildName(guildName);
	else
		level = GUILDLEVEL_LEADER;

	player->setGuildLevel(level, rankId);
	player->invitedToGuildsList.clear();
	return true;
}

 

 

Esse é o script de entrar depois de ser invitado, não? 

Me manda o de invite, posso tentar

 

@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

 

@login12 Mandei o errado kk, mas acredito que seja esse.

 

bool IOGuild::invitePlayer(uint32_t guild, uint32_t guid)
{
	Database* db = Database::getInstance();
	DBQuery query;
	query << "INSERT INTO `guild_invites` (`player_id`, `guild_id`) VALUES ('" << guid << "', '" << guild << "')";
	return db->query(query.str());
}

 

Link para o post
Compartilhar em outros sites
3 minutos atrás, chbuss disse:

 

@login12 Mandei o errado kk, mas acredito que seja esse.

 


bool IOGuild::invitePlayer(uint32_t guild, uint32_t guid)
{
	Database* db = Database::getInstance();
	DBQuery query;
	query << "INSERT INTO `guild_invites` (`player_id`, `guild_id`) VALUES ('" << guid << "', '" << guild << "')";
	return db->query(query.str());
}

 

Posta o arquivo completo .cpp e o .h.

 

IOGUILD.cpp e .h e o luascript.cpp

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

 

@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

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.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo