Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Comando Go To / Recall

Iniciado por Swarlog, May 13, 2025, 06:46 PM

Tema anterior - Siguiente tema

Swarlog

Información Adicional:

Pues básicamente se trata de un fs con el que podreis teletransportaros hacia la posición actual del jugador que deseeis o simplemente teletransportar dicho jugador a donde estais. Muy util y creo que necesario para un gm.

Código:

#include <a_samp>
#include "../include/gl_common.inc"

#define FILTERSCRIPT

#define COLOR_ROJO	0xFF0000AA

public OnPlayerCommandText(playerid, cmdtext[])
{
	new idx;
	new cmd[256];

	cmd = strtok(cmdtext, idx);

	if (strcmp("/recall", cmd, true) == 0)
	{
		if (IsPlayerAdmin(playerid))
		{
			new tmp[256], player, Float:X, Float:Y, Float:Z, carid, seat;
			tmp = strtok(cmdtext, idx);
			player = strval(tmp);
			GetPlayerPos(player, X, Y, Z);
			if (IsPlayerInAnyVehicle(playerid))
			{
				carid = GetPlayerVehicleID(playerid);
				seat = GetPlayerVehicleSeat(playerid);
				SetVehiclePos(carid, X+1, Y, Z);
				PutPlayerInVehicle(playerid, carid, seat);
				return 1;
			}
			
			SetPlayerPos(playerid, X+1, Y, Z);
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_ROJO, "ERROR: No estas autorizado para poder utilizar este comando!");
			return 1;
		}
	}
	if (strcmp("/goto", cmd, true) == 0)
	{
		if (IsPlayerAdmin(playerid))
		{
			new tmp[256], player, Float:X, Float:Y, Float:Z, carid, seat;
			tmp = strtok(cmdtext, idx);
			player = strval(tmp);
			GetPlayerPos(playerid, X, Y, Z);
			if (IsPlayerInAnyVehicle(player))
			{
				carid = GetPlayerVehicleID(player);
				seat = GetPlayerVehicleSeat(player);
				SetVehiclePos(carid, X+1, Y, Z);
				PutPlayerInVehicle(player, carid, seat);
				return 1;
			}
			
			SetPlayerPos(player, X+1, Y, Z);
			return 1;
		}
		else
		{
			SendClientMessage(playerid, COLOR_ROJO, "ERROR: No estas autorizado para poder utilizar este comando!");
			return 1;
		}
	}
	
	return 0;
}