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
  • 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.

  • Neu

    BrightLeaN schrieb:

    Wenn ich jemanden ein Textdraw anzeige (Textdrawshow...) und der Spieler disconnected,
    wird für den nächsten Spieler mit der ID das Textdraw auch angezeigt oder ist es pflicht es beim disconnect wieder zu hiden?
    wiki.sa-mp.com/wiki/CreatePlayerTextDraw


    enthält:

    Wiki schrieb:

    Player-textdraws are automatically destroyed when a player disconnects.


    Zu normalen Textdraws gibt's im Wiki keine Angabe, außer einem Codebeispiel (wiki.sa-mp.com/wiki/TextDrawHideForPlayer), jedoch braucht man es wohl nicht zu hiden, kann es aber auch einfach machen. Wäre ja jetzt nicht so aufwändig/problematisch :D
    MfG. Adrian
  • Neu

    BrightLeaN schrieb:

    Wenn ich jemanden ein Textdraw anzeige (Textdrawshow...) und der Spieler disconnected,
    wird für den nächsten Spieler mit der ID das Textdraw auch angezeigt oder ist es pflicht es beim disconnect wieder zu hiden?
    Um die Aussage von Skeezy nochmal zu verdeutlichen auf dein Beispiel.

    Würde der Spieler disconnectet werden z.B. durch einen Kick, dann würde er die TextDraws noch weiter sehen (es sei denn du würdest sie hiden).

    Connectet ein Spieler mit der selben ID, wird das TextDraw ihm nicht automatisch angezeigt :)


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. X/