Programación en Pawn - SAMP

[aporte sistema de compra de estacionamientos OZ]

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).
  • El título del tema debe contener el nombre del GameMode al cual está destinado el código (puedes utilizar abreviaturas o tags). Por ejemplo: "[ZC] Menú para 24/7".

Moderador: Ayudantes

error 021: symbol already defined: "dynamicgift3DText"
Buen aporte bro

Re:

Kennedy escribió:
24 Abr 2018 09:19
error 021: symbol already defined: "dynamicgift3DText"
No definas de nuevo la variable.
Bro, ya puse la base de datos, puse todo pero al iniciar el sv dice Dueño: NULL
me podrias decir como repararlo?
Dorzok escribió:
24 Mar 2018 11:00
 Codigo Pawno:
1

Descargar tabla estacionamientos aca
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
 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

/////////////// DEFINE
#define		MAX_EST             10

/////////////// NEW
new Text3D:dynamicgift3DText;
new Text3D:TextoEst[MAX_EST];

/////////////// ENUM
enum estaInfo
{
	estID,
	estDuenoID,
	estDuenoN[40],
	estValor,
	estNivel,
	Float:estX,
	Float:estY,
	Float:estZ,
	estVirW,
};
new InfoEst[MAX_EST][estaInfo];

/////////////// CMD:comprar(playerid, params[])

 		if(strcmp(item,"estacionamiento",true) == 0)
	 	{
	 	    for(new e = 0; e < sizeof(InfoEst); e++)
	    	{
				if(IsPlayerInRangeOfPoint(playerid, 2.0, InfoEst[e][estX], InfoEst[e][estY], InfoEst[e][estZ]))
				{
				    if(InfoEst[e][estNivel] > PlayerInfo[playerid][jNivel]) return SCM(playerid, COLOR_BLANCO, "No tienes el nivel necesario para comprar el estacionamiento.");
	                if(InfoEst[e][estValor] > PlayerInfo[playerid][pBanco]) return SCM(playerid, COLOR_BLANCO, "No tienes el dinero necesario para comprar el estacionamiento.");
					InfoEst[e][estDuenoID] = PlayerInfo[playerid][pID];
					format(InfoEst[e][estDuenoN],40,"%s",NombreJugador(playerid));
					DarDinero(playerid, -InfoEst[e][estValor]);
					InfoEst[e][estValor] = InfoEst[e][estValor]*2;
					InfoEst[e][estNivel] += 1;
					new string[256];
					format(string, sizeof(string), "{DBED15}¡Felicidades! {FFFFFF}Compraste un estacionamiento privado por {00CC00}$%d{FFFFFF}.", InfoEst[e][estValor]);
					SCM(playerid, COLOR_BLANCO, string);
					format(string, sizeof(string), "%s compró un estacionamiento.", NombreJugador(playerid));
					//Log("logs/Compras.log", string);
					GuardarEst(e);
					new string2[256 + MAX_PLAYER_NAME];
	  		    	format(string2, sizeof(string2), "{00CC00}Estacionamiento\n{FFFFFF}ID: %d | Propietario: {03C5DF}%s\n{FFFFFF}Con nivel %d puedes {DBED15}/comprar estacionamiento\n{FFFFFF}Precio: {00CC00}$%d\n\n{FFFFFF}Para guardar tu vehículo usa {DBED15}/entrar\n{FFFFFF}El costo es de {00CC00}$150{FFFFFF}/día.",
			  		e, InfoEst[e][estDuenoN], InfoEst[e][estNivel], InfoEst[e][estValor]);
					Update3DTextLabelText(TextoEst[e], COLOR_BLANCO, string2);
				}
			}
	 	}
	 	
	 	
forward CargarEst();
public CargarEst()
{
    new Query[200];
    format(Query, sizeof(Query), "SELECT * FROM `estacionamientos`");
    mysql_function_query(Conecction, Query, true, "CargarEstacionamientos","");
}

forward CargarEstacionamientos();
public CargarEstacionamientos()
{
	new count;
	for(new i = 0; i < cache_get_row_count(); i++)
	{
		new content[40],e;
		cache_get_field_content(i, "ID", content); e = strval(content); InfoEst[e][estID] = strval(content);
		if(e != 0)
		{
		    cache_get_field_content(i, "IDPropietario", content); InfoEst[e][estDuenoID] = strval(content);
		    cache_get_field_content(i, "Propietario", content); format(InfoEst[e][estDuenoN],40,"%s",content);
		    cache_get_field_content(i, "Valor", content); InfoEst[e][estValor] = strval(content);
		    cache_get_field_content(i, "Nivel", content); InfoEst[e][estNivel] = strval(content);
		    cache_get_field_content(i, "X", content); InfoEst[e][estX] = floatstr(content);
		    cache_get_field_content(i, "Y", content); InfoEst[e][estY] = floatstr(content);
		    cache_get_field_content(i, "Z", content); InfoEst[e][estZ] = floatstr(content);
		    cache_get_field_content(i, "VirW", content);  InfoEst[e][estVirW] = strval(content);
	  		count ++;
	  		if(InfoEst[e][estVirW] > 0)
	  		{
	  		    CreatePickup(1318, 1, InfoEst[e][estX],InfoEst[e][estY],InfoEst[e][estZ], 0);
	  		    new string[256 + MAX_PLAYER_NAME];
	  		    format(string, sizeof(string), "{00CC00}Estacionamiento\n{FFFFFF}ID: %d | Propietario: {03C5DF}%s\n{FFFFFF}Con nivel %d puedes {DBED15}/comprar estacionamiento\n{FFFFFF}Precio: {00CC00}$%d\n\n{FFFFFF}Para guardar tu vehículo usa {DBED15}/entrar\n{FFFFFF}El costo es de {00CC00}$150{FFFFFF}/día.",
			  	e, InfoEst[e][estDuenoN], InfoEst[e][estNivel], InfoEst[e][estValor]);
	  		    TextoEst[e] = Create3DTextLabel(string, COLOR_BLANCO, InfoEst[e][estX],InfoEst[e][estY],InfoEst[e][estZ]+0.9, 9, 0, 0);
			}
		}
	}
	return 1;
}

stock GuardarEst(e)
{
	new query[300];
	format(query, sizeof(query), "UPDATE `estacionamientos` SET `DuenoID`='%d', `DuenoN`='%s', `Valor`='%d', `Nivel`='%d' WHERE `ID`=%d",
	InfoEst[e][estDuenoID],
	InfoEst[e][estDuenoN],
	InfoEst[e][estValor],
	InfoEst[e][estNivel],
	InfoEst[e][estID]);
	mysql_function_query(Conecction,query,true,"","");
	return 1;
}

//////////////// En el public cargar todo ponen esto o en ongamemodeinit
CargarEst();
  Cantidad de llaves: Abiertas(38)-Cerradas(38) | Lineas Totales: 107
pongo todo bien pero cuando voy comprar el estacionamiento no da el cmd
(1051 -- 1052) : error 017: undefined symbol "InfoEst"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
porque da este error ayudenme
DavidD escribió:
06 Dic 2018 09:38
(1051 -- 1052) : error 017: undefined symbol "InfoEst"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
porque da este error ayudenme
Agregaste
 Codigo Pawno:
1

new InfoEst[MAX_EST][estaInfo];
  Cantidad de llaves: Abiertas(0)-Cerradas(0) | Lineas Totales: 1
abajo del enum?

¿Quién está conectado?

En total hay 1 usuario conectado :: 0 registrados, 0 ocultos y 1 invitado (basados en usuarios activos en los últimos 5 minutos)
La mayor cantidad de usuarios identificados fue 855 el 27 May 2018 00:03

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado