Problem mit TextDrawSetString

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
  • Hallo,


    Ich brauche kurz Hilfe ,weil ich nicht weiß was ich genau verändern muss damit der Error weggeht:


    TextDrawSetString(Text:Textdraw2,Tacho(playerid,bool:kmh)); //Errorzeile


    Ich möchte im zweiten Argument den stock "Tacho(playerid,bool:kmh" ausführen.


    stock Tacho(playerid,bool:kmh)
    {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);
    }


    Nun jetzt kommt aber dieser Error:


    Code
    C:***.pwn(784) : error 017: undefined symbol "kmh"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.


    Ich weiß nicht genau was ich verändern muss

    Einmal editiert, zuletzt von Ketchup ()

  • Sorry weiß echt nicht ob es richtig ist und denke du hast es auch schon versucht aber könnte es nicht das hier sein?


    das einfach
    new kmh


    //EDIT
    Ist das hier die Errorzeile?
    return kmh?floatround(rtn * 100 * 1.61):floatround(rtn * 100);

  • Zum 1.


    Hab ich schon versucht, geht nicht :P


    Zum 2.


    Ne die Zeile mit dem TextDrawSetString, ich weiß nicht was ich da in das Zweite Argument reinschreiben muss


    // e


    Ich habs versucht kommt jetzt aber das


    Code
    C:\.pwn(785) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.
  • geht auch niocht

    Code
    C:***.pwn(785) : error 035: argument type mismatch (argument 2)
    C:***.pwn(784) : warning 204: symbol is assigned a value that is never used: "kmh"
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.
  • Keiner im deutschsprachigen Raum verwendet mph, daher vergiss es und nütz es so:



    stock Float:Tacho(playerid)
    {
    new Float:x,Float:y,Float:z,Float:rtn;
    if(IsPlayerInAnyVehicle(playerid)) GetVehicleVelocity(GetPlayerVehicleID(playerid),x,y,z); else GetPlayerVelocity(playerid,x,y,z);
    rtn = floatsqroot(x*x+y*y+z*z);
    return rtn * 100 * 1.61;
    }



    new kmh[6];
    format(kmh,siezof(kmh),"%.2f", Tacho(playerid));
    TextDrawSetString(Text:Textdraw2,kmh);


    //EDiT: Float Datentyp bei Stock vergessen

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • kommen wir der sache schon näher :D


    nurnoch 1 warning:


    Code
    C:***.pwn(1360) : warning 208: function with tag result used before definition, forcing reparse
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Warning.

    Einmal editiert, zuletzt von Ketchup ()

  • Zeig mal die Zeile von dem bitte.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Ich habs dir doch schonmal erklaert ;)
    Du musst das Text: weglassen.


    Quatsch,hat damit nichts zu tun.


    Angenommen du nimmst den Code von Templer aus diesem Post ( Ja, im format mit %.2f und nicht %d ) , dann müsstest du die Funktion "Tacho(playerid)" im Code definiert haben,bevor du sie zum ersten mal benutzt. Sprich,einfach nach oben in deinem Quellcode schieben.
    Alternative könntest du auch einfach lediglich folgende Zeile irgendwo nach oben in deinen Quellcode ( Kopf ) einfügen:


    forward Float:Tacho(playerid);


    Problem ist,dass der Compiler beim Compilieren noch nicht weiss,dass die Funktion Tacho einen Wert vom Typ Float zurück gibt und meckert deswegen.