Skocz do zawartości
adim)

Tworzymy teleporty!

Rekomendowane odpowiedzi

Witam, jeśli chcesz tworzyć kilkadziesiąt teleportów w krótkim czasie to zapraszam do lektury ...

 

Okej, aby zacząć musisz przekompilować prosty skrypt mojego autorstwa:

#include <a_samp>

public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ)
{
    SetPlayerPos(playerid, fX, fY, fZ); //Zmieniamy pozycję gracza.
    return 1; //Zwracamy 1.
}

public OnPlayerText(playerid, text[])
{
      new string[124]; //Definiujemy tablice przechowywująca tekst.
      new Float:x, Float:y, Float:z; //Definiujemy zmienne liczbowe .
      GetPlayerPos(playerid, x, y, z); //Pobiera pozycje gracza i zapisuje do zmiennych.
      format(string,sizeof string,"CMD:%s(playerid) { SetPlayerPos(playerid, %d, %d, %d); }", text, x, y, z, text); //Formatujemy tablice.
      SendClientMessage(playerid, 0xFFFFFFFF, string); //Wysyłamy wiadomość, którą wyżej formatowaliśmy.
     return 0; //Zwracamy 0, aby na czacie nie wyświetliły się dwa teksty.
}

Jeśli już to zrobiłeś, załadowałeś skrypt, czy też dodałeś go do server.cfg to zapraszam dalej..

 

 

 

Teraz opisze jak korzystać z tego skryptu:

Krok 1:

n1xno3.jpg

Wchodzimy do gry, następnie naciskamy ESC, potem MAP i naciskamy PPM, tak aby pojawiła się czerwona kropka.

 

Krok 2:

Teraz zostajemy przeniesieni, przechodzimy w odpowiednie miejsce np. obok domku CJ..

 

Krok 3:

Jeśli jesteśmy już w odpowiednim naciskamy "t" i wpisujemy nazwę naszego teleportu np. ls

jigzza.jpg

 

Krok 4:

Teraz na czacie powinno się wyświetlić:

2q3zw91.jpg

 

No dobra, jeśli tak jest to tworzymy wybraną liczbę teleportów powiedzmy, że stworzyłem ich 10..

348hsg1.jpg

(Oczywiście jest to tylko przykład, nie są to prawdziwe pozycję teleportów).

 

Gdy już stworzyliśmy nasze teleporty, jesteśmy gotowi na otrzymanie kodu.

 

Wchodzimy w: Dokumenty >> GTA San Andreas User Files >> SAMP >> (Otwieramy plik) chatlog.txt

Dobra, teraz szukamy naszych gotowych komend, oto moje:

[17:35:25] CMD:ls(playerid) { SetPlayerPos(playerid, 1159458415, -992827012, 1096298548); }
[17:37:35] CMD:party(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:36] CMD:lv(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:38] CMD:sf(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:40] CMD:sflot(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:41] CMD:plaza(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:45] CMD:sumo(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:51] CMD:greenpark(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:55] CMD:solo(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
[17:37:57] CMD:domki(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }

Usuwamy czas który jest przed nimi tzn. "[17:35:25]". Rezultat:

CMD:ls(playerid) { SetPlayerPos(playerid, 1159458415, -992827012, 1096298548); }
CMD:party(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:lv(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:sf(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:sflot(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:plaza(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:greenpark(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:solo(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }
CMD:domki(playerid) { SetPlayerPos(playerid, 1159443565, -992869172, 1096115200); }

Niestety gdy używasz tego sposobu, musisz korzystać z zCMD by ZeeX.

 

Dobra teraz po prostu wklej swoje linijki do mapki.

 

Gotowe! Teraz wejdz na serwer i ciesz się teleportami!

W ten sposób możesz dodać masę teleportów w kilka minut !

Edytowane przez adim)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

jezeli ktos zrobi 100 komend to bedzie musial usuwac godzine przy kopiowaniu ich do gamemoda, co niepotrzebnie marnuje nasz cenny czas - lepszym zastosowaniem byloby fwrite

format(string,sizeof string,"CMD:%s(playerid) { SetPlayerPos(playerid, %d, %d, %d); }", text, x, y, z, text);

powinienes uzyc %f

Edytowane przez United

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A co jeśli ktoś będzie chciał używać tego skryptu w tle?

Jeżeli napisze co kolwiek na chacie, stworzy mu się teleport, nwet gdy tego nie będzie chciał :D

Tak czy siak, masz like'a za pomysł, tylko musisz go troche dopracować :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A ja znam łatwiejszy sposób, ściągamy i instalujemy s0beita, klikamy PPM na mapie i w tym miejscu wpisujemy /rs, potem Moje dokumenty >

GTA San Andreas User Files >

SAMP > savedpositions

W PAWN robimy komendę (np na zcmd)


CMD:mojteleport(playerid, params[])
{
return SetPlayerPos(playerid, kordX, kordY, kordZ); //Kordy z pliku
}

A najlepiej już zrobić na tym twoim systemie

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

A nie lepiej ustawić się i wpisać /save co jest wygodniejsze? Nie wiem czy działa jeszcze ten sposób, ale kiedyś był dość popularny i najlepszy. :)

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

@UP tu masz teleporty od razu na kopiuj wklej :)

 

 

a na /save

 

musiał bys robić od nowa 

CMD:cos(playerid, cmdtext[]);
{
     GetPlayerPos(playerid, x,y,z);
     return 1;
}
Edytowane przez _NexuS_

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

3MMC działał i dalej działa. Plus dla autora poradnika za oryginalny pomysł na tworzenie teleportów! Co do poradnika są pewnie niedociągnięcia ale pomimo tego krótko, prosto i na temat.

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ę.

×