Wysłany: 2013-12-09, 10:07
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
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?
Wysłany: 2013-12-09, 14:10
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
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.
Wysłany: 2013-12-09, 15:17
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
Robi?em g??wnie z pomoc? wiki, zaraz zobacz?.
[ Dodano : 2013-12-10, 20:02 ]
Dalej nie dzia?a. Jakie? inne pomys?y?
Wysłany: 2013-12-10, 20:22
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
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.
Wysłany: 2013-12-11, 12:11
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
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);
Wysłany: 2013-12-11, 15:33
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
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'
Wysłany: 2013-12-12, 11:31
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
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)
Wysłany: 2013-12-12, 14:01
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
W OnPlayerClickPlayerTextDraw nie ma, w OnPlayerClickTextDraw tylko si? da
Wysłany: 2013-12-12, 14:29
KatieM
Wiek: 32 Na forum: 4868 dni Posty: 82
Nick w MP: _DMCy
Piwa : 293
dobra ogarni?te, mo?na zamyka?.
Tagi: funkcje :: textdrawów
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: