Bei RequestClass ein Textdraw für jede classid erstellen!

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hey,
    ich habe es mir wie folgt gedacht ...
    wenn ein Spieler in die ClassRequest kommt, soll für jede Gang (classid) ein anderer Textdraw erscheinen ...
    Bei mir schaut das jetzt erstmal so aus:


    new Text:Grovetextdraw;
    new Text:Vagostextdraw;
    new Text:Ballastextdraw;
    new Text:Atzentextdraw;
    new Text:Rifatextdraw;


    OnPlayerSpawn:
    TextDrawHideForPlayer(playerid, Grovetextdraw);
    TextDrawHideForPlayer(playerid, Ballastextdraw);
    TextDrawHideForPlayer(playerid, Vagostextdraw);
    TextDrawHideForPlayer(playerid, Rifatextdraw);
    TextDrawHideForPlayer(playerid, Atzentextdraw);


    public OnPlayerRequestClass(playerid, classid)
    {
    if(classid == 0||classid == 1||classid == 2)
    {
    GameTextForPlayer(playerid,"~g~Grove",500,4);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2230.6328,1521.1443,45.6904);
    SetPlayerFacingAngle(playerid,205.1720);
    SetPlayerCameraPos(playerid,2219.9402,1499.6829,48.5419);
    SetPlayerCameraLookAt(playerid,2230.6328,1521.1443,45.6904);
    TextDrawShowForPlayer(playerid, Grovetextdraw[playerid]);
    return 1;
    }
    ...


    OnGameModeInit:
    Grovetextdraw = TextDrawCreate(473.000000, 363.000000, "~b~ ~b~ ~h~ Deagle Rifle Baseballschlaeger");
    TextDrawBackgroundColor(Grovetextdraw, 255);
    TextDrawFont(Grovetextdraw, 2);
    TextDrawLetterSize(Grovetextdraw, 0.289999, 1.399999);
    TextDrawColor(Grovetextdraw, 0x19FF00FF);
    TextDrawSetOutline(Grovetextdraw, 0);
    TextDrawSetProportional(Grovetextdraw, 1);
    TextDrawSetShadow(Grovetextdraw, 1);
    TextDrawUseBox(Grovetextdraw, 1);
    TextDrawBoxColor(Grovetextdraw, 150);
    TextDrawTextSize(Grovetextdraw, 639.000000, 0.000000);


    So. Wo liegen jetzt die Fehler, mal ganz abgesehen von den Errors?!


    /E: Code geupdatet.

    Einmal editiert, zuletzt von TutNichts ()


  • C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\blablablabla.pwn(1104) : error 028: invalid subscript (not an array or too many subscripts): "Grovetextdraw"
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\blablablabla.pwn(1104) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\blablablabla.pwn(1104) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\blablablabla.pwn(1104) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\blablablabla.pwn(1104) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.


    if(classid == 0||classid == 1||classid == 2)
    {
    GameTextForPlayer(playerid,"~g~Grove",1000,4);
    SetPlayerInterior(playerid,0);
    SetPlayerPos(playerid,2230.6328,1521.1443,45.6904);
    SetPlayerFacingAngle(playerid,205.1720);
    SetPlayerCameraPos(playerid,2219.9402,1499.6829,48.5419);
    SetPlayerCameraLookAt(playerid,2230.6328,1521.1443,45.6904);
    ApplyAnimation(playerid, "CLOTHES", "CLO_POSE_Watch", 4.1, 0, 1, 1, 1, 1);
    TextDrawShowForPlayer(playerid, Grovetextdraw[playerid]);//Zeile 1104
    return 1;
    }

  • Grovetextdraw[playerid]
    dort hast du ein array oben beim erstellen aber nicht dort musst du
    for(new i; i<MAX_PLAYERS;i++){CreateTextdraw(blubb[i]}
    machen dann gehen die errors weg ;)


    und oben bei new nach dem namennoch [MAX_PLAYERS]