Angepinnt [SAMMELTHREAD] Kleine Scripting Fragen

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

    Beitrag von iTsRooT ()

    Dieser Beitrag wurde von seegras aus folgendem Grund gelöscht: Kontext? Evtl. denjenigen per @Username erwähnen für den deine Antwort gedacht war ().
  • Nabend.
    Hab nen neues MySQL Plugin installiert. Allerdings bekomme ich jetzt paar Errors..

    Quellcode

    1. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(329) : error 017: undefined symbol "mysql_real_escape_string"
    2. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(330) : error 017: undefined symbol "mysql_real_escape_string"
    3. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(331) : error 017: undefined symbol "mysql_real_escape_string"
    4. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(332) : error 017: undefined symbol "mysql_real_escape_string"
    5. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(334) : error 035: argument type mismatch (argument 1)
    6. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(335) : error 017: undefined symbol "mysql_store_result"
    7. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(336) : error 017: undefined symbol "mysql_fetch_row"
    8. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(343) : error 017: undefined symbol "mysql_real_escape_string"
    9. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(345) : error 035: argument type mismatch (argument 1)
    10. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(346) : error 017: undefined symbol "mysql_store_result"
    11. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(347) : error 017: undefined symbol "mysql_fetch_row"
    12. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(348) : error 017: undefined symbol "mysql_free_result"
    13. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(355) : error 017: undefined symbol "mysql_real_escape_string"
    14. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(356) : error 017: undefined symbol "mysql_real_escape_string"
    15. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(357) : error 017: undefined symbol "mysql_real_escape_string"
    16. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(358) : error 017: undefined symbol "mysql_real_escape_string"
    17. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(360) : error 035: argument type mismatch (argument 1)
    18. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(361) : error 017: undefined symbol "mysql_store_result"
    19. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(362) : error 017: undefined symbol "mysql_fetch_float"
    20. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(363) : error 017: undefined symbol "mysql_free_result"
    21. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(389) : error 017: undefined symbol "mysql_real_escape_string"
    22. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(390) : error 017: undefined symbol "mysql_real_escape_string"
    23. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(391) : error 017: undefined symbol "mysql_real_escape_string"
    24. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(392) : error 017: undefined symbol "mysql_real_escape_string"
    25. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(394) : error 035: argument type mismatch (argument 1)
    26. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(413) : error 017: undefined symbol "mysql_real_escape_string"
    27. Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    28. 26 Errors.
    Alles anzeigen

    Hier die Stellen im Skript:

    PAWN-Quellcode

    1. stock mysql_GetString(Table[], Field[], Where[], Is[])
    2. {
    3. new query[128], Get[128];
    4. mysql_real_escape_string(Table, Table);
    5. mysql_real_escape_string(Field, Field);
    6. mysql_real_escape_string(Where, Where);
    7. mysql_real_escape_string(Is, Is);
    8. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    9. mysql_query(query);
    10. mysql_store_result();
    11. mysql_fetch_row(Get);
    12. return Get;
    13. }
    14. stock mysql_ReturnPasswort(xName[])
    15. {
    16. new query[130], Get[130];
    17. mysql_real_escape_string(xName, xName);
    18. format(query, 128, "SELECT Passwort FROM Accounts WHERE Name = '%s'", xName);
    19. mysql_query(query);
    20. mysql_store_result();
    21. mysql_fetch_row(Get);
    22. mysql_free_result();
    23. return Get;
    24. }
    25. stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[])
    26. {
    27. new query[128], Float:sqlfloat;
    28. mysql_real_escape_string(Table, Table);
    29. mysql_real_escape_string(Field, Field);
    30. mysql_real_escape_string(Where, Where);
    31. mysql_real_escape_string(Is, Is);
    32. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    33. mysql_query(query);
    34. mysql_store_result();
    35. mysql_fetch_float(sqlfloat);
    36. mysql_free_result();
    37. return sqlfloat;
    38. }
    39. stock GetPlayerAdmin(playerid)
    40. {
    41. new Adminrank[80];
    42. switch(Spieler[playerid][Admin])
    43. {
    44. case 0:
    45. Adminrank = "Spieler";
    46. case 1:
    47. Adminrank = "Unterstützer";
    48. case 2:
    49. Adminrank = "Helfer";
    50. case 3:
    51. Adminrank = "Programmierer";
    52. case 4:
    53. Adminrank = "Koordinationsverwaltung";
    54. }
    55. return Adminrank;
    56. }
    57. stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    58. {
    59. new query[128];
    60. mysql_real_escape_string(Table, Table);
    61. mysql_real_escape_string(Field, Field);
    62. mysql_real_escape_string(Where, Where);
    63. mysql_real_escape_string(Where2, Where2);
    64. format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    65. mysql_query(query);
    66. return true;
    67. }
    68. stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    69. {
    70. new query[128];
    71. mysql_real_escape_string(Table, Table);
    72. mysql_real_escape_string(Field, Field);
    73. mysql_real_escape_string(To, To);
    74. mysql_real_escape_string(Where, Where);
    75. mysql_real_escape_string(Where2, Where2);
    76. format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    77. mysql_query(query);
    78. return true;
    79. }
    80. stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    81. {
    82. new query[128];
    83. mysql_real_escape_string(Table, Table);
    84. mysql_real_escape_string(Field, Field);
    85. mysql_real_escape_string(Where, Where);
    86. mysql_real_escape_string(Where2, Where2);
    87. format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    88. mysql_query(query);
    89. return true;
    90. }
    91. stock mysql_GetInt(Table[], Field[], Where[], Is[])
    92. {
    93. new query[128];
    94. mysql_real_escape_string(Table, Table);
    95. mysql_real_escape_string(Field, Field);
    96. mysql_real_escape_string(Where, Where);
    97. mysql_real_escape_string(Is, Is);
    98. format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);
    99. mysql_query(query);
    100. mysql_store_result();
    101. new sqlint = mysql_fetch_int();
    102. mysql_free_result();
    103. return sqlint;
    104. }
    Alles anzeigen


    Bitte um Hilfe! Vielen Dank und liebe Grüße!
    Mit freundlichen Grüßen,

  • Hab auch ein Problem. Kennzeichen aus der Datenbank laden funktioniert nur beim ersten gespawnten Auto?! Alle danach bekommen " NULL " als Kennzeichen?!
    Muss ich an den String irgendwie MAX VEHICLES dranbauen?

    PAWN-Quellcode

    1. public OnPlayerCarsLoad()
    2. {
    3. new num_fields,num_rows;
    4. cache_get_data(num_rows,num_fields,dbhandle);
    5. if(!num_rows)return 1;
    6. for(new i=0; i<num_rows; i++)
    7. {
    8. new id=getFreeCarID();
    9. cInfo[id][carmodel]=cache_get_field_content_int(i,"model",dbhandle);
    10. cInfo[id][c_x]=cache_get_field_content_float(i,"x",dbhandle);
    11. cInfo[id][c_y]=cache_get_field_content_float(i,"y",dbhandle);
    12. cInfo[id][c_z]=cache_get_field_content_float(i,"z",dbhandle);
    13. [b] new tmp_LicensePlate[16];
    14. cache_get_field_content(id, "LicensePlate", tmp_LicensePlate, dbhandle);
    15. strmid(cInfo[id][plate], tmp_LicensePlate, 0, sizeof(tmp_LicensePlate),sizeof(tmp_LicensePlate));[/b]
    16. [b]
    17. [/b][b] SetVehicleNumberPlate(cInfo[id][id_x],tmp_LicensePlate);
    18. [/b]
    19. }
    20. return 1;
    21. }
    Alles anzeigen
  • Neu

    Colney schrieb:

    Nabend.
    Hab nen neues MySQL Plugin installiert. Allerdings bekomme ich jetzt paar Errors..

    Quellcode

    1. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(329) : error 017: undefined symbol "mysql_real_escape_string"
    2. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(330) : error 017: undefined symbol "mysql_real_escape_string"
    3. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(331) : error 017: undefined symbol "mysql_real_escape_string"
    4. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(332) : error 017: undefined symbol "mysql_real_escape_string"
    5. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(334) : error 035: argument type mismatch (argument 1)
    6. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(335) : error 017: undefined symbol "mysql_store_result"
    7. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(336) : error 017: undefined symbol "mysql_fetch_row"
    8. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(343) : error 017: undefined symbol "mysql_real_escape_string"
    9. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(345) : error 035: argument type mismatch (argument 1)
    10. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(346) : error 017: undefined symbol "mysql_store_result"
    11. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(347) : error 017: undefined symbol "mysql_fetch_row"
    12. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(348) : error 017: undefined symbol "mysql_free_result"
    13. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(355) : error 017: undefined symbol "mysql_real_escape_string"
    14. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(356) : error 017: undefined symbol "mysql_real_escape_string"
    15. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(357) : error 017: undefined symbol "mysql_real_escape_string"
    16. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(358) : error 017: undefined symbol "mysql_real_escape_string"
    17. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(360) : error 035: argument type mismatch (argument 1)
    18. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(361) : error 017: undefined symbol "mysql_store_result"
    19. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(362) : error 017: undefined symbol "mysql_fetch_float"
    20. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(363) : error 017: undefined symbol "mysql_free_result"
    21. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(389) : error 017: undefined symbol "mysql_real_escape_string"
    22. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(390) : error 017: undefined symbol "mysql_real_escape_string"
    23. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(391) : error 017: undefined symbol "mysql_real_escape_string"
    24. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(392) : error 017: undefined symbol "mysql_real_escape_string"
    25. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(394) : error 035: argument type mismatch (argument 1)
    26. C:\Users\Joshua\Documents\Roleplay Skript\gamemodes\Roleplay.pwn(413) : error 017: undefined symbol "mysql_real_escape_string"
    27. Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
    28. 26 Errors.
    Alles anzeigen
    Hier die Stellen im Skript:

    PAWN-Quellcode

    1. stock mysql_GetString(Table[], Field[], Where[], Is[]){new query[128], Get[128];mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Is, Is);format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);mysql_query(query);mysql_store_result();mysql_fetch_row(Get);return Get;}stock mysql_ReturnPasswort(xName[]){new query[130], Get[130];mysql_real_escape_string(xName, xName);format(query, 128, "SELECT Passwort FROM Accounts WHERE Name = '%s'", xName);mysql_query(query);mysql_store_result();mysql_fetch_row(Get);mysql_free_result();return Get;}stock Float:mysql_GetFloat(Table[], Field[], Where[], Is[]){new query[128], Float:sqlfloat;mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Is, Is);format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);mysql_query(query);mysql_store_result();mysql_fetch_float(sqlfloat);mysql_free_result();return sqlfloat;}stock GetPlayerAdmin(playerid){new Adminrank[80];switch(Spieler[playerid][Admin]){case 0:Adminrank = "Spieler";case 1:Adminrank = "Unterstützer";case 2:Adminrank = "Helfer";case 3:Adminrank = "Programmierer";case 4:Adminrank = "Koordinationsverwaltung";}return Adminrank;}stock mysql_SetInt(Table[], Field[], To, Where[], Where2[]){new query[128];mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Where2, Where2);format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);mysql_query(query);return true;}stock mysql_SetString(Table[], Field[], To[], Where[], Where2[]){new query[128];mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(To, To);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Where2, Where2);format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);mysql_query(query);return true;}stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[]){new query[128];mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Where2, Where2);format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);mysql_query(query);return true;}stock mysql_GetInt(Table[], Field[], Where[], Is[]){new query[128];mysql_real_escape_string(Table, Table);mysql_real_escape_string(Field, Field);mysql_real_escape_string(Where, Where);mysql_real_escape_string(Is, Is);format(query, 128, "SELECT %s FROM %s WHERE %s = '%s'", Field, Table, Where, Is);mysql_query(query);mysql_store_result();new sqlint = mysql_fetch_int();mysql_free_result();return sqlint;}


    Bitte um Hilfe! Vielen Dank und liebe Grüße!
    Nachdem du dein MySQL geupdatet hast, musst du alles so umschreiben, so das es auf der neuen Version läuft.
    Schau dir die Hilfe von @Jeffry mal an, falls du es auf der R40+ geupdatet hast.
    Ansonsten kannst du auch im Wiki mal nachschauen.
  • Neu

    Vielen Dank, wiedermal!
    Kannst du mir noch kurz erklären, wieso "id" dazu führte, dass das erste aber sonst keins funktioniert hat? Beim Haussystem hab ich es auch mit i. Das hätte mir in einem jahr wirklich auffallen können^^ Aber dafür freu ich mich jetzt umso mehr, dass es jetzt funktioniert :D

    Jeffry schrieb:

    cache_get_field_content(i, "LicensePlate", tmp_LicensePlate, dbhandle);
  • Neu

    Dr.VTEC schrieb:

    Vielen Dank, wiedermal!
    Kannst du mir noch kurz erklären, wieso "id" dazu führte, dass das erste aber sonst keins funktioniert hat?

    Gerne!
    Das Problem mit "id" ist, dass das der Index des Arrays cInfo ist, aber nicht unbedingt auch die Zeile aus dem Datenbank Ergebnis. Wenn du zuvor schon zwei Fahrzeuge erstellt hast, steht id auf 2, i jedoch erst auf 0. Damit kommt eine Abweichung zu Stande, die dann irgendwelche oder in deinem Fall keine Werte mehr ausgibt.

    Also grob gesagt: id hat nicht zwingend den gleichen Wert wie i. Es kann die gleichen Werte haben, Voraussetzung ist dann aber, dass (in diesem Beispiel) noch kein Fahrzeug in cInfo steht, wenn die Daten eingelesen werden.