Autmatisches einrücken ist fehlerhaft?

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 Com,


    Für alle Zeichen, die kleiner als 6 sind funktioniert das einrücken nicht:


    Ich änder da schon seid 30 mins rum aber es geht einfach nciht
    switch(strlen(GetWeaponNameById(i)))
    {
    case 0..4: format(buffer,sizeof(buffer),"#%i | Waffenname: %s \t\t\t| Status: %s\n",i, GetWeaponNameById(i), text);
    case 5..11: format(buffer,sizeof(buffer),"#%i | Waffenname: %s \t\t| Status: %s\n",i, GetWeaponNameById(i), text);
    case 12..30: format(buffer,sizeof(buffer),"#%i | Waffenname: %s \t| Status: %s\n",i, GetWeaponNameById(i), text);
    }


    Achtet auf: \t\t\t | \t\t |\t
    Screen davon: http://rgn.nicowiss.de/sa-mp-001.png


    Danke euch

  • Da ist nix fehlerhaft, das ist schon korrekt so.


    \t steht für einen Tabstop ( http://en.wikipedia.org/wiki/Tab_stop ) und simuliert quasi das Drücken der Tabulator-Taste. Dadurch springt der Text eben zu besagtem, nächsten Tabstop.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Da ist nix fehlerhaft, das ist schon korrekt so.


    \t steht für einen Tabstop ( http://en.wikipedia.org/wiki/Tab_stop ) und simuliert quasi das Drücken der Tabulator-Taste. Dadurch springt der Text eben zu besagtem, nächsten Tabstop.


    ja aber schau dir mal das bild an egal wie ich die erste Zeile lang mache die Spalten sind nie auf einer Ebene schau halt maleben das Bild an

  • Liegt daran, dass du die Länge des Textes bei gegebener Schriftart eben NICHT nach Zeichen zählen kannst, da ein i beispielsweise weniger Platz in der Breite verbraucht als ein o oder x oder p.
    Demnach musst du, wenn es wirklich funktionieren soll, die Breite des Textes berechnen und damit dann ausrechnen, in welchen Tabstop er sich momentan befindet. Dadurch weißt du dann, wieviele Tabs er weiter hüpfen muss.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Liegt daran, dass du die Länge des Textes bei gegebener Schriftart eben NICHT nach Zeichen zählen kannst, da ein i beispielsweise weniger Platz in der Breite verbraucht als ein o oder x oder p.
    Demnach musst du, wenn es wirklich funktionieren soll, die Breite des Textes berechnen und damit dann ausrechnen, in welchen Tabstop er sich momentan befindet. Dadurch weißt du dann, wieviele Tabs er weiter hüpfen muss.


    und wie mache ich sowas am besten?

  • Herausfinden wie breit sämtliche, möglicherweise vorkommenden Zeichen in Pixeln sind und zusammenrechnen. Herausfinden bei wievielen Pixeln im Dialog ein Tabstop beginnt und dann den Taschenrechner rausholen.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'