Haussystem Infoanzeige

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
  • //edit neuer Text+Überschrift hab das versucht anders zu lösen trotzdem Problem:


    Guten Tag,
    ich hab grade wieder versuch meeinem Haussystem eienn besonderen Tatsch zu verleihen nur komme ich schon wieder an der selben stelle nicht weiter.
    Es wird einach nicht Angezeigt hier alle Teile:
    forward HausInfoUp(playerid);
    new Text:HausInfoTextdraw,HausInfoString[500];
    #define UpdateConfig 1000
    Bei OnGameModeInit:
    //____________________Hausinfo____________________
    HausInfoTextdraw = TextDrawCreate(78.000000, 295.000000," ");
    TextDrawLetterSize(HausInfoTextdraw,0.3,1.2);
    TextDrawBackgroundColor(HausInfoTextdraw,0xffffffff);
    TextDrawSetShadow(HausInfoTextdraw,1);
    TextDrawColor(HausInfoTextdraw,-1);
    TextDrawSetShadow(HausInfoTextdraw,0);
    TextDrawSetProportional(HausInfoTextdraw,1);
    TextDrawFont(HausInfoTextdraw,1);
    TextDrawUseBox(HausInfoTextdraw, 1);
    TextDrawBoxColor(HausInfoTextdraw, 120);
    TextDrawTextSize(HausInfoTextdraw, 628.000000, 0.000000);


    Bei OnPlayerSpawn:

    SetTimer("HausInfoUp", UpdateConfig, 1);
    Der Timer:
    public HausInfoUp(playerid)
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(IsPlayerInRangeOfPoint(playerid,4,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    format(HausInfoString,sizeof(HausInfoString)," ~w~.::Hausinfo::.~n~~n~~w~Besitzer: %s ~n~Preis: %d$~n~Miete: %d$~n~Mieter 1: %s~n~Mieter 2: %s~n~Mieter 3: %s~n~Mieter 4: %s~n~Mieter 5: %s",haus_besitzer,haus_preis,Mieter1,Mieter2,Mieter3,Mieter4,Mieter5);
    TextDrawShowForPlayer(playerid,HausInfoTextdraw);
    TextDrawSetString(HausInfoTextdraw,HausInfoString);
    }
    else
    {
    TextDrawHideForPlayer(playerid,HausInfoTextdraw);
    }
    }
    return 1;
    }
    Das wars eigentlich auch.
    WEis villeicht einer von euch was falsch ist bzw. wie es funktionieren würde auch wenn es
    völlig anders währe also alles neu machen das währe mir egal nur egal wie ich es probiere
    es funktioniert einfahc nicht.
    Mit freundlichen Grüßen
    Sven


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()

  • Ich vermute mal, dass es an folgender Zeile liegt:
    if(IsPlayerInRangeOfPoint(playerid,4,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    in folgendes umändern:
    if(IsPlayerInRangeOfPoint(playerid,4.0,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    Erklärung: Der zweite Parameter von IsPlayerInRangeOfPoint muss ein 'Float' sein. Also eine Zahl mit Nachkommastellen.
    Vermutlich sollte dies das Problem beheben.

  • SetTimer("HausInfoUp", UpdateConfig, 1);
    Hier das noch (zusätzlich zu der anderen Änderung) in folgendes umändern:
    SetTimerEx("HausInfoUp",UpdateConfig,1,"i",playerid);
    Damit wird die Variable 'playerid' als Parameter an 'HausInfoUp' weitergegeben.
    Sollte nun hoffentlich funktionieren. ;)

  • Sollte eigentlich auch mit SetTimer funktionieren Naja hab's jetzt so Kompiliert getestet und funktioniert immernoch nicht.
    Eigentlich wollte ich es so das wenn man das Pickup betritt das das gezeigt wird und sobald man es verlässt die Anzeige
    verschwindet da kam ich aber ab einem Punkt nicht mehr weiter. Dann dachte ich mir warum denn eig.
    nicht mit einem Timer und Positionsabfrage.
    Trotzdem geht es nicht weis denn wirklich niemand mehr weiter.


    Mit freundlichen Grüßen
    Sven


    //Edit Rechtschreibfehler korrigiert


    Bewerte mich und meine Transaktionen als Mittelsmann

    Einmal editiert, zuletzt von lollipop ()