Konsole; Terminal

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Konsole; Terminal

    hi =)

    ich arbeite seit ein paar wochen an einer art Terminal, oder Konsole für mein Game. Bisher läuft ja alles glatt.
    ich kann den Text eingeben, mit "#" eine neue Zeile eingeben usw... nur das Problem ist, ich will den eingegebenen Text natürlich abfragen.
    also bsp:
    if text_input = "help"
    //zum Ausgeben in einer neuen Zeile...


    nur das Problem ist, dass die Konsole derzeit noch soo aussieht:

    GML-Quellcode

    1. draw_text(x,y,keyboard_string)

    und die abspeicherung so ist:

    GML-Quellcode

    1. text_input = keyboard_string


    nur arbeite ich generell nicht viel mit einem Terminal, und die Examples die ich auf YYG gefunden habe, waren ein wenig ZU komplex.


    ich hätte gerne ein paar vorschläge, wie man eine recht einfache Konsole schreibt =)

    lg, domis4
  • Eigentlich ganz einfach: teile das kommando von der konsole in einzelne wörter auf, und analysiere dann diese.

    Nutze einfach copyboys string_split script, wenn du zu Faul bist um schnell was selber zu machen.

    GML-Quellcode

    1. var str,split,list,pos,line;
    2. str = argument0;
    3. split = argument1;
    4. list = argument2;
    5. if (string_count(split,str)==0) {ds_list_add(list,str);}
    6. else {
    7. do {
    8. pos = string_pos(split,str);
    9. line = string_copy(str,0,pos-1);
    10. ds_list_add(list,line);
    11. str = string_replace(str,line+split,"");
    12. } until (string_count(split,str)==0);
    13. ds_list_add(list,str);
    14. }
    15. return list;
    Alles anzeigen


    Zb: string_split( letzte_zeile, " ", ds_list_create( ));

    Danach kannst dann durch die Liste iterieren und zb Checken, ob da jetzt Help steht.

    Oder:

    Quellcode

    1. # kein GML
    2. if (liste[0] == 'help') {
    3. switch ( liste[1] ) {
    4. case 'exit':
    5. print( "'exit' \nQuits the console view and returns to the game" );
    6. break;
    7. case 'set':
    8. print( "'set -name -value' \nSets variable <name> to value <value>" );
    9. exit;
    10. default:
    11. print( "'help -command' \nPrints help to <command>" );
    12. }
    13. }
    Alles anzeigen


    Denke, das solltest du verstehen können.

    MfG SDX