Script, das Text codieren soll

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

  • Script, das Text codieren soll

    Hi Leute!
    Mein Problem:
    Ich habe ein Script, das einen String, der vom Spieler eingegeben wurde, verändern soll (codieren):

    GML-Quellcode

    1. if !(global.config_datei="")
    2. {
    3. ini_open("einstellung.txts")
    4. global.de_codierter_text=""
    5. repeat(string_length(global.text))
    6. {
    7. zahl+=1
    8. ersetzer=string_char_at(global.text,zahl)
    9. if (ersetzer=string_lower(ersetzer))
    10. {
    11. zum_ersetzen=ini_read_string("Kleinbuchstaben",string(ersetzer),".ERROR.")
    12. global.de_codierter_text+=string(zum_ersetzen)
    13. }
    14. else if (ersetzer=string_upper(ersetzer))
    15. {
    16. zum_ersetzen=ini_read_string("Großbuchstaben",string(ersetzer),".ERROR.")
    17. global.de_codierter_text+=string(zum_ersetzen)
    18. }
    19. else
    20. {
    21. zum_ersetzen=ini_read_string("Zahlen",string(ersetzer),".ERROR.")
    22. global.de_codierter_text+=string(zum_ersetzen)
    23. }
    24. }
    25. ini_close()
    26. zum_ersetzen=""
    27. ersetzer=""
    28. }
    Alles anzeigen


    Alles funktioniert, aber geb ich dann zum Test "hallo123" ein, wird für jede Zahl ".ERROR." angezeigt, obwohl in der Datei/ini Section [Zahlen] und Key [1],Key [2]... vorhanden sind. Woran liegt das?

    €dit: Beim zweiten Mal wird für jeden Buchstaben nur noch ".ERROR." angezeigt...

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • Also ich bin mir nicht ganz sicher, aber was solls... :D
    Das Problem beim zweiten Mal ist wahrscheinlich da, weil "zahl" nichtmehr zurückgesetzt wird, _bevor_ oder _nachdem_ du den Script aufrufst.
    Allgemein kann ich nur Vermutungen anstellen: Bei Zahlen hat er ein Problem, also es kann sein, dass er in der INI keine Variablen annimmt, die mit Zahlen anfangen... Probier mal statt string(ersetzer) vllt "z"+ersetzer (ersetzer ist auch so ein String ;) )

    EDIT: Schon wieder ein Post erstellt mit dem DS Browser *stolz*

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von copyboy ()

  • Das Problem beim zweiten Mal ist wahrscheinlich da, weil "zahl" nichtmehr zurückgesetzt wird, _bevor_ oder _nachdem_ du den Script aufrufst.

    DANKE!!! :D :top:
    Verdammt! Warum komm ich da eigendlich nicht selbst drauf? :no:

    Ich hab den Fehler behoben (ist vielleicht ein bisschen umständlich, aber es funktioniert):

    GML-Quellcode

    1. if !(global.config_datei="")
    2. {
    3. ini_open("einstellung.txts")
    4. global.de_codierter_text=""
    5. repeat(string_length(global.text))
    6. {
    7. zahl+=1
    8. ersetzer=string_char_at(global.text,zahl)
    9. if (ersetzer="1")
    10. {
    11. zum_ersetzen=ini_read_string("Zahlen","eins",".ERROR.")
    12. global.de_codierter_text+=string(zum_ersetzen)
    13. }
    14. else if (ersetzer="2")
    15. {
    16. zum_ersetzen=ini_read_string("Zahlen","zwei",".ERROR.")
    17. global.de_codierter_text+=string(zum_ersetzen)
    18. }
    19. else if (ersetzer="3")
    20. {
    21. zum_ersetzen=ini_read_string("Zahlen","drei",".ERROR.")
    22. global.de_codierter_text+=string(zum_ersetzen)
    23. }
    24. else if (ersetzer="4")
    25. {
    26. zum_ersetzen=ini_read_string("Zahlen","vier",".ERROR.")
    27. global.de_codierter_text+=string(zum_ersetzen)
    28. }
    29. else if (ersetzer="5")
    30. {
    31. zum_ersetzen=ini_read_string("Zahlen","fuenf",".ERROR.")
    32. global.de_codierter_text+=string(zum_ersetzen)
    33. }
    34. else if (ersetzer="6")
    35. {
    36. zum_ersetzen=ini_read_string("Zahlen","sechs",".ERROR.")
    37. global.de_codierter_text+=string(zum_ersetzen)
    38. }
    39. else if (ersetzer="7")
    40. {
    41. zum_ersetzen=ini_read_string("Zahlen","sieben",".ERROR.")
    42. global.de_codierter_text+=string(zum_ersetzen)
    43. }
    44. else if (ersetzer="8")
    45. {
    46. zum_ersetzen=ini_read_string("Zahlen","acht",".ERROR.")
    47. global.de_codierter_text+=string(zum_ersetzen)
    48. }
    49. else if (ersetzer="9")
    50. {
    51. zum_ersetzen=ini_read_string("Zahlen","neun",".ERROR.")
    52. global.de_codierter_text+=string(zum_ersetzen)
    53. }
    54. else if (ersetzer="0")
    55. {
    56. zum_ersetzen=ini_read_string("Zahlen","null",".ERROR.")
    57. global.de_codierter_text+=string(zum_ersetzen)
    58. }
    59. else if (ersetzer=string_lower(ersetzer))
    60. {
    61. zum_ersetzen=ini_read_string("Kleinbuchstaben",string(ersetzer),".ERROR.")
    62. global.de_codierter_text+=string(zum_ersetzen)
    63. }
    64. else if (ersetzer=string_upper(ersetzer))
    65. {
    66. zum_ersetzen=ini_read_string("Großbuchstaben",string(ersetzer),".ERROR.")
    67. global.de_codierter_text+=string(zum_ersetzen)
    68. }
    69. }
    70. ini_close()
    71. zum_ersetzen=""
    72. ersetzer=""
    73. zahl=0
    74. }
    Alles anzeigen


    Das lag unteranderem daran, dass Zahlen, wenn man sie mit der Tastatur "klein" schreibt, sich nicht verändern... Glaub ich... :D
  • Original von rootnode
    Hiermit beantrage ich mal die Pflicht zur Einrückung und gescheiten Formatierung von gepostetem Quellcode. Besonders bei längeren Ausschnitten wirds ja richtig ekelhaft das zu lesen!

    Ja Tobi, das gilt auch für dich. Wollte ich nur einmal anmerken ;)

    mfg Timma