:: Teleport kezelõ 3.0 :: Bevezetõ
Ezt a projektet még 2009 végén kezdtem, de még elég hiányos volt akkor. Az évek során közel
50 függvényre bõvült. A lényeg viszont nem változott: kezeljük a teleportokat egyszerûen!
Ezúttal egy komplett szervercsomagot készítettem, hogy a lehetõ legkönnyebb legyen kiigazodni a rendszeren.
Az új verzió a korábbiakhoz képest rengeteg újítást / javítást tartalmaz, mint például:
- A teleportok a szerveren globálisan jönnek létre / globálisan lehet õket kezelni
- Részletgazdag bemutatószkriptek
Fontos, hogy ezzel a rendszerrel kis logikával a teleportok
összes fajtája (pl. dm) létrehozható.
A teleporton rengeteg tulajdonság beállítható, például:
- 3 dimenziós szöveg (és annak színe, látótávolsága)
- Virtuális azonosító (interiorid)
- Virtuális világ (worldid)
- Csak gyalog / jármûben (és/vagy annak sofõrjeként) / rcon adminként engedjen teleportálni
És folytathatnám a sort.
Fontos: - Minden teleport egy azonosítóval (teleportid) van ellátva, ezáltal tudsz egyes teleportokra hivatkozni.
- Nem ajánlott két ugyanolyan parancsot / nevet megadni, mert a megkeresés esetén csak egyet tudsz közülük használni.
Egy szemléltetés, hogy mennyire egyszerû:
CreateTeleport(\"SF\",\"/sf\",-1495.9395,-141.1882,15.0702,315.0674);
Parancs a teleportok lementésére
[pawn]CMD:saveteleport(playerid, params[])
{
#if !defined MAX_TELEPORT_NAMELEN
#define MAX_TELEPORT_NAMELEN 32
#endif
#if !defined MAX_TELEPORT_CMDLEN
#define MAX_TELEPORT_CMDLEN 32
#endif
new name[MAX_TELEPORT_NAMELEN],command[MAX_TELEPORT_CMDLEN];
if(sscanf(params, \"s[32]s[32]\", name, command))
return SendClientMessage(playerid,0xFFFFFFFF, \"Use: /saveteleport [name][command]\");
new File:savedteleports = fopen(\"savedteleports.txt\", io_write);
if(savedteleports)
{
new Float:x, Float:y, Float:z, Float:angle;
if(IsPlayerInAnyVehicle(playerid))
{
new vehicleid = GetPlayerVehicleID(playerid);
GetVehiclePos(vehicleid,x,y,z);
GetVehicleZAngle(vehicleid,angle);
} else {
GetPlayerPos(playerid,x,y,z);
GetPlayerFacingAngle(playerid,angle);
}
new formatstring[256];
format(formatstring, 256, \"CreateTeleport(\\\"%s\\\", \\\"%s\\\", %.3f, %.3f, %.3f, %.3f);\\r\\n\",
name, command, x, y, z, angle);
fwrite(savedteleports, formatstring);
fclose(savedteleports);
SendClientMessage(playerid,0xFFFFFFFF, \"Teleport saved to savedteleports.txt (in your scriptfiles folder).\");
}
return 1;
}[/pawn]
3 dimenziós szöveg formázása
Ez a funkció a legújabb verzióban került hozzáadásra. Segítségével könnyedén megformázhatjuk a teleport helyén megjelenõ 3 dimenziós szöveget, és ezzel is még egyedibbé tehetjük a teleportokat.
A szövegbe az alábbiakat kell beleírni, és azok át fognak változni a megfelelõ dologra:
{NAME} - A teleport neve
{COMMAND} - A teleport parancsa
{PRICE} - A teleport ára
{NEWLINE} - Új sor kezdése
{RRGGBB}(samp) - Szöveg átszínezése
Például:
[pawn]public OnFilterScriptInit()
{
new teleportid = CreateTeleport(\"LS\",\"/ls\",1933.2625,-2407.8191,14.2618,183.6625);
Teleport_Set3DTextFormat(teleportid, \"{0522FF}Name: {FFFFFF}{NAME}{NEWLINE}{0522FF}Command: {FFFFFF}{COMMAND}{NEWLINE}{0522FF}Price: {FFFFFF}{PRICE}\");
return 1;
}[/pawn]
Ennek az eredménye ez lesz:
Letöltés
http://gtaforum.hu/files/teleportv3_rel2.rarFrissítés (5. kiadásra):
http://solidfiles.com/d/abb0f/Weboldal
http://gtaforum.hu/load/teleport (hamarosan frissítem)
A weboldalon egyszerûen generálható teleport.
Leírás
Leírás hamarosan.
Köszönet
- Incognito - GVar plugin
- ZeeX - ZCMD (csak a példaszkriptekben)
- Betamaster - Színfüggvények
- Westie- strreplace
- Y_Less