[Aporte] Como crear rangos administrativos..

Aprende lo que no sabes de este lenguaje y encuentra herramientas y códigos útiles.

Moderador: Ayudantes

Reglas del Foro
  • Si tu código es corto, no crees un tema nuevo para liberarlo, publica un mensaje en el tema [Funciones] ¡Publica tu código aquí!.
  • Si creas una guía, debes explicar el código claramente. Evita poner la explicación en forma de comentarios dentro del mismo y no olvides utilizar el BBCode correspondiente: [Pawn]Código aquí[/Pawn].
  • No postear códigos sin probar. Publicar códigos con errores (que impidan compilar el script para el cual está destinado) en este apartado es motivo de sanción.
  • Si tu código necesita plugins, includes u otros códigos adicionales para funcionar, debes mencionarlo en el mensaje.
  • Si has utilizado códigos de otros autores, recuerda colocar los créditos correspondientes. (El plagio es motivo de sanción).
  • Si tu aporte es para un GameMode en específico, debes publicar el tema en el apartado "Guías y Aportes para GameModes específicos".
Responder
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

06 Oct 2017 15:52

Hola muy buenas tardes a todos, hoy les enseñare 4 métodos de como crear rangos administrativos.

1. El primer método se base en solo usar matrices.
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];//creamos el array global unidimensional donde se guardara el nivel administrativo de cada jugador. 
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Luego creamos la función:
 Codigo Pawno:
1
2
3
4
5

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[5][] = { {"Rango 1"}, {"Rango 2"}, {"Rango 3"}, {"Rango 4"}, {"Rango 5"} };
return RankAdmin[NivelAdmin[playerid] - 1];
}
  Cantidad de llaves: Abiertas(7)-Cerradas(7) | Lineas Totales: 5
Algunos se preguntaran porque le resto -1 a la variable NivelAdmin, es porque el indice de una matriz siempre comienza en 0.
Por ejemplo, supongamos que el nivel administrativo de Jose sea 3, restandole 1 quedaría 2. ¿Cual cadena que contiene la matriz devolvería la función GetPlayerRankAdmin?, pues el "Rango 3". (Este método es mas eficiente y rápido, ya que no consumen muchas lineas de código).
Siempre recomiendo usar la matriz multi dimensional como local, dentro de una función, así no ocupara mucho espacio en la memoria. Ya que la matriz local se creare cuando la subrutina sea llamada y luego la información que contenga la matriz, se desaparecerá.

2. El segundo método se basa en solo usar la instrucción de alternativa "switch".
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[8];//aquí se guardara el rango administrativo del jugador..
switch(NiveAdmin[playerid])//le damos 5 casos posibles que se pueden cumplir a la variable NivelAdmin[playerid]
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;//la función devolverá el rango administrativo del jugador..
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Bueno este método es el que mas se usa..

3. El tercer método se base en solo usar la sentencia anidado "else if".
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[8];
if(NivelAdmin[playerid] == 1)RankAdmin = ("Rango 1");
else if(NivelAdmin[playerid] == 2)RankAdmin = ("Rango 2");
else if(NivelAdmin[playerid] == 3)RankAdmin = ("Rango 3");
else if(NivelAdmin[playerid] == 4)RankAdmin = ("Rango 4");
else if(NivelAdmin[playerid] == 5)RankAdmin = ("Rango 5");
return RankAdmin;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Como verán el tercer método es el mas lento, porque tiene que ir evaluando desde la primera condición hasta la ultima, la diferencia se nota cuando se pone mas condiciones.

4. El cuarto método se base en solo usar el operador ternario
 Codigo Pawno:
1
2
3
4
5
6
7
8
9

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[8];
RankAdmin = ((NivelAdmin[playerid] == 1) ? ("Rango 1") : (NivelAdmin[playerid] == 2) ? ("Rango 2") : (NivelAdmin[playerid] == 3) ? ("Rango 3") : (NivelAdmin[playerid] == 4) ? ("Rango 4") : (NivelAdmin[playerid] == 5) ? ("Rango 5") : (""));
return RankAdmin;
}
/*
El signo interrogación '?' especifica la condición que se debe cumplir y los dos puntos ':' establece los casos de verdadero y falso.
*/
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 9
Bueno como verán, este proceso es la abreviatura del método 3. La única diferencia que aquí lo dejamos expresado en una sola linea (mas optimizado).

Ahora por ultimo mostrare un simple ejemplo de como usar esta funcion GetPlayerRankAdmin(playerid)
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public OnPlayerSpawn(playerid)
{
if(NivelAdmin[playerid] >= 1 && NivelAdmin[playerid] <= 5)
{
new string[128], name[24];
GetPlayerName(playerid,name,24);
format(string,128,"Hola %s, tu rango administrativo es %s", name, GetPlayerRankAdmin(playerid));
SendClientMessage(playerid,-1,string);
}
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Como verán la función GetPlayerRankAdmin sera invocada en OnPlayerSpawn.

Bueno eso fue todo, espero que a alguien le haya servido este tutorial muy básico de como crear rangos administrativo, y con este mismo sistema se puede hacer otros rangos, como los de VIP, Niveles, entre otros.
 Codigo Pawno:
1

print("Que Dios te bendiga !");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Última edición por MrDave el 07 Oct 2017 11:02, editado 1 vez en total.

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Avatar de Usuario
sniper._
Aprendiz
Aprendiz
Mensajes: 48
Registrado: 19 Feb 2017 17:52
Contactar:
Reputación: 0

06 Oct 2017 16:17

MrDave escribió:
06 Oct 2017 15:52
Hola muy buenas tardes a todos, hoy les enseñare 3 métodos de como crear rangos administrativos.

1. El primer método se base en solo usar matrices.
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];//creamos el array global unidimensional donde se guardara el nivel administrativo de cada jugador. 
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Luego creamos la función:
 Codigo Pawno:
1
2
3
4
5

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[5][] = { {"Rango 1"}, {"Rango 2"}, {"Rango 3"}, {"Rango 4"}, {"Rango 5"} };
return RankAdmin[NivelAdmin[playerid] - 1];
}
  Cantidad de llaves: Abiertas(7)-Cerradas(7) | Lineas Totales: 5
Algunos se preguntaran porque le resto -1 a la variable NivelAdmin, es porque el indice de una matriz siempre comienza en 0.
Por ejemplo, supongamos que el nivel administrativo de Jose sea 3, restandole 1 quedaría 2. ¿Cual cadena que contiene la matriz devolvería la función GetPlayerRankAdmin?, pues el "Rango 3". (Este método es mas eficiente y rápido, ya que no consumen muchas lineas de código).
Siempre recomiendo usar la matriz multi dimensional como local, dentro de una función, así no ocupara mucho espacio en la memoria. Ya que la matriz local se creare cuando la subrutina sea llamada y luego la información que contenga la matriz, se desaparecerá.

2. El segundo método se basa en solo usar la instrucción de alternativa "switch".
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[8];//aquí se guardara el rango administrativo del jugador..
switch(NiveAdmin[playerid])//le damos 5 casos posibles que se pueden cumplir a la variable NivelAdmin[playerid]
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;//la función devolverá el rango administrativo del jugador..
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Bueno este método es el que mas se usa..

3. El tercer método se base en solo usar la sentencia anidado "else if".
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

stock GetPlayerRankAdmin(playerid)
{
new RankAdmin[8];
if(NivelAdmin[playerid] == 1)RankAdmin = ("Rango 1");
else if(NivelAdmin[playerid] == 2)RankAdmin = ("Rango 2");
else if(NivelAdmin[playerid] == 3)RankAdmin = ("Rango 3");
else if(NivelAdmin[playerid] == 4)RankAdmin = ("Rango 4");
else if(NivelAdmin[playerid] == 5)RankAdmin = ("Rango 5");
return RankAdmin;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 10
Como verán el tercer método es el mas lento, porque tiene que ir evaluando desde la primera condición hasta la ultima, la diferencia se nota cuando se pone mas condiciones.

Ahora por ultimo mostrare un simple ejemplo de como usar esta funcion GetPlayerRankAdmin(playerid)
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

public OnPlayerSpawn(playerid)
{
if(Nivel[playerid] == 1)
{
new string[128], name[24];
GetPlayerName(playerid,name,24);
format(string,128,"Hola %s, tu rango administrativo es %s", name, GetPlayerRankAdmin(playerid));
SendClientMessage(playerid,-1,string);
}
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Como verán la función GetPlayerRankAdmin sera invocada en OnPlayerSpawn.

Bueno eso fue todo, espero que a alguien le haya servido este tutorial muy básico de como crear rangos administrativo, y con este mismo sistema se puede hacer otros rangos, como los de VIP, Niveles, entre otros.
 Codigo Pawno:
1

print("Que Dios te bendiga !");
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
Buen Aporte amigo -thumbup
Hola Que hace Kbron :v

Scripter : 9%

Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

24 Nov 2017 21:22

me da estos errores

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(28) : error 021: symbol already defined: "GetPlayerRankAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 017: undefined symbol "NiveAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

25 Nov 2017 10:35

Marcoss_Lannister escribió:
24 Nov 2017 21:22
me da estos errores

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(28) : error 021: symbol already defined: "GetPlayerRankAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 017: undefined symbol "NiveAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Sigue mis pasos:

1. Coloca esto abajo de los #define
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Coloca esta función donde tengas tus otras funciones.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin2(playerid)
{
new RankAdmin[50];
switch(NiveAdmin[playerid])
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Y listo, si te sirvió no olvides de darme un +1 de reputación. -punk

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Avatar de Usuario
Miwi
Baneado
Baneado
Mensajes: 502
Registrado: 02 Nov 2016 17:54
Ubicación: nicaragua
Contactar:
Reputación: 55

25 Nov 2017 10:38

Ahora que veo tus aportas, lo haces a la vieja escuela :v
Aportes y Liberaciones de script

[GM] Whaler Streep 1.8 viewtopic.php?f=41&t=23746
[FS] /emisoras con posibilidad de transmitir en vivo viewtopic.php?f=81&t=23747
[GM] Whaler Streep version final viewtopic.php?f=41&t=24317
[Aporte] /duda en dialogos viewtopic.php?f=40&t=22784
[Aporte] /vendertodas viewtopic.php?f=40&t=24331
[Aporte-Guía] Sistema de armas en el cuerpo viewtopic.php?f=40&t=24580
[GM] New States viewtopic.php?f=41&t=24645
[Aporte] Despendedora sistema único viewtopic.php?f=40&t=24660
[Aporte] /computadora para LSPD viewtopic.php?f=40&t=24789
[Aporte] Anti-Cbug Avanzado viewtopic.php?f=40&t=24839
[Guía] Explicación [TAG] En las variables viewtopic.php?f=40&t=25156
[Gamemode] Zombie vs Humanos Version Miwi viewtopic.php?f=41&t=25411&p=128322#p128322
[Guía] Alterar distancia de cargado de objetos streamer viewtopic.php?f=40&t=25970
[Guía] Actualizar seguridad y activar el corta fuegos VPS Linux viewtopic.php?f=40&t=26572
[Guía] Permitir el transito de datos en tu VPS Linux Ubuntu viewtopic.php?f=40&t=26595


Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

25 Nov 2017 14:24

MrDave escribió:
25 Nov 2017 10:35
Marcoss_Lannister escribió:
24 Nov 2017 21:22
me da estos errores

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(28) : error 021: symbol already defined: "GetPlayerRankAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 017: undefined symbol "NiveAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Sigue mis pasos:

1. Coloca esto abajo de los #define
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Coloca esta función donde tengas tus otras funciones.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin2(playerid)
{
new RankAdmin[50];
switch(NiveAdmin[playerid])
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Y listo, si te sirvió no olvides de darme un +1 de reputación. -punk
Seria genial que hagas un sistema administrativo base con los cms bases con comandos bases
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

30 Nov 2017 17:29

MrDave escribió:
25 Nov 2017 10:35
Marcoss_Lannister escribió:
24 Nov 2017 21:22
me da estos errores

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(28) : error 021: symbol already defined: "GetPlayerRankAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 017: undefined symbol "NiveAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Sigue mis pasos:

1. Coloca esto abajo de los #define
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Coloca esta función donde tengas tus otras funciones.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin2(playerid)
{
new RankAdmin[50];
switch(NiveAdmin[playerid])
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Y listo, si te sirvió no olvides de darme un +1 de reputación. -punk
no me da mas errores pero no tiene efecto
ejemplo
CMD:oduty (playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
return 1;
}

pongo eso y un usuario normal puede usar ese comando,¿qeu tengo que hacer?
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

30 Nov 2017 20:22

Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 17:29
MrDave escribió:
25 Nov 2017 10:35
Marcoss_Lannister escribió:
24 Nov 2017 21:22
me da estos errores

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(28) : error 021: symbol already defined: "GetPlayerRankAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 017: undefined symbol "NiveAdmin"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : error 029: invalid expression, assumed zero
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(30) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
Sigue mis pasos:

1. Coloca esto abajo de los #define
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Coloca esta función donde tengas tus otras funciones.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin2(playerid)
{
new RankAdmin[50];
switch(NiveAdmin[playerid])
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Y listo, si te sirvió no olvides de darme un +1 de reputación. -punk
no me da mas errores pero no tiene efecto
ejemplo
CMD:oduty (playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
return 1;
}

pongo eso y un usuario normal puede usar ese comando,¿qeu tengo que hacer?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:oduty(playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador.");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

30 Nov 2017 20:44

MrDave escribió:
30 Nov 2017 20:22
Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 17:29
MrDave escribió:
25 Nov 2017 10:35


Sigue mis pasos:

1. Coloca esto abajo de los #define
 Codigo Pawno:
1

new NivelAdmin[MAX_PLAYERS];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Coloca esta función donde tengas tus otras funciones.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13

stock GetPlayerRankAdmin2(playerid)
{
new RankAdmin[50];
switch(NiveAdmin[playerid])
{
case 1:RankAdmin = ("Rango 1");
case 2:RankAdmin = ("Rango 2");
case 3:RankAdmin = ("Rango 3");
case 4:RankAdmin = ("Rango 4");
case 5:RankAdmin = ("Rango 5");
}
return RankAdmin;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 13
Y listo, si te sirvió no olvides de darme un +1 de reputación. -punk
no me da mas errores pero no tiene efecto
ejemplo
CMD:oduty (playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
return 1;
}

pongo eso y un usuario normal puede usar ese comando,¿qeu tengo que hacer?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:oduty(playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador.");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Genial muchisimas gracias, +1, ¿pero ahora como hago para darme nivel de admin?que hago con el pAdmin?
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

01 Dic 2017 10:04

Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 20:44
MrDave escribió:
30 Nov 2017 20:22
Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 17:29


no me da mas errores pero no tiene efecto
ejemplo
CMD:oduty (playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
return 1;
}

pongo eso y un usuario normal puede usar ese comando,¿qeu tengo que hacer?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:oduty(playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador.");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Genial muchisimas gracias, +1, ¿pero ahora como hago para darme nivel de admin?que hago con el pAdmin?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:aduty(playerid)
{
if(Informacion[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-ON]Para informarte sobre los comandos /ah");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta para ayudarte, /duda");
SetPlayerColor(playerid, COLOR_RED);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Para darte admin puedes usar este comando oculto:
 Codigo Pawno:
1
2
3
4
5

CMD:232432(playerid)
{
Informacion[playerid][pAdmin] = 5000;
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Si te sirvió mi ayuda, no olvides de darme un +1 en este post: Dame Click

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

01 Dic 2017 20:56

MrDave escribió:
01 Dic 2017 10:04
Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 20:44
MrDave escribió:
30 Nov 2017 20:22
Spoiler:
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:oduty(playerid,params[])
{
if(NivelAdmin[playerid] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-OFF]");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta fuera de servicio");
SetPlayerColor(playerid, COLOR_WHITE);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador.");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Genial muchisimas gracias, +1, ¿pero ahora como hago para darme nivel de admin?que hago con el pAdmin?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:aduty(playerid)
{
if(Informacion[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-ON]Para informarte sobre los comandos /ah");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta para ayudarte, /duda");
SetPlayerColor(playerid, COLOR_RED);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Para darte admin puedes usar este comando oculto:
 Codigo Pawno:
1
2
3
4
5

CMD:232432(playerid)
{
Informacion[playerid][pAdmin] = 5000;
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Si te sirvió mi ayuda, no olvides de darme un +1 en este post: Dame Click
[/spoiler2]

me da estos erres

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(26) : error 017: undefined symbol "Informacion"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(31) : error 017: undefined symbol "Informacion"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.

Y otra pregunta eliminar lo que puse del post no?
Última edición por Marcoss_Lannister el 01 Dic 2017 21:12, editado 1 vez en total.
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1049
Registrado: 05 Oct 2017 12:13
Reputación: 113

01 Dic 2017 21:07

Spoiler:
Marcoss_Lannister escribió:
01 Dic 2017 20:56
MrDave escribió:
01 Dic 2017 10:04
Spoiler:
Marcoss_Lannister escribió:
30 Nov 2017 20:44


Genial muchisimas gracias, +1, ¿pero ahora como hago para darme nivel de admin?que hago con el pAdmin?
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:aduty(playerid)
{
if(Informacion[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-ON]Para informarte sobre los comandos /ah");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta para ayudarte, /duda");
SetPlayerColor(playerid, COLOR_RED);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Para darte admin puedes usar este comando oculto:
 Codigo Pawno:
1
2
3
4
5

CMD:232432(playerid)
{
Informacion[playerid][pAdmin] = 5000;
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Si te sirvió mi ayuda, no olvides de darme un +1 en este post: Dame Click
[/spoiler2]

me da estos erres

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(26) : error 017: undefined symbol "Informacion"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(31) : error 017: undefined symbol "Informacion"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Agrega esto abajo de los #define
 Codigo Pawno:
1
2
3
4
5

enum @ID
{
pAdmin
};
new Informacion[MAX_PLAYERS][@ID];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5

- Temporalmente estoy retirado de SA-MP; por lo tanto no me envíen propuestas de proyectos.
- No respondo dudas por privado, usa la sección de preguntas.
Marcoss_Lannister
Aprendiz
Aprendiz
Mensajes: 44
Registrado: 30 Ago 2015 03:57
Reputación: 2

01 Dic 2017 21:36

MrDave escribió:
01 Dic 2017 21:07
Spoiler:
Marcoss_Lannister escribió:
01 Dic 2017 20:56
MrDave escribió:
01 Dic 2017 10:04
Spoiler:
Así ponlo:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11

CMD:aduty(playerid)
{
if(Informacion[playerid][pAdmin] >= 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[ADMIN-ON]Para informarte sobre los comandos /ah");
SendClientMessageToAll(COLOR_OOC, "El administrador NOMBRE esta para ayudarte, /duda");
SetPlayerColor(playerid, COLOR_RED);
}
else SendClientMessage(playerid,-1,"ERROR: Usted no es administrador");
return 1;
}
  Cantidad de llaves: Abiertas(2)-Cerradas(2) | Lineas Totales: 11
Para darte admin puedes usar este comando oculto:
 Codigo Pawno:
1
2
3
4
5

CMD:232432(playerid)
{
Informacion[playerid][pAdmin] = 5000;
return 1;
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
Si te sirvió mi ayuda, no olvides de darme un +1 en este post: Dame Click
[/spoiler2]

me da estos erres

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(26) : error 017: undefined symbol "Informacion"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(31) : error 017: undefined symbol "Informacion"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


2 Errors.
Agrega esto abajo de los #define
 Codigo Pawno:
1
2
3
4
5

enum @ID
{
pAdmin
};
new Informacion[MAX_PLAYERS][@ID];
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 5
me da este error

C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(127) : error 021: symbol already defined: "Informacion"
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(199) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(199) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(202) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(202) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(215) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(215) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(216) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(216) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(217) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(217) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(218) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(218) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(219) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(219) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(220) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(220) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(221) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(221) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(222) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(222) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(223) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(223) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(224) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(224) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(225) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(225) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(226) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(226) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(233) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(341) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(341) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(354) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(354) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(355) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(355) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(356) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(356) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(357) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(357) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(358) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(358) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(359) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(359) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(360) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(360) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(361) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(361) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(362) : warning 213: tag mismatch
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(362) : error 032: array index out of bounds (variable "Informacion")
C:\Users\Administrador\Desktop\DDF\gamemodes\GeimodeBase.pwn(378) : warning 213: tag mismatch
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


25 Errors.
Sem Players Juego de Rol


Proximamente...



APORTES: MarcosCDK#3519 Discord
Responder