їTodo en el gamemode o separar scripts por includes?
#1

Hola,

He visto que mucha gente suele hacer includes y poner ahн variables o sistemas y despuйs cargarlo en el archivo pawno. їEs recomendable hacer йso?. Yo supongo que la ъnica utilidad que tiene es no tener que poner muchas lнneas en el gamemode pero no estoy seguro de si tiene alguna otra utilidad.

Un saludo, gracias.
Reply
#2

Quote:
Originally Posted by Joake6
Посмотреть сообщение
Hola,

He visto que mucha gente suele hacer includes y poner ahн variables o sistemas y despuйs cargarlo en el archivo pawno. їEs recomendable hacer йso?. Yo supongo que la ъnica utilidad que tiene es no tener que poner muchas lнneas en el gamemode pero no estoy seguro de si tiene alguna otra utilidad.

Un saludo, gracias.
Pues en el Team donde me encuentro se suele tener 1 include para cargar los mapeos, tds, y otras cosas que no me acuerdo. Sн, yo diria mбs que utilidad como tal, te ayuda a tener el archivo (.pwn) principal mбs limpio. No cambia la funcionalidad si lo tienes directo en el .pwn o el .inc (lo he usado de las dos formas).

Igual puedes separar cosas externas, como los ejemplos de arriba. Tampoco vas a poner un sistema de facciуn en un Include. Recuerda que solo es una libreria lo cual es un conjunto de implementaciones funcionales.
Reply
#3

Otra utilidad serнa que por casos raros tu gm lo tiene alguien mбs y el no poder compilarlo por falta de includes o no poder quitarle sistemas.
Reply
#4

Esto se hace solo por mantener el orden dentro del GM
Reply
#5

Muchas gracias a todos.

En mi caso їEstarнa bien crear varios includes y meter en unos las variables del jugador, en otra los comandos de ayuda, administraciуn...? es decir, la mayorнa de cosas que no sean callbacks
Reply
#6

Estoy seguro que es un millon de veces mejor separar por modulos los codigos, asн se hace en todos los lenguajes (menos pawn ). No necesariamente son includes, tambiйn otros archivos .pwn. Ejemplo

gm.pwn
pawn Код:
#include "house.pwn"
#include "vehicle.pwn"

CMD:crearcasa(playerid, params[]) {
    new House:createdHouse = House_create(strval(params));
    printf("casa id %d creada!", _:createdHouse);
}

CMD:crearvehiculo(playerid, params[]) {
    new Vehicle:createdVehicle = Vehicle_create(411, ...);
    printf("vehiculo %d creado", _:createdVehicle);
}
house.pwn
pawn Код:
enum houseEnum {
    name[24],
    price
}

// estatico, solo este archivo puede leer o escribir datos. Nosotros le damos metodos para obtener los
// datos de una manera mas clara
static houseArray[MAX_HOUSES][houseEnum];

stock House:House_create(name, price) {
    ...
    return createdHouse;
}

stock House_GetPrice(House:house)  {
    return houseArray[_:house][price];
}
Asн el codigo se ve mucho mбs legible, y es mбs facil de mantener y modificar con el tiempo, ademбs reduce muchisisimo la probabilidad de bugs!Entre mбs claro y simple el cуdigo, es MEJOR. La complejidad es mala, en TODOS los aspectos de la programaciуn
Reply
#7

Yo personalmente prefiero tener todo en un archivo .pwn.
Reply
#8

Dividiendolo por includes puedes tenerlo mбs organizado, pero creo yo que serнa un poco mбs dificil de usar ya que el pawno no tiene una forma cуmoda de abrir varios archivos, es tu decisiуn de como hacer pero te recomiendo dividirlo todo y buscar una alternativa a Pawno que soporte lo anteriormente dicho.
Reply
#9

Quote:
Originally Posted by Infernux
Посмотреть сообщение
Dividiendolo por includes puedes tenerlo mбs organizado, pero creo yo que serнa un poco mбs dificil de usar ya que el pawno no tiene una forma cуmoda de abrir varios archivos, es tu decisiуn de como hacer pero te recomiendo dividirlo todo y buscar una alternativa a Pawno que soporte lo anteriormente dicho.
Tu recomendacion es invalido para mi. Me parece un poco ironico y a la vez estupido separar todo por partes o varios archivos cuando la dependencia de cada parte no es independiente como lo es en PHP por ejemplo. Y es practicamente la razon por la cual me gusta tener todo en un archivo cuando hablamos sobre SA-MP scripting.

Y tener varios archivos no es nada organizado (en SA-MP scripting), para mi. Se me hace un cochinero que no se entiende y en algunos casos no es logico en terminos del sentido comun.
Reply
#10

Quote:
Originally Posted by Kevln
Посмотреть сообщение
Tu recomendacion es invalido para mi. Me parece un poco ironico y a la vez estupido separar todo por partes o varios archivos cuando la dependencia de cada parte no es independiente como lo es en PHP por ejemplo. Y es practicamente la razon por la cual me gusta tener todo en un archivo cuando hablamos sobre SA-MP scripting.

Y tener varios archivos no es nada organizado (en SA-MP scripting), para mi. Se me hace un cochinero que no se entiende y en algunos casos no es logico en terminos del sentido comun.
Infernux, toda la razуn cuando hablas del IDE. Los IDE generalmente t edejan tener varios archivos abiertos a la vez. Para programar por modulos, o archivos seria mejor usar otro IDE (yo usaba el notepad++) pero sin dudas es mucho mas organizado cada cosa en su archivo. En el 99% de los lenguajes de programaciуn, se considera una mala prбctica tener un solo archivo con mas de 2.000 lineas, y aca es comun que los Gm tengan 60.000
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)