SA-MP Forums

Go Back   SA-MP Forums > Non-English > Languages > Português/Portuguese

Reply
 
Thread Tools Display Modes
Old 19/05/2017, 03:44 AM   #1
Ryuzaki07
Little Clucker
 
Ryuzaki07's Avatar
 
Join Date: Mar 2017
Posts: 22
Reputation: 0
Exclamation TAG ADMINISTRADOR

Boa Noite estou com um problema, meu servidor contem um sistema de administração de 5 níveis. eu seto nível 1 e não tem tag em cima do player setado, seto nível 2 e não tem tag, seto nível 3 e não tem tag, mais ai eu seto nível 4 e nível 5 e já tem a tag administrador. mais preciso de mais 3 tag.

o Código original para aparecer a tag em cima do player.


forward AtualizarChatBubble();
public AtualizarChatBubble()
{
for(new x=0; x < MAX_PLAYERS; x++)
{
if(pAdmin[x] == 4 || pAdmin[x] == 5)
{
SetPlayerChatBubble(x, "Administrador", 0xD1BF85FF, 100.0, 100000);
}
}
}


até ai beleza, mais como da pra perceber ai no código em cima as tag são para admin nível 4 e 5 ai a tag aparece, ''Administrador'' porem eu quero fazer diferente.

Servidor com sistema de administração feito em 5 níveis então gostaria que fosse assim.

Ajudante ( nível 1 )
Moderador(a) ( nível 2 )
Administrador(a) ( nível 3 )
Sub-Dono(a) ( Nível 4 )
Dono(a) ( nível 5 )

Bom então tentei dar meus pulos sozinhos e fiz esse código.


forward AtualizarChatBubble();
public AtualizarChatBubble()
{
for(new D=0; D < MAX_PLAYERS; D++) //DONO
for(new S=0; S < MAX_PLAYERS; S++) //Sub-Dono(a)

{
if(pAdmin[D] == 5 || pAdmin[S] == 4)

{
SetPlayerChatBubble(D, "Dono(a)", 0xD1BF85FF, 100.0, 100000);
SetPlayerChatBubble(S, "Sub-Dono(a)", 0xD1BF85FF, 100.0, 100000);
}
}
}


Até ai beleza, o servidor não cai, não da leg, funciona tudo perfeitamente.

Seto admin nível 4 e fica a tag, ''Sub-Dono(a)''
Seto admin nível 5 e fica a tag, ''Dono(a)''

Ai continuo a criação do mesmo jeito, aumentando as tag.


forward AtualizarChatBubble();
public AtualizarChatBubble()
{
for(new D=0; D < MAX_PLAYERS; D++) //DONO
for(new S=0; S < MAX_PLAYERS; S++) //Sub-Dono(a)
for(new A=0; A < MAX_PLAYERS; A++) //Administrador(a)
{
if(pAdmin[D] == 5 || pAdmin[S] == 4 || pAdmin[A] == 3)

{
SetPlayerChatBubble(D, "Dono(a)", 0xD1BF85FF, 100.0, 100000);
SetPlayerChatBubble(S, "Sub-Dono(a)", 0xD1BF85FF, 100.0, 100000);
SetPlayerChatBubble(A, "Administrador(a)", 0xD1BF85FF, 100.0, 100000);
}
}
}


apartir dai o servidor começa lagar, apenas de abrir o servidor, e entrar ja da um delay de 5 segundos pra cada ação, ai fui mexendo no código e consegue tirar o delay, mais ai eu entrava, beleza, ai meu sub-dono(a) entrava, beleza, ai na hora de meu administrador entrar, ai lagava tudo, os dois caia, e restava somente eu. Como posso fazer um sistema de tag sem dar esse erros?
Tambem tinha lido em um tópico, que o ChatBubble eh tipo um chat, ou seja, fazer um tag com ele eh como enviar uma mensagem, em forma de tag pelo que me parece. com a tag Dono(a) e Sub-Dono(a) Funciona perfeitamente, sem ninguem cair, sem leg, sem nada. porem quando a pessoa que tem nivel 3 de administrador entra, a tag tambem eh carregada, ai começa a lagar tudo. Como poderia ter as 5 tags? sem erros?

Preciso das seguintes tag.

Ajudante ( nível 1 )
Moderador ( nível 2 )
Administrador ( nível 3 )
Sub-Dono(a) ( nível 4 )
Dono(a) ( Nível 5 )

Pra cada pessoa que tiver o determinado nível de admin setado, a tag também ira ficar em cima do nick, sendo que se eu setar nível 1 ele tera os comandos e a tag ''Ajudante'' em cima da cabeça. nivel 2 os comandos e a tag ''Moderador'' em cima da cabeça.
e Aproveitando, gostaria de saber como faz pra colocar a tag na frente do nick exemplo

Ryuzaki[mod]: Mensagem
Joao[Ajudante]: Mensagem
Maria[Sub]: mensagem

e assim vai ...

Desde de já Obrigado.
Ryuzaki07 is offline   Reply With Quote
Old 19/05/2017, 04:18 AM   #2
rolex
Big Clucker
 
rolex's Avatar
 
Join Date: Nov 2008
Location: Brazil, South.
Posts: 69
Reputation: 1
Default Re: TAG ADMINISTRADOR

Estou aprendendo PAWN ainda, mas acredito que o lag tenha sido pelo fato de você ter feito vários loops desnecessários em uma só função, resultando em um "gasto" enorme de processamento para acessar as 500 variáveis do MAX_PLAYERS, no seu caso, 1500 né kkkk

rápida explicação:
Code:
for(new x=0;x<MAX_PLAYERS;x++) 
em portuguol(português) é:

for = loop
x = valor
MAX_PLAYERS = igual número de vezes que vai acontecer o loop. (Se for com o MAX_PLAYERS é = 500)
x++ = aumenta o valor de X a cada vez que o loop acontecer, até chegar nos 500...

então se você tem 3x isso >>>  for(new x=0;x<MAX_PLAYERS;x++)

você está fazendo 1500 vezes essa função, ou seja, muito lag... :D

tenta:

no início do GameMode ou Filterscript
Code:
new pAdmin[MAX_PLAYERS];
new pName[MAX_PLAYER_NAME];
no final..
Code:
forward AtualizarChatBubble();
public AtualizarChatBubble()
{
	for(new x=0; x < MAX_PLAYERS; x++)
	{
	// se o valor de X for igual ao nível 1 de admin, vai setar essa função.
	if(pAdmin[x] == 1) return SetPlayerChatBubble(x, "Ajudante", 0xD1BF85FF, 100.0, 100000);
	if(pAdmin[x] == 2) return SetPlayerChatBubble(x, "Moderador", 0xD1BF85FF, 100.0, 100000);
	if(pAdmin[x] == 3) return SetPlayerChatBubble(x, "Administrador", 0xD1BF85FF, 100.0, 100000);
	if(pAdmin[x] == 4) return SetPlayerChatBubble(x, "Sub-Dono(a)", 0xD1BF85FF, 100.0, 100000);
	if(pAdmin[x] == 5) return SetPlayerChatBubble(x, "Dono(a)", 0xD1BF85FF, 100.0, 100000);
	}
	return 1;
}

E Referente ao aparecer o "nível" de admin no chat, não está otimizado, nem sei se funciona ao certo, mas tenta isso:

dentro do OnPlayerText:
Code:
public OnPlayerText(playerid, text[])
{
	new string[128], adminlvl[15];
	GetPlayerName(playerid, pName, sizeof(pName));
	if(pAdmin[playerid] == 1){adminlvl = "Ajudante";}
	if(pAdmin[playerid] == 2){adminlvl = "Moderador";}
	if(pAdmin[playerid] == 3){adminlvl = "Administrador";}
	if(pAdmin[playerid] == 4){adminlvl = "Sub-Dono(a)";}
	if(pAdmin[playerid] == 5){adminlvl = "Dono(a)";}
	format(string, sizeof(string),"%s[%s]: %s", pName ,adminlvl, text);
	SendClientMessage(playerid, 0xFFFFFFFF, string);
	return false;
}
Lembrando, são "testes", então faz um backup do seu GM/FS antes de inserir isso aí!

qualquer coisa da um toque e vamos tentando!
rolex is offline   Reply With Quote
Old 19/05/2017, 09:17 PM   #3
Ryuzaki07
Little Clucker
 
Ryuzaki07's Avatar
 
Join Date: Mar 2017
Posts: 22
Reputation: 0
Default Respuesta: TAG ADMINISTRADOR

Eu fiz tudo isso aqui só que deu erro, em questão da tag em cima da cabeça, por algum motivo, a tag só pega em min, e no resto não pega, mais percebi que tinha esquecido de colocar

new pAdmin[MAX_PLAYERS];
new pName[MAX_PLAYER_NAME];

Fui la e coloquei, e ainda sim nao pega, esses sao os erros que da após colocar a tag admin na cabeça.

C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (646) : error 021: symbol already defined: "pAdmin"
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (9859) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (10139) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (17451) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (33576) : warning 203: symbol is never used: "pName"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

e Sobre a tag admin no chat, também nao pegou, nao coloquei o codigo pra aparecer a tag admin no chat. esses erro sao apenas quando eu coloco as news

new pAdmin[MAX_PLAYERS];
new pName[MAX_PLAYER_NAME];
Ryuzaki07 is offline   Reply With Quote
Old 19/05/2017, 09:22 PM   #4
CZ
Huge Clucker
 
CZ's Avatar
 
Join Date: Dec 2014
Location: Brazil
Posts: 383
Reputation: 18
Default Re: Respuesta: TAG ADMINISTRADOR

Quote:
Originally Posted by Ryuzaki07 View Post
Eu fiz tudo isso aqui só que deu erro, em questão da tag em cima da cabeça, por algum motivo, a tag só pega em min, e no resto não pega, mais percebi que tinha esquecido de colocar

new pAdmin[MAX_PLAYERS];
new pName[MAX_PLAYER_NAME];

Fui la e coloquei, e ainda sim nao pega, esses sao os erros que da após colocar a tag admin na cabeça.

C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (646) : error 021: symbol already defined: "pAdmin"
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (9859) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (10139) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (17451) : warning 219: local variable "pName" shadows a variable at a preceding level
C:\Users\Ryuzaki\Desktop\GM\gamemodes\LogoNome.pwn (33576) : warning 203: symbol is never used: "pName"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.

e Sobre a tag admin no chat, também nao pegou, nao coloquei o codigo pra aparecer a tag admin no chat. esses erro sao apenas quando eu coloco as news

new pAdmin[MAX_PLAYERS];
new pName[MAX_PLAYER_NAME];
A variavel pName já está definida, coloque outro nome.
CZ is offline   Reply With Quote
Old 19/05/2017, 10:13 PM   #5
Ryuzaki07
Little Clucker
 
Ryuzaki07's Avatar
 
Join Date: Mar 2017
Posts: 22
Reputation: 0
Default Respuesta: TAG ADMINISTRADOR

Ainda nao funcionou, quando eu fiz do meu jeito, funciono, só q lagava tudo q caia, ai desse jeito ai nao alga nada, mais funciona só para min. E Agora?
Ryuzaki07 is offline   Reply With Quote
Old 20/05/2017, 12:42 AM   #6
rolex
Big Clucker
 
rolex's Avatar
 
Join Date: Nov 2008
Location: Brazil, South.
Posts: 69
Reputation: 1
Default Re: TAG ADMINISTRADOR

symbol already defined: "pAdmin" = Simbolo "pAdmin" já está definido, ou seja, tente colocar só o
Code:
 new pName[MAX_PLAYER_NAME];
e testa aí, se não der, coloca o erro aqui e vamos analisar!
rolex is offline   Reply With Quote
Old 20/05/2017, 10:41 PM   #7
Ryuzaki07
Little Clucker
 
Ryuzaki07's Avatar
 
Join Date: Mar 2017
Posts: 22
Reputation: 0
Default Respuesta: TAG ADMINISTRADOR

Não funcionou, mais obrigado mesmo assim, e uma duvida, estou com uma GM aqui que abaixei pra estudo, mais acho q vou usar ela, pois ela ta do jeito que eu quero, porem vou mudar muita coisa pra não ficar igual, mais existe algumas coisas no mapa que esta modificado, tipo, a DP nao ta original, o Interior da DP tambem nao, para min remover isso eu teria que ver na propria GM, ou em alguma pasta?

E obrigado por ajudar ai. Mais agora irei focar nessa outra GM aqui.
Ryuzaki07 is offline   Reply With Quote
Old 21/05/2017, 12:28 AM   #8
rolex
Big Clucker
 
rolex's Avatar
 
Join Date: Nov 2008
Location: Brazil, South.
Posts: 69
Reputation: 1
Default Re: TAG ADMINISTRADOR

Qual erro está dando ainda?

Sobre o mapa, tem que ver se o scripter que fez o GM colocou essas "modificações" em um Filterscript (pode ver no config os filterscripts que estão sendo carregados) ou se ele colocou no GM mesmo. é meio complicadinho pra retirar, mas dá!
rolex is offline   Reply With Quote
Old 21/05/2017, 01:02 AM   #9
Ryuzaki07
Little Clucker
 
Ryuzaki07's Avatar
 
Join Date: Mar 2017
Posts: 22
Reputation: 0
Default Respuesta: TAG ADMINISTRADOR

Então maninho sobre isso ai, esses erro são alguns warning, que esta dando, não sei se ira afetar, mais quando eu logo, eles conseguem me ver com a tag, porem quando seto admin ah eles, a tag simplesmente nao carrega, todas as tag funcionou em min, ''Ajudante'' ''Moderador'' ''Administrador'' ''Sub-dono'' ''Dono'' pra cada nivel setado em min, a tag funcionou, mais na hora que seta neles, a tag não funcionou.

e aproveitando, o que pode ser de quando iniciar a GM alguns objetos nao carregar? as vezes vc inicia, e carrega, as vezes vc inicia, e nao carrega.
Ryuzaki07 is offline   Reply With Quote
Old 21/05/2017, 02:25 AM   #10
rolex
Big Clucker
 
rolex's Avatar
 
Join Date: Nov 2008
Location: Brazil, South.
Posts: 69
Reputation: 1
Default Re: TAG ADMINISTRADOR

Tu ta usando algum ENUM ?
rolex is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
[Pedido] Tag Administrador(A) Pedro1812 Português/Portuguese 4 28/11/2016 07:19 PM
[Ajuda] não salva o administrador NascimentoRJ Português/Portuguese 4 03/07/2016 03:41 AM
[Pedido] Tag Administrador joaocvitor Português/Portuguese 8 05/02/2014 01:12 PM
[Ajuda] administrador Eduardo Honorato Português/Portuguese 3 31/08/2013 09:32 PM
[FilterScript] HQ Administrador TheExplosion Lançamentos/Releases 11 21/12/2012 04:09 PM


All times are GMT. The time now is 01:21 PM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.