duda: [MAX_PLAYERS] etc..
#1

Hola chicos tengo una duda osea que es MAX_PLAYERS y esas cosas son arrays no ?

por ejemplo
Код:
new str[36+MAX_PLAYER_NAME], nombre[MAX_PLAYER_NAME];
	GetPlayerName(playerid, nombre, sizeof(name));
	format(str, sizeof(str),"%s %i acaba de entrar al servidor",playerid,nombre);
	SendClientMessageToAll(-1,str);
osea que que son? lo que yo mas o menos pienso son como arrays que guardan los datos asн como el ejemplo de arriba y es el valor es el mбximo de caracteres permitidos en un nombre 24 creo que es algo asн es la cosa? son arrays por defecto? hay mбs yo me sй algunos ,MAX_PLAYER_NAME,MAX_PLAYERS MAX_PLAYER_VEHICLE creo no sй xd bue aclarenme

PD: a todos mis amigos en skype (parka, Rayniel etc..) creo que me van a cortar el internet, pa' poner otro pero la linea llega en 3 meses y ahorita se cae a cada rato y no puedo entrar a skype

PD2: me baje los tuto importantes y cosas importantes

gracias y saludo
Reply
#2

MAX_PLAYER_NAME es un array definido en a_samp con un size de 24 caracteres.

Se gasta menos espacio si usas MAX_PLAYER_NAME.

tambien un nombre se puede definir como

new nombre[24];
Reply
#3

Quote:
Originally Posted by Strier
Посмотреть сообщение
MAX_PLAYER_NAME es un array definido en a_samp con un size de 24 caracteres.

Se gasta menos espacio si usas MAX_PLAYER_NAME.

tambien un nombre se puede definir como

new nombre[24];
xDD eso lo sй amigo lo dije arriba , lo que me refiero si їHay mбs arrays definidos, y pregunte si me me equivocaba y veo que no?

yo sй que tratas de ayudar pero tenemos que leer bien (Fin de buena onda)
Reply
#4

En realidad eso es un macro de 24 es lo mismo que MAX_PLAYERS yo le ponga ne ves de MAX_PLAYERS haga esto:
pawn Код:
//cуdigo normal
new a[MAX_PLAYERS];
//cуdigo sin el macro
new a[500];
Osea el compilador compila los macros con los parбmetros de ahн arriba ya incluidos osea en ves de MAX_PLAYERS el compilador compila 500 y asн con todos los macros.
Y sн es un array, cada jugador tiene un nъmero dentro del servidor (ID:<nъmero>) cuando un jugador entra al servidor el servidor le asigna un espacio dentro del servidor osea un lugar у celda en caso de la array, cuando un jugador sale la celda queda libre por si algъn otro usuario entra entonces se le asigna el mismo lugar ya que fue desocupado. Es como si hubieran 100 camas en un hospital, 20 estбn completas y otra persona entra entonces le dan la cama 21 luego entra otra persona entonces le dan la cama 22 pero el de la cama 21 se va, al de la cama 22 no lo van a mover a la 21 porque sн, entonces cuando entra otro paciente al hospital le asignan la cama 21 algo parecido pasa dentro del servidor.
Reply
#5

tu puedes definir tus propios arrays..

Los que yo conozco son

MAX_PLAYERS
MAX_PLAYER_NAME
MAX_OBJECTS
MAX_VEHICLES

Y Son los 4 que me se, si tu quieres definir uno, debes hacer lo siguiente. (Multiarrays o 2d arrays.)

pawn Код:
#define MAX_ARRAY 25
new miarray[MAX_ARRAY][MAX_PLAYERS];
Reply
#6

Son simples defines que los programadores de SA:MP definieron

pawn Код:
// Limits and internal constants
#define MAX_PLAYER_NAME                         (24)
#define MAX_PLAYERS                             (500)
#define MAX_VEHICLES                            (2000)
#define INVALID_PLAYER_ID                       (0xFFFF)
#define INVALID_VEHICLE_ID                      (0xFFFF)
#define NO_TEAM                                 (255)
#define MAX_OBJECTS                             (1000)
#define INVALID_OBJECT_ID                       (0xFFFF)
#define MAX_GANG_ZONES                          (1024)
#define MAX_TEXT_DRAWS                          (2048)
#define MAX_PLAYER_TEXT_DRAWS                   (256)
#define MAX_MENUS                               (128)
#define MAX_3DTEXT_GLOBAL                       (1024)
#define MAX_3DTEXT_PLAYER                       (1024)
#define MAX_PICKUPS                             (4096)
#define INVALID_MENU                            (0xFF)
#define INVALID_TEXT_DRAW                       (0xFFFF)
#define INVALID_GANG_ZONE                       (-1)
#define INVALID_3DTEXT_ID                       (0xFFFF)
Es lo mismo poner MAX_PLAYERS, que poner 500.

Esos son los lнmites por defecto, si es cierto que es mucha la gente que cambia el valor de MAX_PLAYERS, para optimizar.

Ya que en la mayorнa de casos se derrocha muchos bytes usando MAX_PLAYERS en variables, loops etc.

Para re definir la variable MAX_PLAYERS:
pawn Код:
//Arriba del GM
#undef MAX_PLAYERS
#define MAX_PLAYERS (50) // Ver *
* 50 es un ejemplo, si por ejemplo solo tienes 4 slots, pones 4.

Asн optimizarбs.
Reply
#7

Quote:
Originally Posted by JustBored
Посмотреть сообщение
En realidad eso es un macro de 24 es lo mismo que MAX_PLAYERS yo le ponga ne ves de MAX_PLAYERS haga esto:
pawn Код:
//cуdigo normal
new a[MAX_PLAYERS];
//cуdigo sin el macro
new a[500];
Osea el compilador compila los macros con los parбmetros de ahн arriba ya incluidos osea en ves de MAX_PLAYERS el compilador compila 500 y asн con todos los macros.
Y sн es un array, cada jugador tiene un nъmero dentro del servidor (ID:<nъmero>) cuando un jugador entra al servidor el servidor le asigna un espacio dentro del servidor osea un lugar у celda en caso de la array, cuando un jugador sale la celda queda libre por si algъn otro usuario entra entonces se le asigna el mismo lugar ya que fue desocupado. Es como si hubieran 100 camas en un hospital, 20 estбn completas y otra persona entra entonces le dan la cama 21 luego entra otra persona entonces le dan la cama 22 pero el de la cama 21 se va, al de la cama 22 no lo van a mover a la 21 porque sн, entonces cuando entra otro paciente al hospital le asignan la cama 21 algo parecido pasa dentro del servidor.
EDIT:el mensaje se envio tarde saludos gracias a todos
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)