[Aporte] Fix Errores y Instalar Correctamente Pawn.CMD

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
Daniel Walker
Avanzado
Avanzado
Mensajes: 553
Registrado: 04 Feb 2017 17:10
Ubicación: Bogotá
Contactar:
Reputación: 45

05 May 2018 22:25

Introducción

Que tal, en mi último aporte de Filterscript hubieron algunos errores y problemas con Pawn.CMD
que es con el Sistema que trabaja el Filterscrips así que vengo a ayudar a los de ese post y a ayudar
a los que tengan estos errores con el Pawn.CMD


Como Instalar
  • 2. Dar Click a "Pawn.CMD.inc" (esto hará que se descargue)
  • 3. Dar Click a "pawncmd-3.1.4-win32.zip" (esto hará que se descargue)
    PD: en este paso si su server es Linux descarguen el que dice "pawncmd-3.1.4-linux.tar.gz"
  • 4. Despues de esto extraigan el winrar que hayan descargado el linux o el windows
  • 5. Tendrán dos archivos el "pawncmd.dll" y el "Pawn.CMD" listos para usarse
  • 6. Vallan a su Gamemode vallan a Pawno > include y metan hay el archivo "Pawn.CMD"
  • 7. Vallan a su Gamemode > Plugins y metan hay el archivo "pawncmd"
  • 8. Vallan a su server.cfg y en plugins añaden pawncmd les quedara algo así ==> "plugins pawncmd"
  • 8. Ahora entren a su Gamemode como tal y en donde están sus Includes ponen
 Codigo Pawno:
1

#include <pawn.cmd>
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
  • 9. Copilan su gamemode
  • 10. Finalizado!


Errores comunes

Si al copilar la gamemode les salen unos errores y unos Warnings puede ser medianamente normal para repararlos aquí está la solución.



1. Error
 Codigo Pawno:
1
2

warning 201: redefinition of constant/macro (symbol "CMD")
warning 201: redefinition of constant/macro (symbol "COMMAND")
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Para solucionar este error tienen que abrir el include Pawn.CMD pueden abrirlo
con Pawno o con Bloc de Notas cualquiera de los dos funciona Con el bloc de notas
usen Ctrl + B y si están en pawno con Ctrl + F buscan "#define CMD cmd" ya que están hay encontraran dos textos:

 Codigo Pawno:
1
2
3

		#define CMD cmd

		#define COMMAND cmd
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Borran esos dos y los cambian por:
 Codigo Pawno:
1

#define command(%1,%2,%3) COMMAND:%1(%2, %3)
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
2. Error
 Codigo Pawno:
1
2

D:\Nueva carpeta (3)\Fuck Samp\pawno\include\pawn.cmd.inc(56) : error 025: function heading differs from prototype
D:\Nueva carpeta (3)\Fuck Samp\pawno\include\pawn.cmd.inc(60) : error 025: function heading differs from prototype
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Para este error tienen que buscar nuevamente con Ctrl + B si están en Bloc de notas
o con Ctrl + F si están en Pawno dos textos los cuales son:

 Codigo Pawno:
1
2

		#if defined OnPlayerCommandPerformed
			forward OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
 Codigo Pawno:
1
2

		#if defined OnPlayerCommandReceived
			forward OnPlayerCommandReceived(playerid, cmd[], params[], flags);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
Los cambian por:



 Codigo Pawno:
1
2

		#if defined OnPlayerCommandPerformedd
			forward OnPlayerCommandPerformedd(playerid, cmd[], params[], result, flags);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2
 Codigo Pawno:
1
2

		#if defined OnPlayerCommandReceivedd
			forward OnPlayerCommandReceivedd(playerid, cmd[], params[], flags);
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 2

Espero les haya funcionado tal vez estas soluciones no sean éticas ni profesionales pero si arreglan esos errores xD Gracias y espero que me hayan entendido :)
Imagen


Proyecto Actual: Next Nation Roleplay
Dudas en mis sistemas o en general, envía MP con confianza (Respondo Diseño, Pawn, HTML, CSS)


Disfruta de mis Aportes Aquí Abajo :P

Aporte: Diseños & Webs: Mostrar
Next Gaming Desings, Photoshop Templates: Click Aquí
Web HTML Template para RP: Click Aquí
Logos Estilo FZ, Templayes: Click Aquí
Plantilla, Banner Fenixzone: Click Aquí
Pinceles para Photoshop CS6, CC Click Aquí
Rangos para foro SMF & PhpBB, Photoshop: Click Aquí
Header Server Zombie: Click Aquí
Header + Logo Verde Photoshop: Click Aquí
Guías & Filterscripts: Mostrar
Sistema casas SQLTraducido: Click Aquí
Sistema Admin Teleport por Checkpoint:Click Aquí

ImagenFacebook PersonalImagenCanal YTImagenPortafolio (Próximamente)
Avatar de Usuario
KaizerHind
Senior
Senior
Mensajes: 1974
Registrado: 01 Mar 2016 12:27
Ubicación: En algún lugar del mundo.
Contactar:
Reputación: 63

05 May 2018 22:33

Resuelveme una duda.
Se que suena tonto, pero es porque llevo tiempo sin programar en Pawn.

¿Que función, y que "beneficios" o que cosas, puedes hacer con 'pawn.cmd'?
Imagen

Actualmente retirado de Pawnscript, si usted desea comunicarse conmigo
puede escribirme en las redes que se encuentran en mi firma.

Desarrollador de Modelos - Versión 0.3 DL.
¿Quieres ver mi trabajo? Entra abajo en mi Pagina de contacto o Portafolio de diseño.

Imagen Pagina de Contacto. Imagen Portafolio de diseño.Imagen Canal de Youtube.ImagenKaizer#2694.


» Aportes dentro del Foro.
.
Avatar de Usuario
Daniel Walker
Avanzado
Avanzado
Mensajes: 553
Registrado: 04 Feb 2017 17:10
Ubicación: Bogotá
Contactar:
Reputación: 45

05 May 2018 22:37

YTSebastian escribió:
05 May 2018 22:33
Resuelveme una duda.
Se que suena tonto, pero es porque llevo tiempo sin programar en Pawn.

¿Que función, y que "beneficios" o que cosas, puedes hacer con 'pawn.cmd'?
Pawn.CMD Un procesador de comandos que funciona a través de un plugin.
Este plugin es compatible con cualquier versión de SA:MP a pesar de que usa piratería de memoria
Es decír es el procesador de comandos mas veloz que hay en SAMP y en muchos mas aspectos



[centrar]Comparación entre otros procesadores de comandos
Retraso entre que es recibido RPC_ServerCommand y llamado cmd_test(Mil comandos)[/centrar]

Imagen

mas info: posting.php?mode=quote&f=44&p=125897
Imagen


Proyecto Actual: Next Nation Roleplay
Dudas en mis sistemas o en general, envía MP con confianza (Respondo Diseño, Pawn, HTML, CSS)


Disfruta de mis Aportes Aquí Abajo :P

Aporte: Diseños & Webs: Mostrar
Next Gaming Desings, Photoshop Templates: Click Aquí
Web HTML Template para RP: Click Aquí
Logos Estilo FZ, Templayes: Click Aquí
Plantilla, Banner Fenixzone: Click Aquí
Pinceles para Photoshop CS6, CC Click Aquí
Rangos para foro SMF & PhpBB, Photoshop: Click Aquí
Header Server Zombie: Click Aquí
Header + Logo Verde Photoshop: Click Aquí
Guías & Filterscripts: Mostrar
Sistema casas SQLTraducido: Click Aquí
Sistema Admin Teleport por Checkpoint:Click Aquí

ImagenFacebook PersonalImagenCanal YTImagenPortafolio (Próximamente)
Avatar de Usuario
MrDave
Ayudante
Ayudante
Mensajes: 1048
Registrado: 05 Oct 2017 12:13
Reputación: 113

06 May 2018 10:41

YTSebastian escribió:
05 May 2018 22:33
Resuelveme una duda.
Se que suena tonto, pero es porque llevo tiempo sin programar en Pawn.

¿Que función, y que "beneficios" o que cosas, puedes hacer con 'pawn.cmd'?

Pawn.CMD es casi igual que "zcmd", sólo que te permite hacer más cosas, como por ejemplo, darles alias a los comandos o aplicar un "flags" a cada instrucción, esto le dará una mejor mantenibilidad al código.
¿A que me refiero a mantenibilidad?
La respuesta es sencilla, conservar todo el código únicamente en un sitio, en este caso, va a ser en la función pública "OnPlayerCommandReceived" (función llamada cuando el comando aún no es procesado). Esto te permitirá tener más ordenado el código y efectuar alguna modificación con una mejor facilidad.
Aquí te dejaré un ejemplo básico:
Vamos a suponer que quiero separar por categorías todos los comandos que sea de vips, moderadores y administradores.
Entonces para no estar repitiendo la misma condicional en cada comando, le aplicamos un "flags". La bandera lo único que hace, es propocionarle un valor a la instrucción (comando) para que cuando el jugador envíe la orden, se pueda evaluar una condicional en ese "callbacks" que te dije anteriormente.
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

static VIP_Level[MAX_PLAYERS];
static MOD_Level[MAX_PLAYERS];
static Admin_Level[MAX_PLAYERS];

enum @FLAGS
{
	CMD_VIP = 1,
	CMD_MOD,
	CMD_ADMIN
};

public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
	switch(flags)
	{
	    case CMD_VIP:
	    {
			if(VIP_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres VIP.");
			    return 0;
			}
	    }
	    case CMD_MOD:
	    {
  			if(MOD_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres moderador.");
			    return 0;
			}
	    }
	    case CMD_ADMIN:
	    {
  			if(Admin_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres administrador.");
			    return 0;
			}
	    }
	}
	return 1;
}

/* Comandos para VIP*/

flags:cmd_vip1(CMD_VIP);
flags:cmd_vip2(CMD_VIP);
flags:cmd_vip3(CMD_VIP);
flags:cmd_vip4(CMD_VIP);

cmd:cmd_vip1(playerid)
{
	return 1;
}
cmd:cmd_vip2(playerid)
{
	return 1;
}
cmd:cmd_vip3(playerid)
{
	return 1;
}
cmd:cmd_vip4(playerid)
{
	return 1;
}
/* Comandos para moderador */

flags:cmd_mod1(CMD_MOD);
flags:cmd_mod2(CMD_MOD);
flags:cmd_mod3(CMD_MOD);
flags:cmd_mod4(CMD_MOD);

cmd:cmd_mod1(playerid)
{
	return 1;
}
cmd:cmd_mod2(playerid)
{
	return 1;
}
cmd:cmd_mod3(playerid)
{
	return 1;
}
cmd:cmd_mod4(playerid)
{
	return 1;
}

/* Comandos Admin */

flags:cmd_admin1(CMD_ADMIN);
flags:cmd_admin2(CMD_ADMIN);
flags:cmd_admin3(CMD_ADMIN);
flags:cmd_admin4(CMD_ADMIN);

cmd:cmd_admin1(playerid)
{
	return 1;
}
cmd:cmd_admin2(playerid)
{
	return 1;
}
cmd:cmd_admin3(playerid)
{
	return 1;
}
cmd:cmd_admin4(playerid)
{
	return 1;
}
  Cantidad de llaves: Abiertas(21)-Cerradas(21) | Lineas Totales: 113

- 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
KaizerHind
Senior
Senior
Mensajes: 1974
Registrado: 01 Mar 2016 12:27
Ubicación: En algún lugar del mundo.
Contactar:
Reputación: 63

06 May 2018 12:41

MrDave escribió:
06 May 2018 10:41


Pawn.CMD es casi igual que "zcmd", sólo que te permite hacer más cosas, como por ejemplo, darles alias a los comandos o aplicar un "flags" a cada instrucción, esto le dará una mejor mantenibilidad al código.
¿A que me refiero a mantenibilidad?
La respuesta es sencilla, conservar todo el código únicamente en un sitio, en este caso, va a ser en la función pública "OnPlayerCommandReceived" (función llamada cuando el comando aún no es procesado). Esto te permitirá tener más ordenado el código y efectuar alguna modificación con una mejor facilidad.
Aquí te dejaré un ejemplo básico:
Vamos a suponer que quiero separar por categorías todos los comandos que sea de vips, moderadores y administradores.
Entonces para no estar repitiendo la misma condicional en cada comando, le aplicamos un "flags". La bandera lo único que hace, es propocionarle un valor a la instrucción (comando) para que cuando el jugador envíe la orden, se pueda evaluar una condicional en ese "callbacks" que te dije anteriormente.
Spoiler:
 Codigo Pawno:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113

static VIP_Level[MAX_PLAYERS];
static MOD_Level[MAX_PLAYERS];
static Admin_Level[MAX_PLAYERS];

enum @FLAGS
{
	CMD_VIP = 1,
	CMD_MOD,
	CMD_ADMIN
};

public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
	switch(flags)
	{
	    case CMD_VIP:
	    {
			if(VIP_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres VIP.");
			    return 0;
			}
	    }
	    case CMD_MOD:
	    {
  			if(MOD_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres moderador.");
			    return 0;
			}
	    }
	    case CMD_ADMIN:
	    {
  			if(Admin_Level[playerid] == 0)
			{
			    SendClientMessage(playerid, -1, "* No eres administrador.");
			    return 0;
			}
	    }
	}
	return 1;
}

/* Comandos para VIP*/

flags:cmd_vip1(CMD_VIP);
flags:cmd_vip2(CMD_VIP);
flags:cmd_vip3(CMD_VIP);
flags:cmd_vip4(CMD_VIP);

cmd:cmd_vip1(playerid)
{
	return 1;
}
cmd:cmd_vip2(playerid)
{
	return 1;
}
cmd:cmd_vip3(playerid)
{
	return 1;
}
cmd:cmd_vip4(playerid)
{
	return 1;
}
/* Comandos para moderador */

flags:cmd_mod1(CMD_MOD);
flags:cmd_mod2(CMD_MOD);
flags:cmd_mod3(CMD_MOD);
flags:cmd_mod4(CMD_MOD);

cmd:cmd_mod1(playerid)
{
	return 1;
}
cmd:cmd_mod2(playerid)
{
	return 1;
}
cmd:cmd_mod3(playerid)
{
	return 1;
}
cmd:cmd_mod4(playerid)
{
	return 1;
}

/* Comandos Admin */

flags:cmd_admin1(CMD_ADMIN);
flags:cmd_admin2(CMD_ADMIN);
flags:cmd_admin3(CMD_ADMIN);
flags:cmd_admin4(CMD_ADMIN);

cmd:cmd_admin1(playerid)
{
	return 1;
}
cmd:cmd_admin2(playerid)
{
	return 1;
}
cmd:cmd_admin3(playerid)
{
	return 1;
}
cmd:cmd_admin4(playerid)
{
	return 1;
}
  Cantidad de llaves: Abiertas(21)-Cerradas(21) | Lineas Totales: 113
Mm; Vale, mas o menos entiendo, gracias ah.
Imagen

Actualmente retirado de Pawnscript, si usted desea comunicarse conmigo
puede escribirme en las redes que se encuentran en mi firma.

Desarrollador de Modelos - Versión 0.3 DL.
¿Quieres ver mi trabajo? Entra abajo en mi Pagina de contacto o Portafolio de diseño.

Imagen Pagina de Contacto. Imagen Portafolio de diseño.Imagen Canal de Youtube.ImagenKaizer#2694.


» Aportes dentro del Foro.
.
jomyrap101
Aprendiz
Aprendiz
Mensajes: 16
Registrado: 01 Jun 2018 22:42
Reputación: 0

09 Jun 2018 13:54

gracias :v
Avatar de Usuario
Dr.Zoidberg
Junior
Junior
Mensajes: 210
Registrado: 27 May 2018 11:55
Ubicación: Un bocata de hipercalamar.
Reputación: 17

09 Jun 2018 14:28

jomyrap101 escribió:
09 Jun 2018 13:54
gracias por nada me sigue dando error -dots
C:\Users\jomyj\Desktop\Gta lIfe Real\gamemodes\ward.pwn(4) : fatal error 100: cannot read from file: "pawn.cmd"

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


1 Error.
para ser exactos ese error
Hiciste el paso del añadir el .ini en Pawno/Include? y lo incluiste la Liberia en la Gm o Fs?
 Codigo Pawno:
1
2
3

#include <pawn.cmd>

  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
Amante de los memes en el dia y programador por las noches :,D

Imagen


Proyecto Actuales

»STRATFORD - TU ROL VAQUERO»

Sad :,c

Código: Seleccionar todo


 #include <iostream>
  #include <cstdlib>
  #include <ctime>
  using namespace std;

  int flip (void);
  int main()

 {

  int value, si = 0, no = 0;

  srand (time (NULL));
  cout <<endl<<endl<<"Probabilidad que ella te quiera." << endl;
  for (int n =1; n<=100; ++n)
  {
    value = flip();
    if (0 == value)
     {
      cout <<"Si\n";
      ++si;
     }

     else
     {
      cout <<"No"<<endl;
      no++;
     }
    }

  cout << endl<<"Numero de Si: " << si << endl;
  cout << "Numero de No: "<<no<<endl;
 
  return 0;

  }


 int flip (void)

 {
 return rand() % 2;
 }


Aportes

jomyrap101
Aprendiz
Aprendiz
Mensajes: 16
Registrado: 01 Jun 2018 22:42
Reputación: 0

09 Jun 2018 14:36

Dr.Zoidberg escribió:
09 Jun 2018 14:28
jomyrap101 escribió:
09 Jun 2018 13:54
gracias por nada me sigue dando error -dots
C:\Users\jomyj\Desktop\Gta lIfe Real\gamemodes\ward.pwn(4) : fatal error 100: cannot read from file: "pawn.cmd"

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


1 Error.
para ser exactos ese error
Hiciste el paso del añadir el .ini en Pawno/Include? y lo incluiste la Liberia en la Gm o Fs?
 Codigo Pawno:
1
2
3

#include <pawn.cmd>

  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 3
soy un idiota que no sabe leer :v gracias por recordarme xd
Avatar de Usuario
Angel Masci
Aprendiz
Aprendiz
Mensajes: 92
Registrado: 06 Ene 2019 22:38
Ubicación: ..::Venezuela::..
Reputación: 8

08 May 2019 17:02

¿No sabes por que estos errores:
error 038: extra characters on line
error 038: extra characters on line
Pawn compiler 3.2.3664 Copyright (c) 1997-2016, ITB
CompuPhase

2 Errors.
Aportes:
Angel Masci

Copyright © Angel Masci . Todos los Derechos Reservados.

Responder