3 Preguntas :o
#1

Una pregunta , como hago para hacer un teleport al lugar que yo quiero , es decir , ya se el pawn codigo , pero como me doy cuenta donde es ? con los numeros (z , x ,y)?

tambien como hago para cuando matan/mato a alguien de un regalo , como dinero?

y por ultimo como hago para hacer un dialogo y que se pueda eleguir , como por ejemplo que ponga /teles y me salga un dialogo y yo le de a alguno y me teletransporto
Reply
#2

1. Usa /save en donde quieras teletransportarte y busca en Mis Dogumentos\Gta:SA User FIles\Samp\savedpositions.txt
Ahн el segundo tercer y cuarto parбmetro serбn las posiciones X Y Z (la primera es el skin)

2. Mediante la funciуn https://sampwiki.blast.hk/wiki/OnPlayerDeath usando el parбmetro killerid (el que ha matado)
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
    SendDeathMessage(killerid, playerid, reason);
    GivePlayerMoney(killerid, 1000); //Damos 1.000 $ al que ha matado
    GivePlayerMoney(killerid, -1000); // Quitamos 1.000 $ al que ha muerto
    return 1;
}
3. Esto es mas complejo
Deberбs usar las funciones showplayerdialog y ondialogresponse
https://sampwiki.blast.hk/wiki/ShowPlayerDialog
https://sampwiki.blast.hk/wiki/OnDialogResponse
Fijate en los ejemplos de la wiki, esto, repito, es mas complicado que el resto.
Reply
#3

Lo de los teleportes/coordenadas, entra a cualquier server y usa el comando

Quote:

/save

Deberнa guardar la posiciуn en Gta San Andreas User Files, y bien, si sabes lo bбsico para obtener las coordenadas, ahн te apareceran.

En la segunda, no te entendн, quieres matar a alguien dandole cierta cosa?

En la tercera crea el comando en

pawn Код:
public OnPlayerCommandText..
{
Y utiliza el callback

Quote:

public OnDialogResponse

Para definir sus parametros.

Saludos!
Reply
#4

1. Ve al lugar que quieres, y pon /save COMENTARIO, donde COMENTARIO es el nombre del teleport, para luego ubicarlo en el archivo donde se guardan los saves.

Luego ve a la carpeta DATA\SAMP, dentro de la carpeta de instalacion del GTA
En mi caso, es "E:\Fuck\Alto GTA\data\SAMP"
Alli te aparecera un archivo llamado "savedpositions". Abrelo, te aparecera algo como:
AddPlayerClass(115,1683.2749,1447.6974,10.7715,276 .2371,0,0,0,0,0,0); // Aero LV0
Esto es igual a:
AddPlayerClass(SKIN, X, Y, Z, ANGULO, ARMA1, AMMO1, ARMA2, AMMO2, ARMA3, AMMO3); // Aero LV
Lo que tu necesitas es "X, Y, Z"

Bueno, copias los numeros X, Y, Z, y ahi tienes tus coordenadas para el teleport.
solo nos falta el codigo, que seria:
pawn Код:
if(strcmp("/aerolv", cmdtext, true, 10) == 0)
{
SetPlayerPos(playerid, 1683.2749, 1447.6974, 10.7715); // Envia al jugador al aeropuerto de LV
SendClientMessage(playerid, 0xFFFF00AA, "Bienvenido al Aeropuerto de Las Venturas");// Envia un mensaje al jugador.
return 1;
}
Ahi tenemos la 1era pregunta.

2. Es simple!
Primero busca el callback OnPlayerDeath(playerid, killerid, reason)
Ahora, pon esto dentro de el.
pawn Код:
GivePlayerMoney(killerid, GetPlayerMoney(playerid)); // Le da el dinero del muerto al que lo matу.
SendClientMessage(killerid, 0xFFFF00AA, "Mataste a un usuario y obtuviste su dinero!"); //Envia un mensaje a killerid.
Esto nos deberia quedar:
pawn Код:
public OnPlayerDeath(playerid, killerid, reason)
{
GivePlayerMoney(killerid, GetPlayerMoney(playerid));
SendClientMessage(killerid, 0xFFFF00AA, "Mataste a un usuario y obtuviste su dinero!");
return 1;
}
Ahi esta la 2da pregunta.

3. Esto lo hacemos con ShowPlayerDialog. Te muestro:

pawn Код:
if(strcmp("/teles", cmdtext, true, 10) == 0) //El comando
{
ShowPlayerDialog(playerid, 24, DIALOG_STYLE_LIST, "Teleports Disponibles", "Las Venturas\nLos Santos\nSan Fierro", "Aceptar", "Cancelar"); // Le muestra el dialogo al jugador
return 1;
}
Y ahora vamos a "leer" la respuesta del jugador.
Te dejo el codigo con explicaciones!

pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 24) //Chekea que sea el dialogo 24, que es el que mostramos anteriormente al jugador
    {
    if(response) //Chekea que la respuesta haya sido "Aceptar"
        {
            if(listitem == 0) //Si selecciono la primera opcion
            {
                    SetPlayerPos(playerid, 1683.2749, 1447.6974, 10.7715); // Envia al jugador al aeropuerto de LV
                    SendClientMessage(playerid, 0xFFFF00AA, "Bienvenido al Aeropuerto de Las Venturas");// Envia un mensaje al jugador.
            }
            if(listitem == 1)
            {
                    SetPlayerPos(playerid, 1683.8539,-2327.5725,13.5469); // Envia al jugador al aeropuerto de LS
                    SendClientMessage(playerid, 0xFFFF00AA, "Bienvenido al Aeropuerto de Los Santos");// Envia un mensaje al jugador.
            }
            if(listitem == 2)
            {
                    SetPlayerPos(playerid, -1418.5383,-295.9330,14.1484); // Envia al jugador al aeropuerto de SF
                    SendClientMessage(playerid, 0xFFFF00AA, "Bienvenido al Aeropuerto de San Fierro");// Envia un mensaje al jugador.
            }
        }
    }
    return 1;
}
Y eso es todo!
Espero haberte ayudado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)