Szerző Téma: Nyomógombos TextDraw hiba  (Megtekintve 1508 alkalommal)

Nyomógombos TextDraw hiba
« Dátum: 2014. Június 16. - 12:35:40 »
0 Show voters
Sziasztok!
A készülõ RP modomba szeretnék nyomógombos autókereskedést, már el is kezdtem de a textdrawba van egy kis hiba mégpedig hogy nem lehet nyomni.Mindent a fórumon lévõ leírás alapján csináltam, nincs is hiba benne de egyszerûen nem üzemel :(
 

new PlayerText:tnext[MAX_PLAYERS];
new PlayerText:tbuy[MAX_PLAYERS];
new PlayerText:tprev[MAX_PLAYERS];
new PlayerText:tcan[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
    tnext[playerid] = CreatePlayerTextDraw(playerid, 386.000000, 375.000000, \">\");
PlayerTextDrawBackgroundColor(playerid, tnext[playerid], 255);
PlayerTextDrawFont(playerid, tnext[playerid], 1);
PlayerTextDrawLetterSize(playerid, tnext[playerid], 0.500000, 2.000000);
PlayerTextDrawColor(playerid, tnext[playerid], -1);
PlayerTextDrawSetOutline(playerid, tnext[playerid], 0);
PlayerTextDrawSetProportional(playerid, tnext[playerid], 1);
PlayerTextDrawSetShadow(playerid, tnext[playerid], 1);
PlayerTextDrawUseBox(playerid, tnext[playerid], 1);
PlayerTextDrawBoxColor(playerid, tnext[playerid], 125);
PlayerTextDrawTextSize(playerid, tnext[playerid], 404.000000, 0.000000);
tbuy[playerid] = CreatePlayerTextDraw(playerid, 266.000000, 364.000000, \"   MEGVESZ\");
PlayerTextDrawBackgroundColor(playerid, tbuy[playerid], 255);
PlayerTextDrawFont(playerid, tbuy[playerid], 1);
PlayerTextDrawLetterSize(playerid, tbuy[playerid], 0.500000, 2.000000);
PlayerTextDrawColor(playerid, tbuy[playerid], 16711935);
PlayerTextDrawSetOutline(playerid, tbuy[playerid], 0);
PlayerTextDrawSetProportional(playerid, tbuy[playerid], 1);
PlayerTextDrawSetShadow(playerid, tbuy[playerid], 1);
PlayerTextDrawUseBox(playerid, tbuy[playerid], 1);
PlayerTextDrawBoxColor(playerid, tbuy[playerid], 255);
PlayerTextDrawTextSize(playerid, tbuy[playerid], 383.000000, 0.000000);
tprev[playerid] = CreatePlayerTextDraw(playerid, 243.000000, 375.000000, \" <\");
PlayerTextDrawBackgroundColor(playerid, tprev[playerid], 255);
PlayerTextDrawFont(playerid, tprev[playerid], 1);
PlayerTextDrawLetterSize(playerid, tprev[playerid], 0.500000, 2.000000);
PlayerTextDrawColor(playerid, tprev[playerid], -1);
PlayerTextDrawSetOutline(playerid, tprev[playerid], 0);
PlayerTextDrawSetProportional(playerid, tprev[playerid], 1);
PlayerTextDrawSetShadow(playerid, tprev[playerid], 1);
PlayerTextDrawUseBox(playerid, tprev[playerid], 1);
PlayerTextDrawBoxColor(playerid, tprev[playerid], 125);
PlayerTextDrawTextSize(playerid, tprev[playerid], 271.000000, -13.000000);
tcan[playerid] = CreatePlayerTextDraw(playerid, 266.000000, 385.000000, \"    MEGSE\");
PlayerTextDrawBackgroundColor(playerid, tcan[playerid], 255);
PlayerTextDrawFont(playerid, tcan[playerid], 1);
PlayerTextDrawLetterSize(playerid, tcan[playerid], 0.500000, 2.000000);
PlayerTextDrawColor(playerid, tcan[playerid], -16776961);
PlayerTextDrawSetOutline(playerid, tcan[playerid], 0);
PlayerTextDrawSetProportional(playerid, tcan[playerid], 1);
PlayerTextDrawSetShadow(playerid, tcan[playerid], 1);
PlayerTextDrawUseBox(playerid, tcan[playerid], 1);
PlayerTextDrawBoxColor(playerid, tcan[playerid], 255);
PlayerTextDrawTextSize(playerid, tcan[playerid], 383.000000, 0.000000);
        return 1;
}
public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid)
{
    if(playertextid == tbuy[playerid])
    {
         SendClientMessage(playerid, 0xFFFFFFAA, \"You clicked on a textdraw.\");
         CancelSelectTextDraw(playerid);
    }
    return 1;
}
CMD:buyveh(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
    PlayerTextDrawShow(playerid, tnext[playerid]);
    PlayerTextDrawShow(playerid, tbuy[playerid]);
    PlayerTextDrawShow(playerid, tprev[playerid]);
    PlayerTextDrawShow(playerid, tcan[playerid]);
    PlayerTextDrawSetSelectable(playerid, tnext[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, tbuy[playerid], true);
    PlayerTextDrawSetSelectable(playerid, tprev[playerid], 1);
    PlayerTextDrawSetSelectable(playerid, tcan[playerid], 1);
    kveh[playerid] = CreateVehicle(400, 2485.3037,63.8349,26.3004,127.7493, 1, 1, 0);
    SetVehicleVirtualWorld(kveh[playerid], 69);
    SetPlayerVirtualWorld(playerid, 69);
    SelectTextDraw(playerid, 0x00FF00FF);
SetPlayerCameraPos(playerid, 2482.9321,55.5978,27.9189);
SetPlayerCameraLookAt(playerid, 2485.3037,63.8349,26.3004);
}else Belepve0;
return 1;
}
CMD:exitt(playerid, params[])
{
    SetCameraBehindPlayer(playerid);
    SetPlayerVirtualWorld(playerid, 0);
    CancelSelectTextDraw(playerid);
    return 1;
}

 
Ennyi az egész eddig, vásárlós része még nincs meg pont e hiba miatt.
Elõre is köszi a segítséget!
[mod]Javítottam a

taget

tagre![/mod]
« Utoljára szerkesztve: 2014. Június 16. - 17:14:25 írta Dfoglalo »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Nyomógombos TextDraw hiba
« Válasz #1 Dátum: 2014. Június 16. - 17:21:45 »
0 Show voters
Egy kis észrevétel: ezt bõven elég egyszer, OnPlayerConnect alá berakni:
 
PlayerTextDrawSetSelectable(playerid, tnext[playerid], 1);
PlayerTextDrawSetSelectable(playerid, tbuy[playerid], 1);
PlayerTextDrawSetSelectable(playerid, tprev[playerid], 1);
PlayerTextDrawSetSelectable(playerid, tcan[playerid], 1);

 
Ki tudja, talán még ez is lehet probléma, bár ki tudja...
Még egy észrevétel: látom, hogy nem használsz ékezeteket. Használj fixcharst (google)!
Amúgy valószínûleg azért nem tudsz rákattintani, mert nem állítottad be megfelelõen a dolgokat. Én általában centered (középpontos) textdrawokat szoktam készíteni, amelyeknek nagyon könnyû sacperkábé, néhány teszteléssel is megadni a kattintási zónáját. Javaslom neked is ezt a módszert. (Régen TD-ztem, hamarosan ismét fogok nem is keveset, asszem\' a lettersize a méregetõs része. Ja és a centered az a 2-es a PlayerTextDrawAlignment függvénynél. Valamint ha centert használsz, újra kell rajzolnod a dolgokat, mert valószínûleg el fognak csúszni picit.)

Nyomógombos TextDraw hiba
« Válasz #2 Dátum: 2014. Június 16. - 22:25:43 »
0 Show voters
Hát kb fél órán keresztül rajzoltam újra a kereskedést centereddel éssss.... nemjó:( nem engedi rákattintani azaz katinthatok én rá de nem reagál.
 

sacperkábé, néhány teszteléssel is megadni a kattintási zónáját.
 
[/quote]
hogy lehet ilyen kattintási zónát megadni?
 

asszem\' a lettersize a méregetõs része
 
[/quote]
az a betû mérete
jah és amúgy használok fixchars-t csak még nem volt idõma  modba átírni ékezetesre

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Nyomógombos TextDraw hiba
« Válasz #3 Dátum: 2014. Június 16. - 23:07:29 »
0 Show voters
Print screennel lefotózod, paintban CTRL-V, átméretezed 640*480-asra, kiméred.
if(_:playertextdraw == …

Nyomógombos TextDraw hiba
« Válasz #4 Dátum: 2014. Június 17. - 10:34:41 »
0 Show voters
Hát nem nagyon értem :(
 

if(_:playertextdraw == …
 
[/quote]
ez mit csinál? csakmert nekem erre hibát ír a pawno és rákerestem Google-ba de semmi nincs ilyenrõl

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Nyomógombos TextDraw hiba
« Válasz #5 Dátum: 2014. Június 17. - 12:03:32 »
0 Show voters
Idézetet írta: norbinator09 date=1402994081\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"48793\" data-ipsquote-contentclass=\"forums_Topic
Hát nem nagyon értem :(
 

if(_:playertextdraw == …
 
ez mit csinál? csakmert nekem erre hibát ír a pawno és rákerestem Google-ba de semmi nincs ilyenrõl
 
[/quote]
Az alsóvonás azért van ott, hogy egyeztesse a fajtájukat, mert különben warningot dobna, hogy számot textdraw id-vel hasonlítasz össze. A ... helyére pedig be kellene helyettesítened a tbuy[playerid]-t mondjuk. De mivel van ilyen rész a kódban, azt hittem, ez evidens

Nyomógombos TextDraw hiba
« Válasz #6 Dátum: 2014. Június 17. - 12:46:35 »
0 Show voters

if(_:playertextdraw == tbuy[playerid])

 


error 017: undefined symbol \"playertextdraw\"

 
énis beheyettesítettem de úgy dobta az errort

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Nyomógombos TextDraw hiba
« Válasz #7 Dátum: 2014. Június 17. - 12:56:56 »
0 Show voters
Akkor playertextid, ami ott van az eljárás paraméterei között.

Nyomógombos TextDraw hiba
« Válasz #8 Dátum: 2014. Június 17. - 13:29:29 »
0 Show voters

if(_:playertextid == tbuy[playerid])

 


warning 213: tag mismatch

 
mostmeg ezt dobja rá

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Nyomógombos TextDraw hiba
« Válasz #9 Dátum: 2014. Június 17. - 14:22:21 »
0 Show voters
Azért nem mûködött, mert nem fejezted be, ahogy kellett volna. Leírtam, meg kell adni azt a zónát, vagy hogy is nevezzem. Felesleges paintelgetni, szemmértékre is meg lehet adni, teljesen pontosan (habár lehet, hogy ez igényel egy kis TD-tapasztalatot). Amúgy lehet, hogy igazad van és nem a LetterSize az. Akkor a TextSize. Írja is a wiki:
 
Change the size of a textdraw (box if TextDrawUseBox is enabled and/or clickable area for use with TextDrawSetSelectable).[/quote]
Ennyire remélhetõleg tudsz angolul, ha nem, a google fordító is megteszi, vagy megnézed a fórumos, magyar wikin.

Nyomógombos TextDraw hiba
« Válasz #10 Dátum: 2014. Június 17. - 14:53:13 »
0 Show voters
EZAZ!!Dfoglalo te isten vagy ehhez, annyi volt a baja hogy az editor alapból szarul rakta a TextSize-t és emiatt nem ment de mostmár jó!
Köszi, irány scriptelni!Zárok.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal