[Ayuda] Error 012: invalid function, not a valid address

¿Tienes dudas sobre un código? Consúltalas aquí y aprende cómo se solucionan diferentes tipos de errores.

Moderador: Ayudantes

Reglas del Foro
  • A la hora de realizar su pregunta, especifique bien los detalles y tenga buena ortografía, de esa manera el resto de los usuarios podrán entender su pregunta.
  • Recuerde proporcionar el código que le trae problemas y sus respectivos errores utilizando el BBCode [Pawn]Código aquí[/Pawn] en su mensaje.
  • En esta sección, sólo podrás publicar preguntas asociadas a programación en PAWN ("¿Cuál es la diferencia entre new y static?"), más no temas relacionados a pedir códigos ("¿Me pueden pasar el sistema de 'X' servidor?"). (Ir a Pedidos para publicar estos temas).
  • Si tu pregunta es relacionada con un GM publicado en PawnScript, no crees tu pregunta en esta sección, créala en el mismo tema desde donde obtuviste el GameMode.
  • Evita colocar títulos como: "[Pregunta]", "[Duda]", "[Ayuda]", etc. Los títulos deben ser descriptivos.
  • Si la pregunta es respondida, no modifiques el título ni el contenido de los mensajes del tema. Quizás le pueda servir a alguien más en otro momento.
  • Si la pregunta es respondida, el tema será movido a "Preguntas Solucionadas".
  • Si la pregunta no cumple con alguna de las reglas antes mencionadas o con las Normas del foro, el tema será movido a "Preguntas Cerradas" o a la Papelera.
Responder
nurato4246
Aprendiz
Aprendiz
Mensajes: 7
Registrado: 26 Ago 2015 10:30
Reputación: 0

13 May 2019 22:20

Quiero colocar la funcion de que el lider de LSPD pueda vender las licencias de armas [id] [precio]
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10

C:\Users\Mi Maquina\Desktop\Mundo Roleplay [0.3.7] MRP\gamemodes\Mundo-RolePlay.pwn(23237) : error 012: invalid function call, not a valid address
C:\Users\Mi Maquina\Desktop\Mundo Roleplay [0.3.7] MRP\gamemodes\Mundo-RolePlay.pwn(23237) : warning 215: expression has no effect
C:\Users\Mi Maquina\Desktop\Mundo Roleplay [0.3.7] MRP\gamemodes\Mundo-RolePlay.pwn(23237) : error 001: expected token: ";", but found ")"
C:\Users\Mi Maquina\Desktop\Mundo Roleplay [0.3.7] MRP\gamemodes\Mundo-RolePlay.pwn(23237) : error 029: invalid expression, assumed zero
C:\Users\Mi Maquina\Desktop\Mundo Roleplay [0.3.7] MRP\gamemodes\Mundo-RolePlay.pwn(23237) : fatal error 107: too many error messages on one line

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


4 Errors.
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 10
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

zcmd(venderlicencia, playerid, params[])
    {
  		if(Info[playerid][pLeader] == 1) return Message(playerid,COLOR_GRAD2, "Usted no es lider de lspd.");
        if (sscanf(params, "u", params[0])) return Message(playerid,COLOR_GRAD2, "Utiliza: /venderlicencia <PlayerID>");
        {
            if (ProxDetectorS(8.0, playerid, params[0]))
            {
				new string[256];
       			format(string, sizeof(string), "* Ha entregado una licencia de armas %s", PlayerName(params[0])); //linea del error
       			Message(playerid, COLOR_WHITE, string);
       			format(string, sizeof(string), "{A4D9EB}*  %s le ha dado una licencia de armas. {FF4564}/aceptarlicencia", PlayerName(playerid));
       			Message(params[0], -1, string);
       			format(string, sizeof(string), "* %s toma la licencia seguidamente la firma y se lo da a %s", PlayerName(playerid), PlayerName(params[0]));
       			ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
       			bLicencia[params[0]] = 1;
            } else Message(playerid, COLOR_GRAD2, "El jugador no esta cerca.");
			}
		return 1;
	}
  Cantidad de llaves: Abiertas(5)-Cerradas(5) | Lineas Totales: 19
Angel Masci
Aprendiz
Aprendiz
Mensajes: 52
Registrado: 06 Ene 2019 22:38
Ubicación: ..::Venezuela::..
Reputación: 2

13 May 2019 22:38

Y en cual de esas es la linea en especifico es el error?
Editado:Jajaja, disculpa la ignorancia ya vi la linea que dice //linea del error
Intenta
format(string, sizeof(string), "* Ha entregado una licencia de armas %s", PlayerName(params[0]);
nurato4246
Aprendiz
Aprendiz
Mensajes: 7
Registrado: 26 Ago 2015 10:30
Reputación: 0

14 May 2019 15:30

Angel Masci escribió:
13 May 2019 22:38
Y en cual de esas es la linea en especifico es el error?
Editado:Jajaja, disculpa la ignorancia ya vi la linea que dice //linea del error
Intenta
format(string, sizeof(string), "* Ha entregado una licencia de armas %s", PlayerName(params[0]);
Me sigue diciendo lo mismo.
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 957
Registrado: 05 Oct 2017 12:13
Reputación: 107

14 May 2019 16:02


El error se debe porqué estás usando "PlayerName" como una función, cuando en realidad es un arreglo o también llamado en inglés "array".
Ejemplo del error:
 Codigo Pawno:
1
2
3
4
5
6
7

#include <a_samp>

main()
{
	new arr[5];
	arr(); //ERROR
}
  Cantidad de llaves: Abiertas(1)-Cerradas(1) | Lineas Totales: 7

La solución a tu problema es cambiar "PlayerName(params[0])" por:
 Codigo Pawno:
1

PlayerName[params[0]];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1

- 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.
Responder