#include <a_samp>
#define MAX_TELES 100
#define DIALOG_TELE 24
new strmem[1024];
new TelesCriados=-1;
enum pTele
{
NomeTele[64],
Float:xo,
Float:yo,
Float:zo,
InteriorID,
TeleporteID
};
new TeleporteSystem[MAX_TELES][pTele];
public OnFilterScriptInit()
{
AddTeleport("Aero San Fiero",-1448.325, -325.1149, 15,0);
AddTeleport("Aero Los Santos",1546.908, -2313.5, 15,0);
AddTeleport("Aero Las Venturas",1677.544, 1426.837, 15,0);
printf("\n\n\n\n System of Teleports carregado| %d/%d teleports total \n\n\n\n",TelesCriados,MAX_TELES);
return true;
}
stock AddTeleport(nomete[], Float:xob, Float:yob, Float:zob,interior)
{
TelesCriados++;
format(TeleporteSystem[TelesCriados][NomeTele],64,"%s",nomete);
TeleporteSystem[TelesCriados][xo] = xob;
TeleporteSystem[TelesCriados][yo] = yob;
TeleporteSystem[TelesCriados][zo] = zob;
TeleporteSystem[TelesCriados][InteriorID] = interior;
TeleporteSystem[TelesCriados][TeleporteID] = TelesCriados;
return ;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new item = listitem;
if(item == TeleporteSystem[item][TeleporteID])
{
if(!response) return SendClientMessage(playerid, 0xFFFFFFFF, "Vocк cancelou teleporte");
new message[128];
format(message, sizeof(message), "Vocк foi teletransportado para %s aguarde", TeleporteSystem[item][NomeTele]);
SendClientMessage(playerid, 0xFFFFFFFF, message);
new name[24], string[128];
GetPlayerName(playerid, name, sizeof(name));
format(string, sizeof(string), "** %s foi para %s [/teles].",name,TeleporteSystem[item][NomeTele]);
SendClientMessageToAll(0xFFFF00AA, string);
if(IsPlayerInAnyVehicle(playerid))
{
SetVehiclePos(GetPlayerVehicleID(playerid),TeleporteSystem[item][xo],TeleporteSystem[item][yo],TeleporteSystem[item][zo]+1);
}
if(!IsPlayerInAnyVehicle(playerid))
{
SetPlayerPos(playerid,TeleporteSystem[item][xo],TeleporteSystem[item][yo],TeleporteSystem[item][zo]+1);
}
TogglePlayerControllable(playerid,0);
SetTimerEx("DescongelarPlayer",1500,false,"i",playerid);
return 1;
}
return 0;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/teles", true))
{
format(strmem, 1024, "");
for(new mem=0;mem<TelesCriados;mem++)
{
format(strmem,1024, "%s%s\n",strmem,TeleporteSystem[mem][NomeTele]);
}
ShowPlayerDialog(playerid,DIALOG_TELE,DIALOG_STYLE_LIST, "Lista de Teles:",strmem,"Tele", "Exit");
}
return 0;
}
forward DescongelarPlayer(playerid);
public DescongelarPlayer(playerid)
{
TogglePlayerControllable(playerid,1);
return true;
}
Haha! Legal isso, gostei...
Fica bem mais fбcil criar teleportes. (Gostei da musica tambйm) |
Olб vou colocar um dъvida que deve se rmuito simples mas que eu ... :/
Deparei-me com este problema quando esta a tentar colocar o sistema de teleports do [FeK]DraKiNs num dos meus GM... .pwn(992) : error 021: symbol already defined: "OnPlayerCommandText" Bem... que devo eu fazer? |