View Single Post
Old 19/05/2010, 04:58 AM   #1
TheChaoz
High-roller
 
TheChaoz's Avatar
 
Join Date: Dec 2009
Location: Argentina
Posts: 4,656
Reputation: 239
Post Tutoriales, FAQ y mas

FAQ(Peguntas frecuentes):
  • ¿Cómo empiezo a scriptear?
  • ¿Cómo agrego coches o pongo coches en el GM?
  • ¿Dónde puedo ver como se usan las funciones y qué funciones existen?
  • ¿Cómo modifico la forma de caminar de los jugadores?
  • ¿Cómo modifico el score del jugador según sus asesinatos?
  • ¿Cómo abro los puertos de mi PC?
  • ¿Cómo poner animaciones?
  • ¿Cómo pasar un .map a .pwn u otro formato?
    Existen varias formas de realizar esto, una de ellas es desde esta pagina web: http://www.convertffs.com/
  • ¿Cómo se cuales son los colores para mandar mensajes en el chat?
    Generalmente se utiliza un color picker ya sea web o un programa (también se puede utilizar un script).
  • ¿Cómo hago que el reloj de mi servidor cambie automáticamente según el tiempo real?
    Se puede usar este FilterScript, el cual viene con el servidor de samp: "gl_realtime.amx"
  • ¿Cómo creo mis propios mapas?
    Existen muchas formas de crear mapas, una de ellas es con el Map editor
  • ¿Cómo se cual es la ID de un interior?
    Dentro del juego (SA-MP) tiepea "/interior" (sin las comillas) y este devolverá la ID del interior en el que te encuentras por el chat.
  • ¿Cómo hago para que mi servidor aparezca en la lista de Internet?
    Dentro del server.cfg, se debe cambiar el "announce 0" por "announce 1".
  • ¿Cómo hago para que mi servidor salga en la lista de hosted?
    Se debe crear una cuenta en game-mp, luego se debe pagar por dicho servicio (La creacion de cuentas se encuentra cerrada por el momento)
  • ¿Qué es "pragma"?
    Seguramente has oido mencionar esto muchas veces. Aqui la explicación de lo que es.
  • ¿Cómo cambio el "Unknown Command" que aparece cuando el comando no existe?
    Muy sencillo, buscamos el callback: "OnPlayerCommandText", luego dentro del mismo y en el final fuera de los comandos encontraremos un:
    pawn Code:
    return 0;
    Lo unico que hay que hacer es cambiarlo por:
    pawn Code:
    return SendClientMessage(playerid, color, "mensaje");
    y ahora en vez de salir "Unknown Command" saldrá nuestro mensaje.
  • ¿Por qué me salen estos 26 errores?
    Los venditos 26 errores..., se solucionan actualizando la versión de pawno que utilizamos.


Tutoriales:

Problemas comunes a la hora de compilar:

Warnings:
  • Code:
    warning 204: symbol is assigned a value that is never used: "variable"
    La variable/array que le sigue a los 2 puntos fue creada, pero nunca se le asigno un valor, por lo que se la puede eliminar.
  • Code:
    warning 219: local variable "variable" shadows a variable at a preceding level
    La variable/array que se encuentra entre ' "" ', ya había sido definida anteriormente.
  • Code:
    warning 211: possibly unintended assignment
    Es un error de tipeo en la sentencia, puede ser desde un = en vez de == hasta alterar el orden logico de agentes que intervienen, u olvidarse de cerrar las ' "" '.
  • Code:
    warning 213: tag mismatch
    Es un error que puede ir desde la mala definición de una variable como por ejemplo:
    pawn Code:
    new float:Vida;
    en vez de:
    pawn Code:
    new Float:Vida;
    o ingresar un caracter no valido en una función: (ejemplo muy ridículo, pero es para que se entienda que es un error del tipo de dato que se usa)
    pawn Code:
    SetPlayerInterior(playerid, Armour);
    en vez de:
    pawn Code:
    SetPlayerInterior(playerid, Interior);
    (o en vez de "Interior" el ID correspondiente en números).
  • Code:
    warning 217: loose indentation
    No respetamos los espacios que deben dejarse desde el inicio hasta donde empieza la linea ej:
    pawn Code:
    if(playerid != INVALID_PLAYER_ID){
    //codigo
    }
    en vez de:
    pawn Code:
    if(playerid != INVALID_PLAYER_ID){
        //codigo
    }
    Esto se puede solucionar colocando correctamente las sangrías.
  • Code:
    warning 225: unreachable code
    Antes de la linea en la cual aparece esta advertencia estamos retornando algún valor, por lo cual el código que esta después de ese "return" no es tomado en cuenta.
  • Code:
    warning 235: public function lacks forward declaration (symbol "funcion")
    No hemos realizado el forward de la función que hemos declarado.
  • Code:
    warning 209: function "funcion" should return a value
    La función a la que hace referencia la advertencia debería retornar un valor es decir nos olvidamos del "return 1;" o "return 0;" de la misma.
  • Code:
    warning 202: number of arguments does not match definition
    Hay mas o menos argumentos de los que deberían haber

Errores:
  • Code:
    error 001: expected token: ";", but found "X"
    (donde X representa un caracter o palabra).
    En la linea anterior a la que figura en el error, nos hemos olvidado de poner el ";" en el final de la linea.
  • Code:
    error 021: symbol already defined: "score"
    La variable/array (en este caso score) ya ha sido definida.
  • Code:
    fatal error 100: cannot read from file: "archivo"
    No tenemos en la carpeta de includes el archivo al que estamos llamando, y por ende no lo puede leer.
  • Code:
    error 017: undefined symbol "playerid"
    No definimos la variable/array (en este caso "playerid") a la que hacemos referencia.
  • Code:
    error 035: argument type mismatch (argument 2)
    Hay un error en el argumento de la funcion(en este caso numero 2): Nota: Este error generalmente aparece acompañado del warning " tag mismatch".
  • Code:
    error 029: invalid expression, assumed zero
    La sentencia asume 0, generalmente es un error en la escritura de la misma.


Problemas comunes a la hora de ejecutar:
  • Code:
    Run time error 19: "File or function is not found"
    Este error se produce por:
    1. falta o cargo mal algún plugin, o bien porque los includes no corresponden con la versión del plugin que se esta utilizando.
    2. Realmente falta el archivo .amx


Aca dejo un post con varias funciones que pueden llegar a ser útiles:
[Funciones] Postea tus funciones aquí!

Notas:
  • El topic se ira actualizando y re-modelando para que sea mas productivo y completo, así que si consideran que me olvide de colocar algo o me equivoque, díganmelo y si creo que es conveniente, corregiré/agregare el contenido.
  • Me reservo el derecho de agregar los tutoriales que considere mejores según mi criterio.
__________________

Last edited by TheChaoz; 06/09/2014 at 11:02 PM. Reason: Adding a new tutorial
TheChaoz is offline