Prisijungti
Pagrindinis
Kontaktai
Sunday, 2024-12-01, 2:44 PM
Welcome Guest
[ New messages · Members · Forum rules · Search · RSS ]
  • Page 1 of 1
  • 1
[Pradedantiems]GUI Teleportai
DusleraDate: Monday, 2010-04-05, 11:32 PM | Message # 1
Private
Group: Administrators
Messages: 9
Reputation: 24
Status: Offline
Sveiki ir vėl , netyčiom pasinešiau ant GRP.. Taigi pamoka GUI Teleportai , atsidarys GUI Meniu kurioje pasirinksime vietą ir į ją nusitelinsime. (P.S. Viską darysiu pagal GRP , kaip jau sakiau netyčiom pasinešiau.)

1. Įjungiame DEBUG'ą arba betkokį serverį ir nuėję į norimą vietą rašome /save teleportvieta (P.S. Aš padariau save'us policijos darbe , vm , taxi , tad galite juos naudoti , jei naudojate GRP.)
Einame į GTA-SA folderį ir atidarome "savedpositions.txt" dokumentą. Randame savo visus save'us
taigi pas mane tokie:

Kodas: Pasirinkti visus

AddPlayerClass(147,-1567.3312,666.6320,7.1875,120.8453,0,0,0,0,0,0); // ment
AddPlayerClass(147,-2640.3130,702.1284,27.9316,179.7273,0,0,0,0,0,0); // medikai
AddPlayerClass(147,-2016.7994,-77.0962,35.3203,291.0598,0,0,0,0,0,0); // vm

2. Mums reikia tik koordinačių , tad jas nusikopijuojame.

Kodas: Pasirinkti visus

-1567.3312,666.6320,7.1875 // ment
-2640.3130,702.1284,27.9316 // medikai
-2016.7994,-77.0962,35.3203 // vm

(P.S. tie //ment ir pan tiesiog žymeklis , kad atsimintume.)
3. Atsidarome savo Gamemode'ą ir per paiešką ar šeip ratuku susirandame callback'ą:

Kodas: Pasirinkti visus

public OnPlayerCommandText(playerid, cmdtext[])

Bei po juo rašome:

Kodas: Pasirinkti visus

if(playerDB[playerid][admin])
{
if (strcmp("/teleports", cmdtext, true, 10) == 0)
{
ShowPlayerDialog(playerid,611,DIALOG_STYLE_LIST,Admin teleportai:","Vairavimo mokykla\nPolicijos Departamentas\nLigoninė","Persikelti","Išeiti");
return 1;
}

Jei norite vietoj "/teleports" komandos pasikeiskit į savo , vietoj Admin teleportai: taip pat rašykit ką norit , na manau patys suprantat.. Beje \n komanda perkelia tekstą į kitą eilutę.

Taigi , GUI lentelė sukurta ,tačiau nieko nedaro.
4. Susirandame callback'ą:

Kodas: Pasirinkti visus

public OnDialogResponse

Po juo rašome:

Kodas: Pasirinkti visus

if(dialogid == 611)
{
if(response)
{
if(listitem == 0)
{
SetPlayerPos(playerid,-2016.7994,-77.0962,35.3203);
SendClientMessage(playerid, 0xFF7F50FF, "Nusiteleportavote į Vairavimo mokyklą!");
}
else if(listitem == 1)
{
SetPlayerPos(playerid,-1567.3312,666.6320,7.1875);
SendClientMessage(playerid, 0xFF7F50FF, "Nusiteleportavote į Policijos departamentą!");
}
else if(listitem == 2)
{
SetPlayerPos(playerid,-2640.3130,702.1284,27.9316);
SendClientMessage(playerid, 0xFF7F50FF, "Nusiteleportavote į Ligoninę!");;
}
}
}

Na viskas baigta , spaudžiame F5 , kad sucompiliuotumėm savo kūrinį.
Na manau , kad žinote ką reiškia visi Callback'ai ir panašiai , tad neteks aiškinti..
Jei nežinote , šiame forume yra pradmenys.
Gero mokymosi jaunieji scripteriai!

Radai klaidų ? Kažko nesupranti? Rašyk į šią temą , išspresim!
Pamoką traukiau tiesiai iš savo gamemod'o , kadangi pas mane šitas dalykas jau ilgai yra.. wink

 
  • Page 1 of 1
  • 1
Search:

Reklama
Paieska
Reklama