ShaadY\'s TelePort
Sziasztok! Elkészítettem egy Filterscriptet, amellyel IN-GAME tudtok teleportokat létrehozni/törölni illetve rájuk teleportálni.
Nagyon egyszerû, remélem kezdõknek segítségül fog szolgálni! Ha felhasználod a Filterscriptemet, hagyd meg a nevét, és ne tüntesd fel sajátodként! Köszönöm!
Elkészítési idõ: 30-45 perc + tesztelés
Sorok száma: 108
Includok: zcmd, sscanf2, dini
Pluginok: sscanf
Letöltés:
http://data.hu/get/7113720/ShaadYs_TelePort.rarParancs: /teleport [create/delete/goto] [név] ( Csakis RCON Admin számára mûködik! )
Amit elment: X, Y, Z, Angle pozíciók, Interior, VirtualWorld, Teleportot készítõ admin neve!
#include
#include
#include
#include
new File[128];
new Float:X, Float:Y, Float:Z, Float:A, INT, VW;
#define KEK \"{03C4FF}\"
#define FEHER \"{FFFFFF}\"
public OnFilterScriptInit()
{
print(\"ShaadY\'s TelePort v1.0 betöltve!\");
return 1;
}
public OnFilterScriptExit()
{
return 1;
}
CMD:teleport(playerid, params[])
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, \"[s\'TP]: Nem vagy RCON Admin!\");
new TPName[128], Valaszto[12], MSG[256];
if(sscanf(params, \"s[12]s[128]\", Valaszto, TPName)) return SendClientMessage(playerid, -1, \"\"KEK\"[s\'TP]: \"FEHER\"/teleport [create/delete/goto] [név]\");
if(Egyezik(Valaszto, \"create\"))
{
format(File, sizeof(File), \"STP/%s.ini\", TPName);
if(dini_Exists(File)) return SendClientMessage(playerid, -1, \"\"KEK\"[s\'TP]: \"FEHER\"Már létezik ilyen nevû teleport!\");
else
{
GetPlayerPos(playerid, X, Y, Z);
GetPlayerFacingAngle(playerid, A);
INT = GetPlayerInterior(playerid);
VW = GetPlayerVirtualWorld(playerid);
dini_Create(File);
dini_FloatSet(File, \"PosX\", X);
dini_FloatSet(File, \"PosY\", Y);
dini_FloatSet(File, \"PosZ\", Z);
dini_FloatSet(File, \"Angle\", A);
dini_IntSet(File, \"INT\", INT);
dini_IntSet(File, \"VW\", VW);
dini_Set(File, \"Készítõ\", Nev(playerid));
format(MSG, sizeof(MSG), \"\"KEK\"[s\'TP]: \"FEHER\"Teleport elkészítve! Név: \"KEK\"%s\", TPName);
SendClientMessage(playerid, -1, MSG);
}
}
else if(Egyezik(Valaszto, \"delete\"))
{
format(File, sizeof(File), \"STP/%s.ini\", TPName);
if(!dini_Exists(File)) return SendClientMessage(playerid, -1, \"\"KEK\"[s\'TP]: \"FEHER\"Nem létezik ilyen nevû teleport!\");
else
{
dini_Remove(File);
format(MSG, sizeof(MSG), \"\"KEK\"[s\'TP]: \"FEHER\"Teleport törölve! Név: \"KEK\"%s\", TPName);
SendClientMessage(playerid, -1, MSG);
}
}
else if(Egyezik(Valaszto, \"goto\"))
{
format(File, sizeof(File), \"STP/%s.ini\", TPName);
if(!dini_Exists(File)) return SendClientMessage(playerid, -1, \"\"KEK\"[s\'TP]: \"FEHER\"Nem létezik ilyen nevû teleport!\");
else
{
dini_Create(File);
X = dini_Float(File, \"PosX\");
Y = dini_Float(File, \"PosY\");
Z = dini_Float(File, \"PosZ\");
A = dini_Float(File, \"Angle\");
INT = dini_Int(File, \"INT\");
VW = dini_Int(File, \"VW\");
SetPlayerPos(playerid, X, Y, Z);
SetPlayerFacingAngle(playerid, A);
SetPlayerInterior(playerid, INT);
SetPlayerVirtualWorld(playerid, VW);
format(MSG, sizeof(MSG), \"\"KEK\"[s\'TP]: \"FEHER\"Sikeres teleportálás! Név: \"KEK\"%s\", TPName);
SendClientMessage(playerid, -1, MSG);
}
}
else return SendClientMessage(playerid, -1, \"\"KEK\"[s\'TP]: \"FEHER\"/teleport [create/delete/goto] [név]\");
return 1;
}
stock Egyezik(comp[], with[])
{
new LenghtComp = strlen(comp);
new LenghtWith = strlen(with);
new Character;
if( LenghtComp != LenghtWith ) return false;
for( new i; i < LenghtComp; i++ )
{
if( comp == with )
{
Character++;
}
}
if( LenghtComp == Character ) return true;
return false;
}
stock Nev(playerid)
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
return pName;
}