Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5328 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, kaip nekeista nesu matęs serverio kuriame būtų kokia nors navigacijos sistema. Taigi labai greitai aptarsime kaip riekia padaryti, kad įrašius komanda (į jūsų GPS prietaisą :D ) rodytų raudoną tašką žemėlapyje. Pradėkime žiūrėti:

Pirmą ką galime padaryti tai nurodysime veiksmus kas nutiks kai žaidėjas atvyks į nurodytą vietą. Naudosime checkpoints funkcijas.

Kodas: Pasirinkti visus

public OnPlayerEnterCheckpoint(playerid)

{

return 1;

}

Kaip matote jūsų skripte jums reikės tūrėti tokį callbacką. Jeigu nėra tiesiog prirašykite.

Dabar rašykime funkcijas. Galime pradėti tuo, kad panaikinsime checkpointą kai atvyks žaidėjas.

Kodas: Pasirinkti visus

DisablePlayerCheckpoint(playerid);

Dabar galime pridėti šiek tiek papildomų dalykėlių:

Parašykime, kad žaidėjas atvyko:

Kodas: Pasirinkti visus

GameTextForPlayer(playerid, "~w~Tu~n~~y~atvykai", 5000, 1);

naudodami šią funkciją parašysite žinutę centre ekrano. Jeigu norite, kad žinutę parašytų čate (pokalbiuose).

Kodas: Pasirinkti visus

SendClientMessage(playerid, 0x000000FF, "Jūs atvykote į tikslą");

Taigi dabar žaidėjas atvykęs matys parašytą žinutę vaizdiškai. Galime pridėti, kad sugrotų koks nors garsas.

Kodas: Pasirinkti visus

PlayerPlaySound(playerid, 1058, 0.0, 0.0, 0.0);

Už player id eina muzikos id ir po to kordinatės kurių mums nurodyti nereikia, nes mes norime, kad muzika grotų ten kur mes esame. Muzikėlės id galite rasti čia: apie jas negaliu nieko plačiau paaiškinti tiesiog testuokite ir pasilikite kuri labiausiai patiks. http://wiki.sa-mp.com/wiki/SoundID

.

Kodas: Pasirinkti visus

public OnPlayerCommandText(playerid, cmdtext[])

{

if(strcmp(cmdtext, "/navigacija", true) == 0)

{

SendClientMessage(playerid, 0x000000FF, "______________________________________________");

SendClientMessage(playerid, 0x000000FF, "______________________________________________");

SendClientMessage(playerid, 0x000000FF, "GARMIN: Kur norite vykti?");

SendClientMessage(playerid, 0x000000FF, "GARMIN: (/lvair - Las Vegas aerouostas) (/lspd - Los Santos miesto policijos departamentas");

SendClientMessage(playerid, 0x000000FF, "______________________________________________");

SendClientMessage(playerid, 0x000000FF, "______________________________________________");

return 1;

}

if(strcmp(cmdtext, "/lvair", true) == 0)

{

SetPlayerCheckpoint(playerid,-2056.9275,-80.1014,35.3203,4.0);

GameTextForPlayer(playerid, "~w~Nustatomas maršrutas ~g~Las Vedas oro uostas", 5000, 1);

return 1;

}

if(strcmp(cmdtext, "/lspd", true) == 0)

{

SetPlayerCheckpoint(playerid,1529.6,-1691.2,13.3,4.0);

GameTextForPlayer(playerid, "~w~Nustatomas maršrutas ~g~Los Santos policijos nuovada", 5000, 1);

return 1;

}

return 0;

}

Pats lengviausias callbackas koks begali būti. Kas nutiks kai žaidėjas parašys nurodytą komandą. Čia pasikartoja keletas funkcijų tai, kad nustatysime raudoną tašką nurodytose koordinatėse bei parašysime žinutę.

  • Parašė po 1 mėnesio...
  • Parašė po 6 mėnesių...
  • Parašė po 4 mėnesių...

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5328 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...