Ayuden
#1

Hola cual es el scrip o como se llame para crear Informacion Por ejemplo :
/teles

/grove
/lv
/sf

/Informacion
/Ayuda

Porfavor ayudenme, no les pido que me ayuden solo que me den el nombre del scrip
Reply
#2

No entiendo lo que quieres, no hay un script que tenga justo esos comandos.

Tienes que crearlos. Te recomiendo que edites un GM base y veas como funciona todo en pawn ya que veo que eres nuevo en esto.
Reply
#3

A lo que me refiero son este tipos OnPlayerEnterVehicle que creo que se llama variable que sirve para crear cosas como las que quiero crear , espero que esta vez sea mas especifico
Reply
#4

Tambiйn por favor se razonable. Primero pides que te ayudemos y despuйs que no. Si quieres ayuda puedo dбrtela sino no.
Reply
#5

Quote:
Originally Posted by uardo12
Посмотреть сообщение
A lo que me refiero son este tipos OnPlayerEnterVehicle que creo que se llama variable que sirve para crear cosas como las que quiero crear , espero que esta vez sea mas especifico
1_ OnPlayerEnterVehicle No es una variable.
2_ Te recomiendo lo que te dije en el primer mensaje.
Код:
Te recomiendo que edites un GM base y veas como funciona todo en pawn ya que veo que eres nuevo en esto.
3_ Si no tienes conocimientos mнnimos de pawn no vas a poder empezar a crear cosas.
Reply
#6

Quote:
Originally Posted by uardo12
Посмотреть сообщение
A lo que me refiero son este tipos OnPlayerEnterVehicle que creo que se llama variable que sirve para crear cosas como las que quiero crear , espero que esta vez sea mas especifico
OnPlayerEnterVehicle es un callback la cual es ejecutada al entrar en un vehнculo (Sуlo entrar cuando el jugador estб dentro se utiliza OnPlayerStateChange)
Una variable es utilizada para casi todo en Pawn. Por ejemplo
Код:
new a;
if(a <= 1)
{
print("Buenos dнas");
}
return 1;
}
Ahн "a" serнa la variable y si la variable "a" estб establecida en 1 se manda un mensaje en la consola que dice "Buenos dнas", sino no la manda.
Reply
#7

Bueno, te doy una explicaciуn rбpida y bбsica. En un GM, vos vas a encontrar publics/callbacks, pero no todas, ya que vos las podйs agregar, y obviamente, crear propias. Tambiйn, existen funciones, que tambiйn podйs crear funciones propias. Tenemos public OnPlayerCommandText, sirve para poner comandos. Se arma asн;

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmd, "/comando1", true) == 0)
    {
        // Acб la funciуn que habrб en el comando.
        return 1;
    }

    if(strcmp(cmd, "/comando2", true) == 0)
    {
        // Acб la funciуn que habrб en el comando.
        return 1;
    }

    if(strcmp(cmd, "/comando3", true) == 0)
    {
        // Acб la funciуn que habrб en el ъltimo comando.
        return 1;
    }
    else
    {
        SendClientMessage(playerid, CODIGO_DEL_COLOR, "Mensaje que aparecerб al escribir un comando incorrecto.");
    }
    return 1;
}
Si te fijas en mi ejemplo, hice 3 comandos, el comando1, comando2 y comando3, la funciуn de cada comando debe retornar en 1 antes de la llave que cierre a la condicional de comando strcmp, luego de que coloques el ъltimo comando, colocas un else con el mensaje de error que se enviarб en caso de que el jugador coloque un comando incorrecto. Sencillo, їverdad? no te olvides de colocar un cуdigo de color PAWN en donde puse CODIGO_DEL_COLOR, aunque tambiйn, puedes definir un color y meter ahн la definiciуn, por ejemplo, donde va CODIGO_DEL_COLOR, puedes poner en lugar del cуdigo, una definiciуn como COLOR_BLANCO, pero antes de hacer йsto, debes definir al COLOR_BLANCO, asн;

pawn Код:
#define COLOR_BLANCO 0xFFFFFFAA
Eso irнa al principio del GM, y al definirlo una vez, puedes usarlo todas las veces que quieras.

Hablй de funciones, ahн tenйs una, SendClientMessage, sirve para enviar un mensaje a un jugador.

playerid, es la ID que tiene una persona que ejecutу un comando, o una funciуn, y params[0], es un jugador como segundo parбmetro. Un ejemplo de algo que afecte a playerid, es por ejemplo, usar /curarse (sin parбmetros), que le va a dar vida a 100 por ejemplo al jugador que ejecutу el comando (playerid), por medio de la funciуn SetPlayerHealth, y uno que afecte a params[0], serнa /curara <ID>, habrнa un parбmetro, que es la ID del jugador afectado (que no es uno mismo, por ende, params[0]), que le darб vida a la ID seleccionada, algunos usan giveplayerid en lugar de params[0], pero deben definirlo. Entonces, tendrнamos dos comandos, y con esos dos, asн nos quedarнa OnPlayerCommandText por el momento;

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmd, "/curarme", true) == 0)
    {
        SetPlayerHealth(playerid, 100);
        return 1;
    }

    if(strcmp(cmd, "/curara", true) == 0)
    {
        SetPlayerHealth(params[0], 100);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, -1, "Comando inexistente.");
    }
    return 1;
}
Te preguntarбs, їcуmo crearemos un comando que nos lleve por ejemplo, afuera de la comisarнa de LSPD?

Bien, usaremos la funciуn SetPlayerPos(playerid,Float,Float:y,Float:z); y como sabemos, las ejes de coordenadas X, Y y Z son floats, tales floats son usados como parбmetros en la funciуn antes mencionada. Йsta es una imagen en demostraciуn a los ejes. Entonces, explicarй un poco mбs, el mapa de San Andreas, estб dividido en coordenadas, en cada posiciуn verбs una coordenada distinta, un mйtodo para sacarla, es usando /save estando IG, y en la ruta Mis Documentos/GTA San Andreas User Files/SAMP/savedpositions.txt verбs la posiciуn, si lo usaste en la comisarнa de LSPD, verбs algo parecido a 1550.270874,-1255.880859,8606.085937. Los primeros nъmeros antes de la coma (,), indican el float:X, los que le siguen, el float:Y, y los que le siguen, el float:Z, que es de altura. Entonces, їcуmo haremos el comando que te lleve ahн? fбcil, con una simple funciуn dentro de un comando, lo llamaremos /ircomisaria al comando, y con SetPlayerPos te llevarб a las coordenadas que mencionй.

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    if(strcmp(cmd, "/curarme", true) == 0)
    {
        SetPlayerHealth(playerid, 100);
        return 1;
    }

    if(strcmp(cmd, "/ircomisaria", true) == 0)
    {
        SetPlayerPos(playerid,1550.270874,-1255.880859,8606.085937);
        return 1;
    }

    if(strcmp(cmd, "/curara", true) == 0)
    {
        SetPlayerHealth(params[0], 100);
        return 1;
    }
    else
    {
        SendClientMessage(playerid, -1, "Comando inexistente.");
    }
    return 1;
}
Y lo que hice, fue agregar el comando /ircomisaria, entonces podrнas hacer otro, llamado /llevarcomisaria <ID>, que lo que harнa serнa llevar a la comisarнa al ID seleccionado, para eso, usas params[0] en SetPlayerPos en lugar de playerid.

Todo se hace experimentado, con la funciуn de enviar un mensaje, puedes informar por ejemplo a la persona que le diste vida 100, que le diste vida 100, їcуmo? es fбcil, despuйs de la funciуn de SetPlayerHealth, esribes algo como йsto; SendClientMessage(params[0], CУDIGO_DEL_COLOR, "Te han curado."); (que por cierto, no estб permitido escribir tildes en algo que no sea texto, te tirarб error al copilar, y bueno, se copila con F5, la parte de ediciуn es un archivo con extensiуn .pwn, al copilarlo con F5, te genera el .amx del GM, que sirve para encender el servidor). Ese mensaje, lo puedes hacer mбs complejo, pero no creo conveniente explicбrtelo ahora, serнa agregando variables, asн hacer que te indique quй jugador te seteу vida, y se puede acomplejar mбs el comando, agregarle un nuevo parбmetro de vida, para poder setear la vida que uno quiera, y en el mensaje ademбs de agregar quй jugador le dio vida, se tendrнa que agregar cuбnta vida le dio.

Mi explicaciуn fue demasiado bбsico, pero si eres nuevo en йsto, te podrнa servir.
Reply
#8

Te sugiero darte una vuelta por los tutoriales basicos ubicados en Tutoriales, FAQ y mas.

PD:
Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
Bueno para aprender a scriptear en pawn, te hago una especie de "guia" con los pasos que te recomiendo seguir para evitar marearte y complicarte.
  1. Descargate el servidor correspondiente a la ultima version (pбgina oficial).
  2. Leete algunos tutoriales bien basicos sobre como empezar para tener una nocion general, aqui te dejo dos: PAWN Nivel: basico y Tutorial basico para los mas nuevos.
  3. Abri el gamemode llamado 'lvdm.pwn' ubicado en la carpeta 'gamemodes' del servidor que acabas de descargar y comenza a leer los callbacks e intentar mediante la funcion print averiguar cuando es llamado cada uno (si no lo logras, puedes ver cada callback aqui).
  4. Una vez que tienes una idea general de que hace cada callback, comienza a realizar pequeсas modificaciones (agregar autos, enviar mensajes, algun que otro comando simple, etc), con esto lograras familiarizarte con la sintaxis del lenguaje y tendras una nocion mas general de como funciona el mismo.
  5. Una vez q entiendas lo que estas haciendo y no lo hagas de copiar y pegar, comienza a scriptear rejas por comando, comandos mas complejos, algun sistema pequeсo (ej. AFK, etc) hay muy buenos tutos sobre esto en todo el foro.
  6. Para este momento deberias tener un buen manejo del lenguaje basico y una nocion completa sobre pawn y como funciona asi que porque no crear tu propio sistema de administracion (estara lejos de ser bueno, pero aprenderas muchisimo).
  7. Finalmente para este momento sabras manejarte solo y necesitaras ayudas solo en raras ocaciones ya que podras buscar soluciones a tus problemas por ti mismo sin ayuda de nadie.
Tips:
  • Evita comenzar por un servidor de RP, tienen muchos sistemas y terminaras sin entender nada, ademas de que en general los mismos estan demasiado mal ordenados.
  • Siempre que tengas dudas puedes plantearlas en el foro y te ayudaremos (no pidas por codigos especificos fuera del post correspondiente porque sera eliminado).
  • Utiliza la wiki tiene cosas traducidas al espaсol, pero no todo esta documentado en este lenguaje asi que si sabes ingles, sera mejor. wiki en espaсol.
Reply
#9

mmmm para ser mas especifico les enviare imagenes editado en paint
que al pone esto:/comando aparesca un cuadrito al medio con toda la informacion de /teles , /informacion , /reglas , etc aca la imagen



Espero que esta vez sea mas claro , Como crearia el callback(asi se llama creo)
Reply
#10

Ahн que creo que es lo que me decis, tambiйn estбn los textdraws. Pero creo que lo que vos decнs es un dialog.

Код:
#define DLR 1


public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/tucomando", cmdtext, true, 10) == 0)
	{
		ShowPlayerDialog(playerid, DRL, DIALOG_STYLE_MSGBOX, "Comandos:", "Utiliza:\n/teles\n para ver todos los teleports\n/informaciуn\n > para ver informaciуn sobre el server\n/reglas\nPara ver las normas que tendrбs que respetar", "Aceptar", " ");
		return 1;
	}
	return 0;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DLR)
	{
		if(response)
		{
		    return 1;
		}
	}
	return 1;
}
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)