Ir ao conteúdo
  • Cadastre-se

Java Erro nos códigos in-game


iViny.

Posts recomendados

Boa noite,

Não sou nada experiente na área, sou bem iniciante tô começando a fazer um gamemode para um servidor bem simples mesmo. Vou explicar o problema pra vocês.

public OnPlayerSpawn(playerid)
{
	static
	    Nick[16]
	;
	GetPlayerName(playerid, Nick, 16);
	if(strcmp(Administracao, "iViny.", true) == 0)
	{
		SendClientMessage(playerid, -1, "Seja bem-vindo(a) ao servidor iViny.!");
		SendClientMessage(playerid, -1, "Bom trabalho!");
	}
	else
	{
	static
        Nome[16],
   	    Msg[128]
	;
	GetPlayerName(playerid, Nick, 16);
	format(Msg, 128, "O(A) jogador(a) %s logou no servidor!", Nome);
	SendClientMessageToAll(-1, Msg);
	}
	return 1;
}

No topo da gamemode:

new Administracao[MAX_PLAYER_NAME];
#define iViny.

Eu queria que só anunciasse que o player logou caso não fosse um administrador(a), mais acontece que quando logo com qualquer outro nick sem ser "iViny.", as funções de administrador(a) são executadas. O que não era pra acontecer, não sei em que eu errei desculpe a "leiguisse" mas não entendo muita coisa da linguagem. Devo ter errado muito feio em alguma coisa kkk, o programa está compilando normal.

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Em 26/11/2018 às 17:18, devair1010 disse:

@iViny.    aqui nao da para saber o que é administracao  , mas creio que seja o valor retornado da função getplayername , então para comparar seria.   if(strcmp(administracao,'Iviny")==0).     sem true .

Hum vou já testar aqui jajá.

adicionado 30 minutos depois
//TOPO DO GM
new SenderName[MAX_PLAYER_NAME];
#define NICK1   "iViny."
//PUBLIC ONPLAYERSPAWN
	if(strcmp(SenderName, NICK1) == 0)
	{
	    SendClientMessage(playerid, -1, "Seja bem-vindo(a) iViny."); SendClientMessage(playerid, -1, "Bom trabalho!");
	}
	else
	{
		static
		    Nick[16],
		    Str[64]
		;
		GetPlayerName(playerid, Nick, 16);
		format(Str, 64, "O(A) jogador(a) %s logou no servidor!", Nick);
		SendClientMessageToAll(-1, Str);
	}
	return 1;
}

Continua executando as funções de administrador(a) com nick diferente de "iViny."

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

@iViny.    mas esse strcmp não é do java ele é do c / c++ ,   e também no primeiro código você estava comparando   administracao com  "iViny."  e no segundo   sendername com NICK1 ,  como não sei a que se refere essas variáveis não tem como postar um código ,  mas  para comparar strings no java você pode usar esse comando

if(op1.equalsIgnoreCase("mais"))   // op1     é a primeira variável   e     mais     é a segunda variável 
// então se forem iguais faz o que vem logo depois dessa linha  

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...