Szerző Téma: Projekt: Teleportkezelo kézikönyve  (Megtekintve 2154 alkalommal)

Projekt: Teleportkezelo kézikönyve
« Dátum: 2010. január 13. - 22:06:16 »
0 Show voters
Teleportkezelo - Felhasználói kézikönyv
1. Bevezeto
2. Hogyan hozzunk létre teleportokat?
3. Hogyan szerkesszük a teleportokat?
4. Hogyan töröljük a teleportokat?
5. Mikre kell odafigyelnem?
6. Hogyan hozhatok létre professzionális teleportot?
7. Hogyan menthetek teleportot fájlba azonosító alapján?
Bevezeto
Ez a rendszer a kezdok és a jobbak számára is igencsak kényelmessé és praktikussá teszi a teleportok kezelését. Mindössze 1 sorból létrehozható egy teleport, lehetoség van fájlból betölteni/ fájlba menteni oket, és végül, de nem utolsó sorban, rengeteg kiegészíto függvény van, mint például a célkoordináták/dimenziók/parancsok/nevek módosítása. Ebben a kézikönyvben igyekszem úgy bemutatni a rendszert, hogy mindenki képes legyen használni.
Hogyan hozzunk létre teleportokat?
Ez sokkal egyszerubb, mint elsore gondolnánk. Két függvény áll rendelkezésünkre: Teleport_Create és Teleport_Add. A ketto között annyi a különbség, hogy az 1. visszaadja az azonosítót, ezáltal felcímkézheto, míg a másik nem.
Mindkét függvény prototípusa valahogy így néz ki:
Teleport_Add(név, parancs, koordináták, és a 2 dimenzió(alapméretezett))
Ez a két függvény bárhol alkalmazható, mint a most következok. Ám most fájlok használásával fogunk dogozni. Itt úgy szint 2 függvény van, de a létrehozásra csak 1 szolgál, a neve pedig Teleport_LoadFormFile. Ez a függvény betölti az adott fájlból az oda elmentett teleportokat.
A prototípusa:
Teleport_LoadFormFile(a teleportokat tartalmazó fájl útvonala)
Végül, az OnPlayerCommandTextbe beillesztendo függvényt ne felejtsük ki!
Hogyan szerkesszük a teleportokat?
Itt már jóval több függvény van: Teleport_SetPos, Teleport_SetInterior, Teleport_SetVirtualWorld, Teleport_SetName, Teleport_SetCommand, Teleport_SaveToFile - Pozíció/Dimenziók/Név/Parancs/Fájlba mentés
Ezek bárhol alkalmazhatók, így akár kezelofelület létrehozására is nyílik lehetoségünk.
Hogyan töröljük a teleportokat?
Végtelenül egyszeru, és 1 sor. Teleport_Remove(teleport azonosítószáma) függvény. Bárhol alkalmazható. Egyszeruen megszünteti a teleport aktivitását, innentol a rendszer már nem veszi figyelembe...
Mikre kell odafigyelnem?
- Elso, és szerintem legfontosabb, hogy a Teleport_OnPlayerCommandText függvényt ágyazd be a helyére, egyébként az egész nem fog muködni.
- A Teleport_SetActive függvényt ne használd, hacsak nem tudod mit csinálsz, ugyanis jó kis kavarodáshoz vezethet a szakszerutlen/rossz alkalmazása.
- Ha fel akarod címkézni a teleportot, akkor Teleport_Create, ellenkezo esetben Teleport_Add függvénnyel hozd létre.
Hogyan hozhatok létre professzionális teleportot?
Mindössze beilleszted az alábbi kódot a szkriptedbe.
public OnPlayerTeleport(playerid,teleportid)
{
// Tárolók létrehozása
new telename[MAX_TELEPORT_NAMELEN],
    telecmd[MAX_TELEPORT_CMDLEN],
    pname[MAX_PLAYER_NAME],
    myString[128];
// Név tárolása
Teleport_GetName(teleportid,telename,sizeof telename);
// Parancs tárolása
Teleport_GetCommand(teleportid,telecmd,sizeof telecmd);
// Játékosnév tárolása
GetPlayerName(playerid,pname,sizeof pname);
// Üzenet megformázása
format(myString,sizeof myString,\"[TELEPORT] %s (%d) elteleportált ide: %s (%s)\",pname,playerid,telename,telecmd);
// Üzenet elküldése
SendClientMessageToAll(0xFFFFFFAA, myString);
// A kamera alaphelyzetbe állítása
SetCameraBehindPlayer(playerid);
// Visszatérés
return 1;
}
Hogyan menthetek teleportot fájlba azonosító alapján?
Erre nem készült alapból függvény, de ha netán szükség lenne rá, így kell:
stock Teleport_SaveToFileEx(teleportid,file[])
{
// Tárolók létrehozása
new name[MAX_TELEPORT_NAMELEN],
    cmd[MAX_TELEPORT_CMDLEN],
    Float:pos[4],
    interior,
    virtualworld;
// Név tárolása
Teleport_GetName(teleportid,name,sizeof name);
// Parancs tárolása
Teleport_GetCommand(teleportid,cmd,sizeof cmd);
// Pozíciók tárolása
Teleport_GetPos(teleportid,pos[0],pos[1],pos[2],pos[3]);
// Dimenziók tárolása
interior = Teleport_GetInterior(teleportid);
virtualworld = Teleport_GetVirtualWorld(teleportid);
// Mentés
Teleport_SaveToFile(file,name,cmd,pos[0],pos[1],pos[2],pos[3],interior,virtualworld);
// Visszatérés
return true;
}
Teleportkezelo témája
A kézikönyv fejleszés alatt áll.
« Utoljára szerkesztve: 2010. január 14. - 15:20:02 írta Gamestar »

Nem elérhető Depi

  • 2259
  • Még mindig TrYp. :)
    • Profil megtekintése
Projekt: Teleportkezelo kézikönyve
« Válasz #1 Dátum: 2010. január 13. - 22:11:21 »
0 Show voters
Very nice,good job. :)

Projekt: Teleportkezelo kézikönyve
« Válasz #2 Dátum: 2010. január 13. - 22:22:29 »
0 Show voters
Idézetet írta: Depi date=1263417081\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"521\" data-ipsquote-contentclass=\"forums_Topic
Very nice,good job. :)
 
Köszönöm az elismerést  :) de megjegyzem még nincs kész. Amúgy, aki tud jó kérdés-választ, ne habozzon, írja le válaszba!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal