Ayuda Scripts -
Yue Rexie - 17.10.2010
Hola he decidido iniciar mi propio gamemode, y esto va por partes con metas a corto y largo plazo. Con lo que se pude decir que la meta a largo plazo es realizar el gamemode, pero por ahora tengo que aprender el pawn, y la unica forma de aprenderlo es programando.
Por lo tanto necesito que alguien entendido en el tema, me regale un fragmento de cуdigo donde se muestre un pequeсo mensaje en pantalla. El objetivo de lo anterior es identificar la funcion de entrada y la cuestiуn de los includes a usar.
Agradezco su ayuda soy un novato.
Un saludo.
Re: Ayuda Scripts -
TheChaoz - 17.10.2010
bueno mira, yo te voy a dar mi opinion sobre la forma mas eficas de aprender pawn en base a mi experiencia.
te recomiendo que leas tutoriales (hay varios desde cosas simples hasta cosas un poco mas avanzadas) en espaсol en este
link. y para saber las funciones, nada mejor que la
wiki de samp, aun que esta en ingles, pero = es entendible dado que te da muy buenos ejemplos.
yo aprendi leyendo codigos e interpretandolos de 0 sin conocimientos previos exepto unos meses con vb (realmente basicos) y inicialmente se me complico dado que no podia acceder a la wiki o a este foro. pero ese es otro tema, x eso te recomiendo que aprobeches los tutoriales existentes y este foro donde siempre que se pueda te vamos a responder las dudas que tengas.
Respuesta: Ayuda Scripts -
MrDeath537 - 17.10.2010
Aunque copiar, pegar y editar pueda ser un poco noob en algunos casos, te recomiendo que por ejemplo edites cosas de un lvdm y mientras lo haces trates de entender, de esa manera tambiйn irбs aprendiendo, en la secciуn en espaсol hay un par de tutoriales. Si buscбs en ****** seguro vas a encontrar algъn tutorial en espaсol de PAWN, aunque seguramente no sea exactamente con las funciones de SA-MP, y esas cosas.
Suerte con eso.
Re: Ayuda Scripts -
SuperMarioRol - 17.10.2010
Coje un GM cualquiera, de donde sea, estudialo, miralo, ponle alguna cosita, cambia alguna palabrita, usa mucho la wiki (wiki.sa-mp.com) para entender las funciones y poco a poco irбs entendiendo el lenguaje.
Suerte!
Re: Ayuda Scripts -
Yue Rexie - 17.10.2010
vale, agradezco sus comentarios son de gran valor. La pregunta que tengo es que con referencia a otros lenguajes que he manejado, todo el ciclo principal del scripts se mete en un While?, pues lo que he realizado es una funciуn inicial denominada Main, pero aun no aclaro el concepto si dentro de esa funciуn va el resto de codificaciуn, todo lo anterior es que me estoy acoplando al editor.
Por lo que necesito que me expliquen el flujo de el programa. Bueno creo que no soy partidario de ir modificando otros GM, debido a que lo principal es aprender y comprender bien el sentido de las cosas, y por experiencia se que si se hace eso estaremos a la corriente del que hace el GM, y seremos mas que usarios del mismo.
Код:
#include <a_samp>
main(){
//Codigo
//Pregunta: aquн va las llamadas, dentro de este ciclo o existe alguna metodo de saltar a otras funciones??
}
Un saludo.
"El programar equivale a disfrutar creando"
[ame]http://www.youtube.com/watch?v=GKL0BduZCcM[/ame]
Re: Ayuda Scripts -
Zamaroht - 17.10.2010
SA-MP funciona con callbacks y funciones. A la vez, cada jugador tiene asignada una ID a si mismo (cuando te conectas a un server, la ID la puedes ver apretando TAB). La ID (a veces conocida como 'playerid') es ъnica por cada jugador y cada jugador que se conecta siempre obtiene la menor ID posible. Es el nъmero interno con el que se identifica cada jugador.
Cada vez que ocurre un 'evento', es accionado un callback. Esta es la lista de callbacks:
https://sampwiki.blast.hk/wiki/Category:Scripting_Callbacks
Tambiйn hay un conjunto de funciones nativas, son estas:
https://sampwiki.blast.hk/wiki/Category:Scripting_Functions
La funciуn main() normalmente suele dejarse sin uso y se utilizan las callbacks. Sin embargo, en un gamemode debe existir o este no funcionarб. Un ejemplo del script que pediste vos:
pawn Код:
#include <a_samp>
main() { }
public OnGameModeInit()
{
print("Hola mundo!");
return 1;
}
Re: Ayuda Scripts -
Yue Rexie - 17.10.2010
Quote:
Originally Posted by Zamaroht
SA-MP funciona con callbacks y funciones. A la vez, cada jugador tiene asignada una ID a si mismo (cuando te conectas a un server, la ID la puedes ver apretando TAB). La ID (a veces conocida como 'playerid') es ъnica por cada jugador y cada jugador que se conecta siempre obtiene la menor ID posible. Es el nъmero interno con el que se identifica cada jugador.
Cada vez que ocurre un 'evento', es accionado un callback. Esta es la lista de callbacks: https://sampwiki.blast.hk/wiki/Category:Scripting_Callbacks
Tambiйn hay un conjunto de funciones nativas, son estas: https://sampwiki.blast.hk/wiki/Category:Scripting_Functions
La funciуn main() normalmente suele dejarse sin uso y se utilizan las callbacks. Sin embargo, en un gamemode debe existir o este no funcionarб. Un ejemplo del script que pediste vos:
pawn Код:
#include <a_samp>
main() { }
public OnGameModeInit() { print("Hola mundo!"); return 1; }
|
Joder tio!, as dado en el punto, es la base de partida que necesito, de igual forma todo lo que escriba en main, aparece en la consola del server, ahora bien, que funciуn cumplen los directorios del server, haber si me das una somera explicaciуn sobre el asunto.
Un saludo.
Re: Ayuda Scripts -
Zamaroht - 17.10.2010
Quote:
Originally Posted by Yue Rexie
Joder tio!, as dado en el punto, es la base de partida que necesito, de igual forma todo lo que escriba en main, aparece en la consola del server, ahora bien, que funciуn cumplen los directorios del server, haber si me das una somera explicaciуn sobre el asunto.
Un saludo.
|
Son bastantes directorios y archivos importantes, vamos por partes :P
El directorio 'pawno' viene solo con el server de windows. Trae el editor de scripts pawn default de SA-MP (llamado Pawno) y los includes nativos.
El directorio 'scriptfiles' es usado por los gamemodes o filterscripts (mбs sobre estos adelante). Bбsicamente se usan para leer o guardar datos de los distintos scripts de un server, como por ejemplo, informaciуn sobre cuentas de usuarios, entre otros. Puede tener subdirectorios.
Hay un directorio que se llama include dentro del directorio principal del server. No es muy importante, trae un par de funciones comunes y otros datos que podrнan resultar ъtiles al crear un gamemode.
SA-MP funciona con gamemodes y filterscripts (tambiйn npcmodes, pero solo son usados en caso de utilizar algъn NPC). Un server SA-MP puede correr solo un gamemode a la vez, pero hasta 16 filterscripts al mismo tiempo. Un gamemode normalmente trae todo el script principal, y deberнa poder usarse sin ser dependiente de ningъn otro script. Un filterscript se usa para 'agregar' cosas al gamemode, por decirlo de alguna forma. Por ejemplo, hay varios sistemas de administraciуn que vienen en forma de filterscript, por lo cual sea cual sea el gamemode que se estй ejecutando, al mismo tiempo se puede cargar el filterscript y utilizarse en conjunto con el gamemode actual y los otros filterscript cargados. Los filterscripts pueden ser cargados y descargados en tiempo de ejecuciуn.
Siguiendo con la estructura de directorios, estб el directorio 'gamemodes', que contiene normalmente a los gamemodes (en estado compilado (.amx)) que se vayan a usar en el server, normalmente no es necesario tener mбs de uno, aunque se suele usar la carpeta para ir guardando todos los gamemodes en los que se vaya trabajando.
El directorio 'filterscripts' tiene a los filterscripts que se vayan a usar por el servidor.
Es decir, los directorios 'gamemodes' y 'filterscripts' son en donde el server busca a los gamemodes y filterscripts que se vayan a usar.
El directorio 'npcmodes' guarda otro tipo de scripts, conocidos como npcmodes :P Bбsicamente son scripts que guardan las acciones a realizar por un NPC, y cada NPC tiene su script propio. El tema es un poquito mбs complejo, por lo que te recomiendo que comiences con algъn gamemode o filterscript, y luego vuelvas a este tema en caso de que necesites agregar un NPC.
El archivo 'announce' se ejecuta automбticamente con el server, es el encargado de hacer pъblico a tu server en la lista de internet.
El archivo 'samp-npc' se ejecuta automбticamente con el server, simula a los NPCs que se conectarнan a tu server.
El archivo 'samp-server' es el server propiamente dicho, es el archivo que se debe ejecutar para arrancar el server.
El archivo 'server.cfg' es aquel que guarda toda la configuraciуn del server. En el se guardan el nombre del gamemode a usar, el nombre de los filterscripts a ejecutar cuando arranca el server, el nombre del server, el puerto a usar, la cantidad mбxima de jugadores, entre muchos otros. Acб hay una lista detallada con para quй sirve cada cosa (en inglйs):
https://sampwiki.blast.hk/wiki/Server.cfg
Saludos.
Respuesta: Re: Ayuda Scripts -
MrDeath537 - 17.10.2010
Quote:
Originally Posted by Zamaroht
Son bastantes directorios y archivos importantes, vamos por partes :P
El directorio 'pawno' viene solo con el server de windows. Trae el editor de scripts pawn default de SA-MP (llamado Pawno) y los includes nativos.
El directorio 'scriptfiles' es usado por los gamemodes o filterscripts (mбs sobre estos adelante). Bбsicamente se usan para leer o guardar datos de los distintos scripts de un server, como por ejemplo, informaciуn sobre cuentas de usuarios, entre otros. Puede tener subdirectorios.
Hay un directorio que se llama include dentro del directorio principal del server. No es muy importante, trae un par de funciones comunes y otros datos que podrнan resultar ъtiles al crear un gamemode.
SA-MP funciona con gamemodes y filterscripts (tambiйn npcmodes, pero solo son usados en caso de utilizar algъn NPC). Un server SA-MP puede correr solo un gamemode a la vez, pero hasta 16 filterscripts al mismo tiempo. Un gamemode normalmente trae todo el script principal, y deberнa poder usarse sin ser dependiente de ningъn otro script. Un filterscript se usa para 'agregar' cosas al gamemode, por decirlo de alguna forma. Por ejemplo, hay varios sistemas de administraciуn que vienen en forma de filterscript, por lo cual sea cual sea el gamemode que se estй ejecutando, al mismo tiempo se puede cargar el filterscript y utilizarse en conjunto con el gamemode actual y los otros filterscript cargados. Los filterscripts pueden ser cargados y descargados en tiempo de ejecuciуn.
Siguiendo con la estructura de directorios, estб el directorio 'gamemodes', que contiene normalmente a los gamemodes (en estado compilado (.amx)) que se vayan a usar en el server, normalmente no es necesario tener mбs de uno, aunque se suele usar la carpeta para ir guardando todos los gamemodes en los que se vaya trabajando.
El directorio 'filterscripts' tiene a los filterscripts que se vayan a usar por el servidor.
Es decir, los directorios 'gamemodes' y 'filterscripts' son en donde el server busca a los gamemodes y filterscripts que se vayan a usar.
El directorio 'npcmodes' guarda otro tipo de scripts, conocidos como npcmodes :P Bбsicamente son scripts que guardan las acciones a realizar por un NPC, y cada NPC tiene su script propio. El tema es un poquito mбs complejo, por lo que te recomiendo que comiences con algъn gamemode o filterscript, y luego vuelvas a este tema en caso de que necesites agregar un NPC.
El archivo 'announce' se ejecuta automбticamente con el server, es el encargado de hacer pъblico a tu server en la lista de internet.
El archivo 'samp-npc' se ejecuta automбticamente con el server, simula a los NPCs que se conectarнan a tu server.
El archivo 'samp-server' es el server propiamente dicho, es el archivo que se debe ejecutar para arrancar el server.
El archivo 'server.cfg' es aquel que guarda toda la configuraciуn del server. En el se guardan el nombre del gamemode a usar, el nombre de los filterscripts a ejecutar cuando arranca el server, el nombre del server, el puerto a usar, la cantidad mбxima de jugadores, entre muchos otros. Acб hay una lista detallada con para quй sirve cada cosa (en inglйs): https://sampwiki.blast.hk/wiki/Server.cfg
Saludos.
|
Muy buena la explicaciуn, yo no la hubiera escribido por vagancia
.
Re: Respuesta: Re: Ayuda Scripts -
CristianTdj - 17.10.2010
Quote:
Originally Posted by MrDeath
Muy buena la explicaciуn, yo no la hubiera escribido por vagancia .
|
Sн seсor, pero quй vagos somos.