Allied Modders en español

Versión completa: [GUIA] Cómo empezar a aprender PAWN
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas a todos y bienvenidos a la guia. Esta guia la realizo para la gente que recien empieza y no sabe absolutamente nada y tiene deseos de aprender. Lo que les voy a enseñar es algo muy basico con respecto a la programación, pero que muchos no lo sabes y van directo a aprender que es una variable, un array, etc.

En programación, cuando queremos crear algo (lo llamaremos problema, un problema a resolver), lo primero que tenemos que hacer es descomponer ese problema en subproblemas mas pequeños, digamos, ir dividiendolos. Veamos un ejemplo:

Problema General
|_> Subproblema 1
|_> Subproblema 2
|_> Subproblema 3

Ahora bien, pero se preguntaran (los que recien empiezan y no saben nada), ¿Esto de que me sirve? Bueno, ahora te mostrare con un ejemplo en el lenguaje Pawn y veras de que sirve ir separando los problemas en subproblemas. Veamos este ejemplo:

Problema (plugin): Al poner en el say /ak47 dar un arma al jugador que escribio eso en say
- Subproblema 1: ¿Cómo obtener lo que alguien puso en say?
- Subproblema 2: ¿Cómo saber si lo que puso en say es /ak47?
- Subproblema 3: Si puso /ak47, dar el arma al jugador

Ahora ven de que sirve? Ahora ustedes mismos pueden buscar en alliedmods como hacer cada subproblema para poder acabar con el problema general, el cual era dar un arma si el jugador pone en say /ak47.
Esto sirve mucho a la hora de buscar ayuda, ya que cada vez que queremos buscar algo, lo hacemos de la siguiente manera: "Como dar un arma poniendo algo en say cs 1.6" Una busqueda para la cual nunca encontraremos una respuesta al problema que queremos solucionar.

- Consejo: Cada vez que busquen ayuda sobre plugins, haganlo en el lenguaje inglés y pongan al final de lo que quieren la palabra "alliedmods", asi la busquera dará resultados. Intentemos solucionar los subproblemas 1, 2 y 3 para nuestro plugin de ejemplo. Busquemos en google lo siguiente:
- Subproblema 1, google: "hook say alliedmods", y encontraremos exactamente lo que buscamos.
- Subproblema 2: Esto seguramente lo solucionamos al buscar el primer subproblema.
- Subproblema 3, google: "set ak47 alliedmods"

Bien, ahora tenemos todos los datos para poder terminar nuestro plugin. Pero como somos nuevos, no entendemos la estructura de programación en Pawn, ahora les mostrare la estructura, y este Tutorial y luego este les mostrara demas datos que deben aprender y saber como funcionan (Primero vean la estructura).

La estructura es basica, creamos una función solo poniendo el nombre y poniendo detras del nombre "()" (sin las comillas) y dentro de los parentesis los argumentos que lleva, estos argumentos pueden ser de texto, numeros enteros (int) o decimales (float) constantes o no y demas tipos que veran en los tutoriales que les nombre anteriormente. Luego de crear la función abrimos un bloque "{}" (sin las comillas) y nuestro codigo a ejecutar (el codigo que quieran que haga la función creada) irá dentro de ese bloque.

La estructura es muy simple, lo mostrare aqui abajo:

Código PHP:
funcion()
{
     
codigo
     codigo
     codigo


Dentro de nuestro bloque principal pueden haber bloques secundarios que se ejecutarian dada una condición, en ese caso la función se veria algo asi:

Código PHP:
funcion()
{
     
// Una condición en pawn luce asi
     
if (aca nuestra condicion)
     {
          
codigo solo si la condicion se cumple
     
}
     
codigo pasando de la condicion
     mas codigo
...


Bueno, eso es todo, es algo simple para los que recien empiezan y no saben absolutamente nada. Les dejo unas recomendaciones para que avancen rapidamente!
- Intenten hacer lo de los subproblemas, es mucho mas eficiente para poder entender el problema general.
- Lean el include amxmodx.inc (se encuentra en la carpeta scripting/includes/) de donde tengamos instalado nuestro amxmodx
- Utilicen mucho el foro para buscar información, y si no la encuentran hagan un post pidiendola.
- Les recomiendo que no hagan post pidiendo que les hagan los plugins, sino pidiendo ayuda/codigos para poder hacer ustedes el plugin que necesitan, ya que si siempre les dan los plugins hechos no lograran avanzar.
- Lean plugins que ya esten creados, plugins simples, aunque parezca que no entienden nada, si lo leen una y otra vez, palabra por palabra, y conociendo la estructura, al final acabarán entendiendo y conociendo funciones y cual es su función (Valga la redundancia).

Bueno, eso es todo, si tienen algun comentario/sugerencia/duda pueden comentar este post, espero haberlos ayudado en algo minimo aunque sea! Buena suerte en su aprendizaje!
Bien ahí.
Sarcasmo detected u.u Es algo basico que no vi que expliquen en ningun lado, por eso lo hice wachin, no me sobres (? y si no es sarcasmo ty.
(11/03/2015, 01:59 AM)Gonza.-* escribió: [ -> ]Sarcasmo detected u.u Es algo basico que no vi que expliquen en ningun lado, por eso lo hice wachin, no me sobres (? y si no es sarcasmo ty.

Y te lo dije en serio Roflmao nadie aqui acostumbra a saber y aplicar que los algoritmos son una serie de pasos que resuelven un problema, por eso el cumplido. Ragestart
Justo lo que necesito >.<

Gracias Rainbow
Ya hacia falta algo asi. Buena!
Algo asi como el pseudocodigo
Buena guía, siempre divido los problemas para buscar y se que es mucho mas eficiente, aunque lo haga inconscientemente, creo que es una gran manera de que entiendan como buscar en el foro y como intentar entender y resolver un problema.

PD: En lo del include podes poner esta página (mas sencillo): http://www.amxmodx.org/api/
Podrias explicarles como pensar los codigos por medio de la estructura de chapin
Bien hecho Sonrisa
Ya lo tendrían que poner en la "recopilación de tutoriales"
Muy bueno!!

Para los que quieran saber concretamente como divir el problema en subproblemas googleen un poco sobre Pseudocódigo y Diagrama de flujo, esto les sera muy util.
La verdad esto me hizo acordar a lo que nos explicaba una profesora de Picso (Proyecto de Investigación en las Ciencias Sociales) hablaba de la construcción del problema y de los subproblemas para resolver el mismo problema Lengua, ya que yo estoy empezando me re sirve, muchísimas gracias Gran sonrisa!
Buena introducción al lenguaje, la verdad no es muy difícil, a mi me parece difícil es aprender todos los datos relacionados al Counter Strike (o a cualquier juego que use el AMX) es decir, si quieres darle chaleco a un usuario que coloque en el say:/chaleco, como determinar los datos...
Código PHP:
set_user_armorindexcantidad 
(04/12/2016, 12:43 PM)Hernandez escribió: [ -> ]
Código PHP:
set_user_armorindexcantidad 

Ahora aprender todos, chaleco, vida, las armas, los mensajes, todo!
(04/12/2016, 03:44 PM)mrsrz escribió: [ -> ]
(04/12/2016, 12:43 PM)Hernandez escribió: [ -> ]
Código PHP:
set_user_armorindexcantidad 

Ahora aprender todos, chaleco, vida, las armas, los mensajes, todo!

fun.inc
Exelente[font=Trebuchet MS][size=x-large]