Skocz do zawartości
(100%) Konto Oficjalne

[DLA NOWICJUSZY] Jak pobrać lokalizację gracza

Rekomendowane odpowiedzi

Witam jeden z nowych użytkowników forum utworzył post jak pobrać lokalizację w której znajduje się gracz więc chciałbym utworzyć taki mini poradnik dla nowicjuszy jeżeli administracja zatwierdzi go będę szczęśliwy nawet jeśli nie to i tak może pomogę któremuś nowicjuszowi :)
więc do dzieła.

pierwsze co musimy stworzyć to new czym jest new ?
new jest to zmienna dzięki której możemy utworzyć np. pickupy broni lub też pancerza
tworzymy następująco:


new Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ;

 

Po co wpisałem PozycjaX... więc z tego tekstu którym jest "PozycjaX PozycjaY PozycjaZ" będzie on czytać naszą pozycję UWAGA! nie można stworzyć POZYCJAX POZYCJAY POZYCJAZ Bez Float: inaczej wystąpią nam errory typu:

C:\Documents and Settings\elpolak94\Moje dokumenty\GRY\MAPS\MAPSs\gamemodes\test.pwn(Linijka) : error 017: undefined symbol "POZYCJAX"

C:\Documents and Settings\elpolak94\Moje dokumenty\GRY\MAPS\MAPSs\gamemodes\test.pwn(Linijka) : warning 215: expression has no effect

C:\Documents and Settings\elpolak94\Moje dokumenty\GRY\MAPS\MAPSs\gamemodes\test.pwn(Linijka) : error 001: expected token: ";", but found "-identifier-"

Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase





2 Errors.



Gdy już skończyliśmy tworzyć Float'y musimy teraz stworzyć GetPlayerPos od czego zaczynamy ?
więc, tworzymy taki kod:
 

GetPlayerPos(playerid, PozycjaX, PozycjaY, PozycjaZ);

GetPlayerPos = Zdobycie pozycji gracza z float:pozycjaX... Y... Z
Playerid = Pobiera nam ID Gracza Który sprawdza Lokalizację (POZYCJE)
PozycjaX = Pobiera pozycje (chyba z boków)
PozycjaY = Pobiera pozycje (chyba z przodu i tyłu)
PozycjaZ = Pobiera pozycje (wysokości gracza)

jeżeli chcesz zrobić pobieranie w komendzie np. #include <zcmd>
musimy utworzyć głowną komende
 

CMD:sprawdzpozycje(playerid, cmdtext[])
{
 new Float:PozycjaX, Float:PozycjaY, Float:PozycjaZ, string[128];
 GetPlayerPos(playerid, PozycjaX, PozycjaY, PozycjaZ);
 SendClientMessage(playerid, KOLOR, "Trwa pobieranie twojej pozycji...");
 format(string, sizeof(string), "Twoja Pozycja: %f, %f, %f", PozycjaX, PozycjaY, PozycjaZ);
 SendClientMessage(playerid, KOLOR, string);
 return 1;
}

CMD:... By xBBBay

CMD:sprawdzpozycje(playerid, cmdtext[])
{
new Float:XYZ[3], string[128];
GetPlayerPos(playerid, XYZ[0], XYZ[1], XYZ[2]);
format(string, sizeof(string), "Twoja Pozycja: %f, %f, %f", XYZ[0], XYZ[1], XYZ[2]);
SendClientMessage(playerid, KOLOR, string);
return 1;
}

To Tyle jeżeli nie kumasz o co chodzi zobacz w dół :)
PS: proszę nie obrażać w komentarzach typu: ch**u nie działa, s*ij i nie wprowadzaj ludzi w błąd...
robiłem ten poradnik w nocy około 4 nad ranem :) więc proszę o wyrozumiałość :)

Wikipedia SA-MP'a znajduje się pod tym linkiem: KLIK
więcej callbacków oraz innych pierdół znajduje się na tym forum pod tym linkiem: KLIK
 

Edytowane przez elpolak94

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie prościej?

CMD:sprawdzpozycje(playerid, cmdtext[])
{
 new Float:XYZ[3], string[128];
 GetPlayerPos(playerid, XYZ[0], XYZ[1], [XYZ]2);
 format(string, sizeof(string), "Twoja Pozycja: %f, %f, %f", XYZ[0], XYZ[1], XYZ[2]);
 SendClientMessage(playerid, KOLOR, string);
 return 1;
}

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

 

GetPlayerPos = Zdobycie pozycji gracza z float:pozycjaX... Y... Z

Playerid = Pobiera nam ID Gracza Który sprawdza Lokalizację (POZYCJE)

PozycjaX = Pobiera pozycje (chyba z boków)

PozycjaY = Pobiera pozycje (chyba z przodu i tyłu)

PozycjaZ = Pobiera pozycje (wysokości gracza)

 

Nie za bardzo potrafisz to wytłumaczyć bo playerid ta funkcja (GetPlayerPos) nam nie pobiera...

Poza tym w "CMD:... By xBBBay" jest błąd...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nie za bardzo potrafisz to wytłumaczyć bo playerid ta funkcja (GetPlayerPos) nam nie pobiera...

Poza tym w "CMD:... By xBBBay" jest błąd...

 

Nie zrozumiałem Twojej wypowiedzi xd dziwnie to napisałeś, co do błędu:

GetPlayerPos(playerid, XYZ[0], XYZ[1], [XYZ]2);

Powinno być tak:

GetPlayerPos(playerid, XYZ[0], XYZ[1], XYZ[2]);

 xBBBay zamknął w nawiasie kwadratowym XYZ

Edytowane przez Thorus

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×