Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-12-09, 10:07


KatieM







Wiek: 32
Na forum: 4868 dni
Posty: 82
Nick w MP: _DMCy

Piwa: 293

Respekt: 85

Ostrzeżeń: 20%
Wczoraj postanowi?em pobawi? si? troch? nowymi funkcjami, a przynajmniej tymi kt?rych jeszcze nie u?ywa?em. Wpad?em na pomys? ?eby mo?e zrobi? jaki? nowy panel gracza czy co? w tym stylu.

Na samym pocz?tku pojawi?y si? ju? problemy przy pokazywaniu "PlayerTextDraw" w skrypcie - dopiero zadzia?a? przy wrzuceniu do G'Moda

OnPlayerConnect:
Kod:

pTD[playerid][0] = CreatePlayerTextDraw(playerid,54.000000, 242.000000, "Los Santos");
PlayerTextDrawSetSelectable(playerid, PlayerText:PlayerText:pTD[playerid][0], 1);


W przyk?adowej komendzie:
Kod:


PlayerTextDrawShow(playerid, PlayerText:pTD[playerid][0]);
SelectTextDraw(playerid, 0x00FF00FF);


No i w callbacku OnPlayerClickPlayerTextDraw:

Kod:

if (playertextid == PlayerText:pTD[playerid][0])
{
ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informacja", "Tw?j kierunek to: Los Santos!", "Zamknij", "");
CancelSelectTextDraw(playerid);
HideTrsTextDraw(playerid);
}


To oczywi?cie fragment kodu, teraz pytanie dlaczego nie mog? wybra? TextDraw'u gdy klikam na niego?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-09, 14:10


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Kod:

PlayerTextDrawSetSelectable(playerid, PlayerText:PlayerText:pTD[playerid][0], 1);


Po co tutaj podw?jny tag? Wystarczy jeden, ale wydaje mi si?, ?e g??wnym powodem jest kod w callbacku OnPlayerClickPlayerTextDraw - mianowicie tam te? poda?e? tag PlayerText. Spr?buj tak

Kod:

if(playertextid == pTD[playerid][0])
{
ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informacja", "Tw?j kierunek to: Los Santos!", "Zamknij", "");
CancelSelectTextDraw(playerid);
HideTrsTextDraw(playerid);
}


Je?li po usuni?ciu tagu w tym callbacku nie zadzia?a, to spr?buj zrobi? to na podstawie wiki - tutaj link.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-09, 15:17


KatieM







Wiek: 32
Na forum: 4868 dni
Posty: 82
Nick w MP: _DMCy

Piwa: 293

Respekt: 85

Ostrzeżeń: 20%
Robi?em g??wnie z pomoc? wiki, zaraz zobacz?.

[ Dodano: 2013-12-10, 20:02 ]
Dalej nie dzia?a. Jakie? inne pomys?y?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-10, 20:22


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Sprawdzi?em kod z wiki, nic nie zmienia?em i kod dzia?a

Kod:

new PlayerText:gPlayerTextDraw[MAX_PLAYERS];

public OnPlayerConnect(playerid)
{
// Create the textdraw
gPlayerTextDraw[playerid] = CreatePlayerTextDraw(playerid, 10.000000, 141.000000, "MyTextDraw");
PlayerTextDrawTextSize(playerid, gPlayerTextDraw[playerid], 60.000000, 20.000000);
PlayerTextDrawAlignment(playerid, gPlayerTextDraw[playerid],0);
PlayerTextDrawBackgroundColor(playerid, gPlayerTextDraw[playerid],0x000000ff);
PlayerTextDrawFont(playerid, gPlayerTextDraw[playerid], 1);
PlayerTextDrawLetterSize(playerid, gPlayerTextDraw[playerid], 0.250000, 1.000000);
PlayerTextDrawColor(playerid, gPlayerTextDraw[playerid], 0xffffffff);
PlayerTextDrawSetProportional(playerid, gPlayerTextDraw[playerid], 1);
PlayerTextDrawSetShadow(playerid, gPlayerTextDraw[playerid], 1);

// Make it selectable
PlayerTextDrawSetSelectable(playerid, gPlayerTextDraw[playerid], 1);

// Show it to the player
PlayerTextDrawShow(playerid, gPlayerTextDraw[playerid]);
return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(newkeys == KEY_SUBMISSION)
{
SelectTextDraw(playerid, 0xFF4040AA);
}
return 1;
}

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if(playertextid == gPlayerTextDraw[playerid])
{
SendClientMessage(playerid, 0xFFFFFFAA, "You clicked on a textdraw.");
CancelSelectTextDraw(playerid);
}
return 1;
}


Dok?adnie ten sam kod, co? musisz robi? ?le. Podaj ca?y ten sw?j kod.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-11, 12:11


KatieM







Wiek: 32
Na forum: 4868 dni
Posty: 82
Nick w MP: _DMCy

Piwa: 293

Respekt: 85

Ostrzeżeń: 20%
Wydaje mi si? ?e mo?e mam gdzie? bug w mapie, dlatego nie chce dzia?a?. Nie wspominaj nic o wiki bo przewali?em to chyba 10 razy robi?c na r??ne sposoby.

Kod:

new PlayerText:pTD[MAX_PLAYERS][5];


OnPlayerConnect

Kod:

pTD[playerid][0] = CreatePlayerTextDraw(playerid,54.000000, 242.000000, "Los Santos");
PlayerTextDrawAlignment(playerid,pTD[playerid][0], 2);
PlayerTextDrawBackgroundColor(playerid,pTD[playerid][0], 255);
PlayerTextDrawFont(playerid,pTD[playerid][0], 2);
PlayerTextDrawLetterSize(playerid,pTD[playerid][0], 0.260000, 1.300000);
PlayerTextDrawColor(playerid,pTD[playerid][0], -1);
PlayerTextDrawSetOutline(playerid,pTD[playerid][0], 0);
PlayerTextDrawSetProportional(playerid,pTD[playerid][0], 1);
PlayerTextDrawSetShadow(playerid,pTD[playerid][0], 1);
PlayerTextDrawUseBox(playerid,pTD[playerid][0], 1);
PlayerTextDrawBoxColor(playerid,pTD[playerid][0], 51);
PlayerTextDrawTextSize(playerid,pTD[playerid][0], 0.000000, 67.000000);
PlayerTextDrawSetSelectable(playerid, pTD[playerid][0], 1);
// i jeszcze 4 inne...


Kod:

public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
if (playertextid == pTD[playerid][0])
{
ShowPlayerDialog(playerid, DIALOG_INFO, DIALOG_STYLE_MSGBOX, "Informacja", "Tw?j kierunek to: Los Santos!", "Zamknij", "");
CancelSelectTextDraw(playerid);
HideTransportTextDraw(playerid);
}

// pozosta?e td...

return 1;
}


Komenda:

Kod:

PlayerTextDrawShow(playerid, pTD[playerid][0]);
// pozosta?e...

SelectTextDraw(playerid, 0x00FF00FF);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-11, 15:33


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Dobra, wiem ju? na czym polega b??d - na wiki:

Kod:

Important Note: The clickable area is defined by TextDrawTextSize. The x and y parameters passed to that function must not be zero or negative.


Tymczasem w kodzie

Kod:

PlayerTextDrawTextSize(playerid,pTD[playerid][0], 0.000000, 67.000000);


Zmie? 0.0 na inn? liczb? i powinno trybi?. U mnie tw?j kod te? nie dzia?a?, zmieni?em sobie 0.0 na 50.0 i dzia?a. Tylko musisz ustawi? dobrze t? stref?, bo to ona decyduje odk?d dok?d textdraw jest 'klikalny'

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-12, 11:31


KatieM







Wiek: 32
Na forum: 4868 dni
Posty: 82
Nick w MP: _DMCy

Piwa: 293

Respekt: 85

Ostrzeżeń: 20%
Ustawi?em na 10 i jest dobrze. Jest jaka? funkcja kt?ry wywo?uje si? po naci?ni?ciu klawisza 'Esc' kiedy wybieramy TextDraw? (anuluje wyb?r)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-12, 14:01


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
W OnPlayerClickPlayerTextDraw nie ma, w OnPlayerClickTextDraw tylko si? da

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-12, 14:29


KatieM







Wiek: 32
Na forum: 4868 dni
Posty: 82
Nick w MP: _DMCy

Piwa: 293

Respekt: 85

Ostrzeżeń: 20%
dobra ogarni?te, mo?na zamyka?.

Postaw piwo autorowi tego posta
 

 
Tagi: funkcje :: textdrawów
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] Funkcje TextDrawów Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku