Skocz do zawartości
(100%) Konto Oficjalne

Random spawn + Ikona + Label

Rekomendowane odpowiedzi

Witam, dzisiaj przedstawie ci jak zrobić random spawn w którym będzie znajdował się pickup oraz label tekst :) więc zaczynajmy:
Pierwsze co trzeba stworzyć to nową zmienną Float: w której będziemy przechowywać nasze pozycje więc zaczynamy od stworzenia
 

[code]new Float:RandomSpawny[][4] =[/code]  //nazwa naszej zmiennej float oraz 4 pozycje X Y Z ANGLE

następnie musimy utowrzyć główny szkielet naszego random spawnu więc dodajemy {}
[code]new Float:RandomSpawny[][4] =
{
   {X, Y, Z, ANGLE},
   {X, Y, Z, ANGLE}
}[/code]
aby stworzyć spawn musimy wejść na serwer i ustawić się graczem w którą strone ma patrzeć i gdzie ma stać
wpisujemy /save [NAZWA TELEPORTU]. Następnie X, Y, Z, ANGLE jest zapisany w Dokumenty/GTA San Andreas User Files/SAMP/saveposition.txt
mój teleport to: AddPlayerClass(0,2229.9321,-1721.2886,13.5616,315.3258,0,0,0,0,0,0); // Silownia.
Pobieramy z tego tylko te koordynaty które są na zielono, w pliku sami się połapiecie 

ten/te koordynat/koordynaty wpisujemy w X, Y, Z, ANGLE

[code]new Float:RandomSpawny[][4] =
{
   {2229.9321,-1721.2886,13.5616,315.3258}, //Random spawn 1
   {2229.9321,-1721.2886,13.5616,315.3258} //Random spawn 2
}[/code]

więc zmienną float mamy gotową idziemy teraz do OnGameModeInit i wpisujemy

[code]for(new x = 0; x < sizeof(RandomSpawny); x++)[/code]

stworzyliśmy playerid pod znakiem X wpisujemy główny szkielet

[code]for(new x = 0; x < sizeof(RandomSpawny); x++)
{

}[/code]

Gdy stworzyliśmy szkielet wpisujemy w nim
musimy teraz także stworzyć zmienną pickupa

[code]new pickupspawn;[/code]

OnPlayerPickupPickup

[code]if(pickupid == pickupspawn)
{
 //TO POZOSTAWIAMY PUSTE NO CHYBA ŻE MA BYĆ WIADOMOSC CZY COS 
 return 1;
}[/code]
for(new x = 0; x < sizeof(RandomSpawny); x++)
{
        pickupspawn[i] = CreateDynamicPickup(1314, 1, RandomSpawny[i][0], RandomSpawny[i][1], RandomSpawny[i][2], 0); //1314 ID pickupa, 1 - cały czas ma się pojawiać //random spawn 0 1 2 koordynaty naszego randomspawnu
        CreateDynamic3DTextLabel("TEKST", 0x008080FF, RandomSpawny[i][0]+1, RandomSpawny[i][1], RandomSpawny[i][2], 100.0, 0, 0, -1, -1, 100.0);
        CreateDynamic3DTextLabel("TEKST", 0x008080FF, RandomSpawny[i][0]-1, RandomSpawny[i][1]+1, RandomSpawny[i][2], 100.0, 0, 0, -1, -1, 100.0);
        CreateDynamic3DTextLabel("{00A0E0}TEKST", 0x008080FF, RandomSpawny[i][0]-1, RandomSpawny[i][1]-1, RandomSpawny[i][2], 100.0, 0, 0, -1, -1, 100.0);
}
następnie gdy juz wszystko stworzylismy tworzymy
nowy forward by nie zasmiecac kodu

forward RandomSpawnPlayer(playerid);
public RandomSpawnPlayer(playerid)
{
      new randSpawn = random(sizeof(RandomSpawny));
      SetPlayerPos(playerid, RandomSpawny[randSpawn][0], RandomSpawn[randSpawn][1], RandomSpawn[randSpawn][2]); //teleportuje gracza w randomspawn
      SetPlayerFacingAngle(playerid,RandomSpawny[randSpawn][3]); //Ustawia graczowi gdzie ma się patrzeć
      return 1;
}
i na koniec wpisujemy w OnPLayerSpawn

RandomSpawnPlayer(playerid);
Edytowane przez (100%) Konto Oficjalne

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

×