Beiträge von Done

    Naja,du wirst im anderen Script dafür ja eine Verwendung haben.
    Das hat auch rein gar nix mit der a_samp.inc zu tun,aber egal.


    Du musst die Befehle auch benutzen : PlayerTextDrawHide ,was willst du denn hier verbergen,einen Textdraw,okay . das musste denn aber auch angeben PlayerTextDrawHide(playerid,textdraw) // als bsp.
    Das selbste ist es bei PlayerTextDrawSetString & PlayerTextDrawShow




    -> Wenn du nach dem Befehl ,z.b PlayerTextDrawShow,eine Klammer auf ( machst,dann siehst du doch,was du angeben musst ?


    - mfg.

    Hay Leute,
    Mein letztes Problem war,dass ich kein Text auf den TextDraw raufgekriegt habe.Das geht jetzt alles einwandfrei,dass Problem ist nur ,dass ich z.B das Geld mit dem Integer %i anzeigen lassen möchte.
    Es wird auch angezeigt,allerdings steht überall eine "1",wo z.B für das Geld 500 sein müsste.Also InGame bei Level,Geld,Adminlevel,Skin ,einfach überall auf dem TextDraw.Falls ihr dazu noch'nen Screenshot braucht,sagt bescheid
    Hier mal ein bisschen Code ^^ [VARIABELN meiner Statsbox!]


    -> Ich denke mal ,die Variabeln etc. sind nicht nötig,da es ja eig. am laden bzw. setzten liegen muss ...


    Bei "OnPlayerConnect",habe ich das Laden bzw. setzen des Strings mal hingepackt ....

    Spoiler anzeigen
    ////////////////////////////////////////////
    new strLevelDraw[64]; /* LEVEL */
    format(strLevelDraw,sizeof(strLevelDraw),"Level: %i",SetPlayerScore(playerid,dini_Int(accFormat,"level")));
    TextDrawSetString(LevelDraw,strLevelDraw);
    ////////////////////////////////////////////
    new strGeldDraw[64]; /* GELD */
    format(strGeldDraw,sizeof(strGeldDraw),"Geld: %i",GivePlayerMoney(playerid,dini_Int(accFormat,"geld")));
    TextDrawSetString(GeldDraw,strGeldDraw);
    ////////////////////////////////////////////
    new strSkinDraw[64]; /* SKIN */
    format(strSkinDraw,sizeof(strSkinDraw),"Skin: %i",SetPlayerSkin(playerid,dini_Int(accFormat,"skin")));
    TextDrawSetString(SkinDraw,strSkinDraw);
    ////////////////////////////////////////////
    new strAdminrangDraw[64]; /* ADMIN */
    format(strAdminrangDraw,sizeof(strAdminrangDraw),"Admin: %i",SetPVarInt(playerid,"Adminlevel",dini_Int(accFormat,"Adminlevel")));
    TextDrawSetString(AdminrangDraw,strAdminrangDraw);
    ////////////////////////////////////////////
    new strPremiumrangDraw[64]; /* PREMIUM */
    format(strPremiumrangDraw,sizeof(strPremiumrangDraw),"Premium: %i",SetPVarInt(playerid,"PRang",dini_Int(accFormat,"PRang")));
    TextDrawSetString(PremiumrangDraw,strPremiumrangDraw);
    ////////////////////////////////////////////
    new strKDraw[64]; /* KD -DRAW */
    format(strKDraw,sizeof(strKDraw),"K/D: %i/%i",SetPVarInt(playerid,"Kills",dini_Int(accFormat,"Kills")),SetPVarInt(playerid,"Tode",dini_Int(accFormat,"Tode")));
    TextDrawSetString(KDraw,strKDraw);
    ////////////////////////////////////////////



    und der Befehl,welcher auch einwandfrei funktioniert ...

    Spoiler anzeigen
    ocmd:stats(playerid)
    {
    if(GetPVarInt(playerid,"statsdraw") == 0)
    {
    TextDrawShowForPlayer(playerid,LevelDraw);
    TextDrawShowForPlayer(playerid,StatistikenDraw);
    TextDrawShowForPlayer(playerid,Linie1);
    TextDrawShowForPlayer(playerid,GeldDraw);
    TextDrawShowForPlayer(playerid,SkinDraw);
    TextDrawShowForPlayer(playerid,Linie2);
    TextDrawShowForPlayer(playerid,AdminrangDraw);
    TextDrawShowForPlayer(playerid,PremiumrangDraw);
    TextDrawShowForPlayer(playerid,Linie3);
    TextDrawShowForPlayer(playerid,KDraw);
    TextDrawShowForPlayer(playerid,statsbox); // Box
    SetPVarInt(playerid,"statsdraw",1);
    }
    else if(GetPVarInt(playerid,"statsdraw") == 1)
    {
    TextDrawHideForPlayer(playerid,LevelDraw);
    TextDrawHideForPlayer(playerid,StatistikenDraw);
    TextDrawHideForPlayer(playerid,Linie1);
    TextDrawHideForPlayer(playerid,GeldDraw);
    TextDrawHideForPlayer(playerid,SkinDraw);
    TextDrawHideForPlayer(playerid,Linie2);
    TextDrawHideForPlayer(playerid,AdminrangDraw);
    TextDrawHideForPlayer(playerid,PremiumrangDraw);
    TextDrawHideForPlayer(playerid,Linie3);
    TextDrawHideForPlayer(playerid,KDraw);
    TextDrawHideForPlayer(playerid,statsbox); // Box
    SetPVarInt(playerid,"statsdraw",0);
    }
    return 1;
    }


    -mfg.

    okay,ich hab jetzt oben im Script geschrieben new PlayerText:statsdraw[MAX_PLAYERS]; ... bekomme jetzt nur noch 2 Warnings von der Sorte :/


    Hier die Zeilen dazu :TextDrawAlignment(statsdraw[playerid],3);
    und : TextDrawHideForPlayer(playerid,statsdraw[playerid]);


    Ich hatte beide Zeilen mal rausgenommen,dann waren die Warnings weg,aber als ich dann InGame den Befehl [/stats] eingegeben habe,kam nur die normale schwarze Box ...
    Oder liegt es vielleicht an den Koordinaten ? CreatePlayerTextDraw(playerid,640.0,153.7,str);




    - mfg

    So,habe es jetzt mal getestet,ich bekomme 5 Warnings ,vermutlich wegen dem [player] , aber schaut selbst.


    Oben im Script

    Spoiler anzeigen
    new Text:statsbox;
    new TextStats:statsdraw[MAX_PLAYERS];



    Dann die normale box unter OnGameModeInit

    Spoiler anzeigen
    statsbox = TextDrawCreate(640.125000, 153.750000, "usebox");
    TextDrawLetterSize(statsbox, 0.000000, 20.424076);
    TextDrawTextSize(statsbox, 549.875000, 0.000000);
    TextDrawAlignment(statsbox, 1);
    TextDrawColor(statsbox, 0);
    TextDrawUseBox(statsbox, true);
    TextDrawBoxColor(statsbox, 102);
    TextDrawSetShadow(statsbox, 0);
    TextDrawSetOutline(statsbox, 0);
    TextDrawFont(statsbox, 0);



    Und dann bei OnPlayerConnect

    Spoiler anzeigen
    new str[128];
    format(str,sizeof(str),"Name %s\nLevel %i\nGeld %i",SpielerName(playerid),GetPlayerScore(playerid),GetPlayerMoney(playerid));
    PlayerTextDrawSetString(playerid,statsdraw[playerid],str);
    statsdraw[playerid] = CreatePlayerTextDraw(playerid,640.0,153.7,str);
    TextDrawAlignment(statsdraw[playerid],3);



    und der Befehl ansich :

    Spoiler anzeigen
    ocmd:stats(playerid)
    {
    if(GetPVarInt(playerid,"stats") == 0)
    {
    TextDrawShowForPlayer(playerid,statsbox);
    PlayerTextDrawShow(playerid,statsdraw[playerid]); // Box
    SetPVarInt(playerid,"stats",1);
    }
    else if(GetPVarInt(playerid,"stats") == 1)
    {
    TextDrawHideForPlayer(playerid,statsdraw[playerid]);
    TextDrawDestroy(statsbox);
    SetPVarInt(playerid,"stats",0);
    }
    return 1;
    }

    Guten Tag liebe Community,
    Ich habe einen Textdraw erstellt,womit man die Statistiken [Stats] sehen kann,naja solte .... Das Problem ist,die box wird mit einver verlängerung angezeigt und der Inhalt ,also "Geld,Level,Name" gar nicht.
    Ich denke mal es liegt am "TextDrawSetString",aber ich hab keine Ahnung,bitte um Hilfe !


    oben im Script
    new Text:statsbox;


    bei OnGameModeInit // ab hier spackt der pwn Code :/


    Spoiler anzeigen
    statsbox = TextDrawCreate(640.125000, 153.750000, "usebox");
    TextDrawLetterSize(statsbox, 0.000000, 20.424076);
    TextDrawTextSize(statsbox, 549.875000, 0.000000);
    TextDrawAlignment(statsbox, 1);
    TextDrawColor(statsbox, 0);
    TextDrawUseBox(statsbox, true);
    TextDrawBoxColor(statsbox, 102);
    TextDrawSetShadow(statsbox, 0);
    TextDrawSetOutline(statsbox, 0); TextDrawFont(statsbox, 0);


    und hier der Befehl via ocmd


    Spoiler anzeigen
    ocmd:stats(playerid)
    {
    if(GetPVarInt(playerid,"stats") == 0)
    {
    new str[128];
    format(str,sizeof(str),"Name %s\nLevel %i\nGeld %i",SpielerName(playerid),GetPlayerScore(playerid),GetPlayerMoney(playerid));
    TextDrawSetString(statsbox,str);
    TextDrawShowForPlayer(playerid,statsbox);
    SetPVarInt(playerid,"stats",1);
    }
    else if(GetPVarInt(playerid,"stats") == 1)
    {
    TextDrawDestroy(statsbox);
    SetPVarInt(playerid,"stats",0);
    }
    return 1;}



    - mfg.

    ehm jop,haste was vergessen ,was xD xD


    -> Du hast ihn ja unter "OnGameModeInit",so weit so gut,aber damit er auch angezigt wird musst du es auch bei "OnPlayerConnect" anzeigen lassen


    TextDrawShowForPlayer(playerid,TutorialText2);

    In deiner signatur steht *pawn scripter*,also wirst du doch etwas scripten könenn oder zumindestens einen Anfang im Kopf haben.
    Mach doch ein Backpack über Dialogen,oder wie willst du das haben ? Und zum Pick -Up -System,benutz doch mal die SuFU,oder guck dir ein Tutorial dazu an ?


    - Beschreib doch dein Problem genauer,was du nicht verstehst,z.B wie man das eine Variabel für z.B Essen verwendet ,oder so ?

    Du bist hier glaub ich falsch,außerdem hattest du doch bereits ein Thread mit ähnlicher Überschrift ?
    Wenn du fragen hast,wie man das scriptet,dann ist es ja eigentlich vollkommen ok,aber versuch es doch erstmal selber ?


    -> Außerdem ist die Scripting Base wie ebend schon erwähnt für Hilfe,wenn du mit Geld Handeln willst,bist du hier auch falsch,dann meld dich im Marktplatz,falls du zu faul bist das selber zu scripten.



    - mfg

    sind viele Sachen falsch,ich versteh den halben Befehl sowieso nicht ?
    Was soll dieses
    TVPlayer[pID] = playerid; TogglePlayerSpectating(playerid, 1); 


    bedeuten ?


    Allein den Befehl schreibt man nicht mit eckigen Klammern [] ,sondern in den Runden () -> ocmd:tv(playerid,params[])


    -> Naja,ich hab den Befehl mal neu geschrieben,falls du was nicht verstehst,frag einfach


    ocmd:tv(playerid,params[])
    {
    if(!pAdmin(playerid,2)) return SendClientMessage(playerid,COLOR_ROT,"Fehler: Du hast nicht die bennötigten Rechte dazu.");
    new pID,beobachten[64];
    if(sscanf(params,"ui",pID)) return SendClientMessage(playerid,ROT,"Benutze : /tv [playerid]"); format(beobachten,sizeof(beobachten),"Du beobachtest nun die Spieler -ID %i",pID); SendclientMessage(playerid,beobachten);
    TogglePlayerSpectating(playerid,1);
    PlayerSpectatePlayer(playerid,pID);
    else if(IsPlayerInAnyVehicle(pID))
    {
    PlayerSpectateVehicle(playerid,GetPlayerVehicleID(pID));
    }
    return 1;
    }





    // Irgendwie bin ich gerade verwirrt,hoffe es ist so richtig :S[size=10]

    Ich weiß jetzt zwar nicht ob das an dem Code liegt,dass er durch pwn falsch eingerüclt ist,aber nun gut...


    -> arbeite mit else und return 1; oder mit else if ....
    -> du hast z.B einmal else und dann wieder if und dann wieder else ?



    ~ mfg.

    So,falls es noch immer nicht geht,bei mir waren die Koordinaten falsch von dir ?!
    Außerdem musst du unter OnGameModeInit auch DisableInteriorEnterExits(); -> machen.


    Hier nochmal mein ganzer OnPlayerCommandText ,falls es noch immer nicht geht ^^ ...


    pwn Code buggt gerade rum,daher hier als Pastebin ; http://pastebin.com/qpC3Q2cd ;musste nur noch ggf.einrücken ...


    - Lg