YouGta

GTA 3, GTA Vice City, GTA SA, GTA IV, GTA V, mapy, skrypty, pluginy, wszystko o gta, multiplayery do GTA.

  • Nie jesteś zalogowany.
  • Polecamy: Moda

#1 2012-04-30 20:38:53

szefcio

http://electro-dance.pl/images/ranks/admin.png

Zarejestrowany: 2012-04-25
Posty: 86

Jak zrobić textdraw

Witam w tym poradniku przedstawie wam jak zrobić własny textdraw.


Na górze dajemy:

Kod:

new Text: Nazwa Text Drawa;

Szukamy public OnGameModeInit()
i tworzymy tam TextDraw, czyli:

Kod:

NazwaTD = TextDrawCreate(X,Y, "Tresc");//tworzymy TextDraw, w miejsce X,Y podajemy położenie TextDraw'u w pixelach
TextDrawColor(NazwaTD, Kolor);//ustawiamy jego kolor
i opcjonalnie:
TextDrawLetterSize(NazwaTD, X,Y);//ustawiamy szerokosc i wysokosc liter
Mozna tez dac duzo innych funkcji TextDraw'u ale nie bede o nich pisal

Mamy juz stworzony TextDraw, teraz trzeba go pokazac graczu, wiec szukamy:
public OnPlayerConnect(playerid) wtedy pokaze sie zaraz przy polaczeniu gracza.
A gdy chcemy aby sie pokazal po spawnie, to szukamy public OnPlayerSpawn(playerid)
i dajemy tam:

Kod:

TextDrawShowForPlayer(playerid, NazwaTD);//pokazujemy graczowi TextDraw

Mniej wiecej objasnilem jak zrobic zwykly TextDraw, teraz pora na cos bardziej skomplikowanego, np. TextDraw z respektem./color]

A wiec...
tworzymy zmienna, ktora bedzie przechowywac respekt graczom:

Kod:

new respekt[MAX_PLAYERS];//zmienna

Pozniej tworzymy TextDraw, ale inaczej jak wyzej, bo na gorze mapy nalezy dac:

Kod:

new Text:NazwaTD[MAX_PLAYERS];//zmienna dla wszystkich graczy oddzielnie

Teraz w public OnGameModeInit() robimy pętle na wszystkich graczy:

Kod:

for(new i=0; i<GetMaxPlayers(); i++)

pod pętlą dajemy klamrę otwierajaca, a pod klamra, tworzymy TD:

Kod:

NazwaTD[i] = TextDrawCreate(X,Y,"_");//tworzymy pusty TextDraw dla kazdego gracza oddzielnie, potem tak samo jak powyżej, tylko należy
 pamiętać, że po NazwaTD dawać [i]

Teraz, trzeba jakoś dodawać do zmiennej respekt, zazwyczaj respekt sie dodaje jak gracz kogoś zabije, to nie jest poradnik jak zrobic respekt, więc tego nie wytłumacze.

Teraz w publicu OnGameModeInit() robimy timer, który będzie aktualizował nam TextDraw, więc:

Kod:

SetTimer("TextDraw", 1000, 1);//czyli będzie się odtwarzał co 1 sek.

Teraz tworzymy nasz public TextDraw

Kod:

forward TextDraw();//forwardujemy public
public TextDraw()
{
for(new i=0; i<GetMaxPlayers(); i++); //pętla na wszystkich graczy
{
new string[256];//tworzymy string, ktory bedzie nam przechowywal treść TD
format(string, sizeof(string), "Respekt: %d", respekt[i]); //formatujemy tekst
TextDrawSetString(NazwaTD[i], string);// zmieniamy nasz pusty TextDraw na ten ze stringa
}
return 1;
}

I jeszcze go pokazujemy graczowi, więc w public OnPlayerConnect lub public OnPlayerSpawn, dajemy:

Kod:

TextDrawShowForPlayer(playerid, NazwaTD[playerid]);

Aby nie było problemów z limitem, należy dać w public OnGameModeExit():

Kod:

TextDrawDestroy(NazwaTD);

A w drugim przypadku: (w pętli)

Kod:

TextDrawDestroy(NazwaTD[i]);

Offline

 

#2 2012-04-30 21:16:08

Maksiu

http://electro-dance.pl/images/ranks/moderator.png

Zarejestrowany: 2012-04-26
Posty: 44

Re: Jak zrobić textdraw

Pomogłeś mi dzięx idzie +  :]

Offline

 
Powered by → YouGTA 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.zoltysmok.pun.pl www.5on5cup.pun.pl www.sojuszdiablo.pun.pl www.nd.pun.pl www.hogwartwars.pun.pl