Shop Tutorial?

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

  • Shop Tutorial?

    Hi,

    also ich möchte eigentlich nur ein ganz einfaches Shop System haben,


    jedoch komme ich jedes mal durcheinander, ich habe schon etliche vorgefertigte Scripts dafür angeschaut,

    aber wenn ich Scripte brauche ich nunmal eine feste Struktur und ich muss die dinge auch größtmöglich verstehen können,

    was da natürlich nicht der Fall ist da es keine Tutorials sind, wenn man dann welche findet sind diese für Dini. (Ich benutze Mysql R41-4)

    Hätte jemand vielleicht Zeit / Lust mir einfach mal ein kleines Tutorial dafür ein erklärtes tutorial zu machen, ähnlich wie hier? [jTuT] MySQL R41-4 (Installation, XAMPP, Verwendung, Bedienung & Registrations-System)


    Und bitte keine Codes aus irgendwelchen House System Filterscripts kopieren, das bringt mir nämlich gar nichts.


    Das was ich halt so brauche wäre Laden / Speichern / Erstellen / Löschen (nur die Grundsätze heißt nicht das man das für alle enums machen muss)

    Und falls jemand diesen Shop ausraubt, dass dann die RobTime gesetzt wird bis es wieder ausraubar ist.

    Meine Enums sind hier: pastebin.com/BCxpuKnJ


    Und wie gesagt ich brauche dabei einfach Struktur und ein Grundgerüst
    Programmieren: 1% Programmieren, 99% Bugs Fixen
  • JacLos schrieb:

    Und wie gesagt ich brauche dabei einfach Struktur und ein Grundgerüst
    Ganz blöde Frage meinerseits, aber du hast doch bereits dieses Grundgerüst.

    In dem Tutorial von Jeffry wird doch präzise gezeigt und erklärt, wie du Dinge lädst und speicherst.

    Das kannst du 1:1 auf dein enum anwenden.

    Deine anderen Fragen, beziehen sich ja eher auf SQL selbst.

    Hier ein Tutorial: w3schools.com/sql/default.asp

    und hier der sub-tab wo es ums löschen geht: w3schools.com/sql/sql_delete.asp


    JacLos schrieb:

    Und falls jemand diesen Shop ausraubt, dass dann die RobTime gesetzt wird bis es wieder ausraubar ist.
    Das ist ja was anderes.

    Dafür nutzt du einfach Gettime.

    C-Quellcode

    1. new x = gettime() + 60; //+60 Sekunden
    2. if(x > gettime())
    3. {
    4. //Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden
    5. }
    6. else
    7. {
    8. //Kann ausgeraubt werden, eine Minute ist vorbei
    9. }
    Alles anzeigen
    Das war mal ein kleines Beispiel, wie man sowas nutzen kann.


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

    1. if(IsPlayerInRangeOfPoint(playerid,6.0,-10.3508,-178.2570,1003.5469))
    2. {
    3. new x;
    4. x = gettime();
    5. if(x > gettime())
    6. {
    7. SendClientMessage(playerid,-1,"Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden");
    8. return 1;
    9. }
    10. else
    11. {
    12. TogglePlayerControllable(playerid,false);
    13. ApplyAnimation(playerid,"SHOP","SHP_Gun_Aim",4.1,0,1,1,1,1);
    14. Rob(playerid,"24/7 Pershing Squere");
    15. x = gettime() + 60;
    16. return 1;
    17. }
    18. }
    19. else return SendClientMessage(playerid,-1,"You are not at a shop.");
    Alles anzeigen
    Hab jetzt einfach mal dein Beispiel übernommen, tatsächlich klappt das aber nicht so,

    ich kann immer noch einfach jede Sekunde die "bank" ausrauben
    Programmieren: 1% Programmieren, 99% Bugs Fixen
  • JacLos schrieb:

    ich kann immer noch einfach jede Sekunde die "bank" ausrauben
    Wie sollte das auch klappen.

    x ist in deinem Fall ja auch nur eine lokale Variable.

    Sprich sie speichert nicht ihren Wert.

    Du brauchst eine Globale Variable, wo der Wert gespeichert wird..für jeden Shop.


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

    Dann mit einer for new schleife? Aber woher soll das script dann wissen was für einen shop ich meine...
    Da ich nicht genau weiß, wie deine Variable zu den Enum heißt, nenne ich diese jetzt einfach mal Shops.

    Um zu wissen, welchen index du jetzt für das Array benutzen musst, musst du wissen, an welchem Shop er sich befindet.

    Soweit, so klar.

    Das prüfst du, indem du schaust, an welchen Koordinaten er sich befindet.

    Also du brauchst alle Koordinaten, von den Kassen.

    Diese gibst du ja manuell an mit der if-Abfrage, aber pack diese doch auch mit in dein Array, damit du diesen Punkt dann auch dynamisch, so wie alles andere verändern kannst.

    Das heißt wir erweitern dein enum um Float:kasse_x, Float:kasse_y, Float:kasse_z.

    Dann kannst du einfach den index so bekommen:

    C-Quellcode

    1. new i = GetPlayerShopIndex(playerid);
    2. if(i == -1) return SCM(playerid,-1,"Du befindest dich an keiner Shop-Kasse!");
    3. if(Shops[i][RobTime] > gettime()) return SCM(playerid,-1,"Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden");
    4. TogglePlayerControllable(playerid,false);
    5. ApplyAnimation(playerid,"SHOP","SHP_Gun_Aim",4.1,0,1,1,1,1);
    6. Rob(playerid, Shops[i][ShopName]);
    7. Shops[i][RobTime] = gettime() + 60;
    8. return 1;
    9. //Und weiter unten die Funktion:
    10. stock GetPlayerShopIndex(playerid)
    11. {
    12. for(new i; i<sizeof(Shops); i++)
    13. {
    14. if(IsPlayerInRangeOfPoint(playerid,4.0,Shops[i][kasse_x],Shops[i][kasse_y],Shops[i][kasse_z])) return i;
    15. }
    16. return -1;
    17. }
    Alles anzeigen
    Kannst auch gerne hier einen Blick reinwerfen: Schneller & strukturierter skripten

    Da gebe ich zusätzlich noch ein paar Tipps, worauf du achten solltest :)


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

    habs jetzt mal per MySQL gemacht.

    Problem ist jetzt, dass einfach 200 Shops erstellt werden (in der mysql db)

    Also das Maximum was von mir festgelegt wurde.

    An sich wird aber alles gespeichert

    Hier der Code:



    Quellcode

    1. OnGameModeInit();
    2. {
    3. mysql_format(handle, query, sizeof(query), "SELECT * FROM `Houses`");
    4. mysql_pquery(handle, query, "OnShopsLoad");
    5. return 1;
    6. }
    7. forward OnShopsLoad();
    8. public OnShopsLoad()
    9. {
    10. new num_rows;
    11. cache_get_row_count(num_rows);
    12. if(!num_rows)return 1;
    13. for(new i; i<sizeof(ShopInfo); i++)
    14. {
    15. cache_get_value_name_int(0, "shopid", ShopInfo[i][shopid]);
    16. cache_get_value_name_float(0, "h_enterx", ShopInfo[i][h_enterx]);
    17. cache_get_value_name_float(0, "h_entery", ShopInfo[i][h_entery]);
    18. cache_get_value_name_float(0, "h_enterz", ShopInfo[i][h_enterz]);
    19. cache_get_value_name_float(0, "h_exitx", ShopInfo[i][h_exitx]);
    20. cache_get_value_name_float(0, "h_exity", ShopInfo[i][h_exity]);
    21. cache_get_value_name_float(0, "h_exitz", ShopInfo[i][h_exitz]);
    22. cache_get_value_name_int(0, "robtime", ShopInfo[i][robtime]);
    23. cache_get_value_name_int(0, "owned", ShopInfo[i][owned]);
    24. cache_get_value_name_int(0, "interior", ShopInfo[i][interior]);
    25. cache_get_value_name(0, "owner", ShopInfo[i][owner], MAX_PLAYER_NAME);
    26. }
    27. return 1;
    28. }
    29. ocmd:createshop(playerid,params[])
    30. {
    31. for(new i; i<sizeof(ShopInfo); i++)
    32. {
    33. new Float:xc, Float:yc, Float:zc,query[256];
    34. GetPlayerPos(playerid, xc, yc, zc);
    35. new id = getFreeShopID();
    36. ShopInfo[id][h_enterx]=xc;
    37. ShopInfo[id][h_entery]=yc;
    38. ShopInfo[id][h_enterz]=zc;
    39. ShopInfo[id][interior]=0;
    40. updateHaus(id);
    41. strmid(ShopInfo[id][owner], "", 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
    42. format(query, sizeof(query),"INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('%f', '%f', '%f', '0', '1')", xc, yc, zc);
    43. mysql_pquery(handle, query, "OnHausCreated", "i", id);
    44. }
    45. }
    46. forward OnHausCreated(id);
    47. public OnHausCreated(id)
    48. {
    49. ShopInfo[id][shopid]=cache_insert_id();
    50. return 1;
    51. }
    52. updateHaus(id)
    53. {
    54. new string[128];
    55. if(ShopInfo[id][spickup])
    56. {
    57. DestroyPickup(ShopInfo[id][spickup]);
    58. }
    59. if(ShopInfo[id][stext])
    60. {
    61. Delete3DTextLabel(ShopInfo[id][stext]);
    62. }
    63. if(!strlen(ShopInfo[id][owner]))
    64. {
    65. ShopInfo[id][spickup]=CreatePickup(1273, 1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_entery], -1);
    66. format(string,sizeof(string), "Zum Verkauf\nKosten: %i$\n/hauskaufen", ShopInfo[id][price]);
    67. ShopInfo[id][stext]=Create3DTextLabel(string, COLOR_RED, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], 10, 0, 1);
    68. }
    69. else
    70. {
    71. ShopInfo[id][spickup]=CreatePickup(1239, 1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], -1);
    72. format(string,sizeof(string), "Besitzer: %s\n/enter", ShopInfo[id][owner]);
    73. ShopInfo[id][stext]=Create3DTextLabel(string, COLOR_BLUE, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], 10, 0, 1);
    74. }
    75. return 1;
    76. }
    77. getFreeShopID()
    78. {
    79. for(new i=0; i<sizeof(ShopInfo); i++)
    80. {
    81. if(ShopInfo[i][shopid]==0)return i;
    82. }
    83. return 0;
    84. }
    Alles anzeigen

    Programmieren: 1% Programmieren, 99% Bugs Fixen

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


  • Noch ein Hinweis:
    Gebe bei getFreeShopID nicht 0 zurück, falls kein Shop gefunden wird, sondern -1, weil der erste Index ja die 0 ist, somit würde der erste Shop überschrieben werden, wenn alle Shops voll sind.
    Also dort, return -1.

    Und dann

    PAWN-Quellcode

    1. new id = getFreeShopID();

    Danach:

    PAWN-Quellcode

    1. if(id == -1) return SendClientMessage(playerid, 0xFF0000FF, "Error: Maximale Anzahl an Shops erreicht.");



    Außerdem ist noch ein Fehler in OnShopsLoad drin. Nutze dort bei den Cache Funktionen nicht 0 als ersten Parameter sondern i, sonst lädst du immer nur den ersten Shop.
  • Quellcode

    1. new pShopID; //public
    2. forward OnShopsLoad();
    3. public OnShopsLoad()
    4. {
    5. new num_rows;
    6. cache_get_row_count(num_rows);
    7. if(!num_rows)return 1;
    8. for(new i; i<sizeof(ShopInfo); i++)
    9. {
    10. new id=getFreeShopID();
    11. cache_get_value_name_int(i, "shopid", ShopInfo[id][shopid]);
    12. cache_get_value_name_float(i, "h_enterx", ShopInfo[id][h_enterx]);
    13. cache_get_value_name_float(i, "h_entery", ShopInfo[id][h_entery]);
    14. cache_get_value_name_float(i, "h_enterz", ShopInfo[id][h_enterz]);
    15. cache_get_value_name_float(i, "h_exitx", ShopInfo[id][h_exitx]);
    16. cache_get_value_name_float(i, "h_exity", ShopInfo[id][h_exity]);
    17. cache_get_value_name_float(i, "h_exitz", ShopInfo[id][h_exitz]);
    18. cache_get_value_name_int(i, "robtime", ShopInfo[id][robtime]);
    19. cache_get_value_name_int(i, "owned", ShopInfo[id][owned]);
    20. cache_get_value_name_int(i, "interior", ShopInfo[id][interior]);
    21. cache_get_value_name(i, "owner", ShopInfo[id][owner], MAX_PLAYER_NAME);
    22. updateHaus(id);
    23. }
    24. return 1;
    25. }
    26. ocmd:createshop(playerid,params[])
    27. {
    28. new Float:xc, Float:yc, Float:zc,query[256];
    29. GetPlayerPos(playerid, xc, yc, zc);
    30. new id = getFreeShopID();
    31. ShopInfo[id][h_enterx]=xc;
    32. ShopInfo[id][h_entery]=yc;
    33. ShopInfo[id][h_enterz]=zc;
    34. ShopInfo[id][interior]=0;
    35. strmid(ShopInfo[id][owner], "", 0, MAX_PLAYER_NAME, MAX_PLAYER_NAME);
    36. format(query, sizeof(query),"INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('%f', '%f', '%f', '""', '1')", xc, yc, zc);
    37. mysql_pquery(handle, query, "OnHausCreated", "i", id);
    38. return 1;
    39. }
    40. forward OnHausCreated(id);
    41. public OnHausCreated(id)
    42. {
    43. ShopInfo[id][shopid]=cache_insert_id();
    44. ABroadCast(-1,"Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.");
    45. pShopID = id;
    46. return 1;
    47. }
    48. ocmd:shopasugang(playerid,params[])
    49. {
    50. new id = pShopID;
    51. new Float:xc, Float:yc, Float:zc,query[256];
    52. GetPlayerPos(playerid, xc, yc, zc);
    53. ShopInfo[id][h_exitx]=xc;
    54. ShopInfo[id][h_exity]=yc;
    55. ShopInfo[id][h_exitz]=zc;
    56. ShopInfo[id][interior]=GetPlayerInterior(playerid);
    57. format(query, sizeof(query),"INSERT INTO `Houses` (h_exitx, h_exity, h_exitz, interior) VALUES ('%f', '%f', '%f', '%d')", xc, yc, zc,ShopInfo[id][interior]);
    58. mysql_pquery(handle, query, "ShopFinished", "i", id);
    59. return 1;
    60. }
    61. forward ShopFinished(id);
    62. public ShopFinished(id)
    63. {
    64. ABroadCast(-1,"Der Shop wurde erfolgreich erstellt.");
    65. updateHaus(id);
    66. return 1;
    67. }
    68. updateHaus(id)
    69. {
    70. new string[128];
    71. if(ShopInfo[id][spickup])
    72. {
    73. DestroyPickup(ShopInfo[id][spickup]);
    74. }
    75. if(ShopInfo[id][stext])
    76. {
    77. Delete3DTextLabel(ShopInfo[id][stext]);
    78. }
    79. if(!strlen(ShopInfo[id][owner]))
    80. {
    81. ShopInfo[id][spickup]=CreatePickup(1273, 1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_entery], -1);
    82. format(string,sizeof(string), "Zum Verkauf\nKosten: %i$\n/hauskaufen", ShopInfo[id][price]);
    83. ShopInfo[id][stext]=Create3DTextLabel(string, -1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], 10, 0, 1);
    84. }
    85. else
    86. {
    87. ShopInfo[id][spickup]=CreatePickup(1239, 1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], -1);
    88. format(string,sizeof(string), "Besitzer: %s\n/enter", ShopInfo[id][owner]);
    89. ShopInfo[id][stext]=Create3DTextLabel(string, -1, ShopInfo[id][h_enterx], ShopInfo[id][h_entery], ShopInfo[id][h_enterz], 10, 0, 1);
    90. }
    91. return 1;
    92. }
    93. getFreeShopID()
    94. {
    95. for(new i=0; i<sizeof(ShopInfo); i++)
    96. {
    97. if(ShopInfo[i][shopid]==-1) return ABroadCast(0xFF0000FF, "Error: Maximale Anzahl an Shops erreicht.");
    98. }
    99. return 0;
    100. }
    Alles anzeigen


    Hi, also jetzt wird der Ausgang einfach in eine neue ShopID eingetragen,


    möchte ja die ID des shops mitnehmen wie man am code erkennen kann.

    pic-upload.de/view-36006246/shop.png.html
    Programmieren: 1% Programmieren, 99% Bugs Fixen
  • Quellcode

    1. ocmd:shopasugang(playerid,params[])
    2. {
    3. new id = pShopID;
    4. new Float:xc, Float:yc, Float:zc,query[256];
    5. GetPlayerPos(playerid, xc, yc, zc);
    6. ShopInfo[id][h_exitx]=xc;
    7. ShopInfo[id][h_exity]=yc;
    8. ShopInfo[id][h_exitz]=zc;
    9. ShopInfo[id][interior]=GetPlayerInterior(playerid);
    10. mysql_format(handle, query, sizeof(query), "UPDATE `Houses` SET `h_exitx` = '%f', `h_exity` = '%f', ´h_exitz´ = '%f',`interior` = '%d' WHERE ´shopid´ = '%d'", xc, yc, zc,ShopInfo[id][interior],id);
    11. mysql_pquery(handle, query, "ShopFinished", "i", id);
    12. return 1;
    13. }
    Alles anzeigen
    X mal alles überprüft und ausgebessert, jedoch wird ShopFinished nicht aufgerufen, in der mysql log steht nichts darüber.


    und 2. pic-upload.de/view-36006351/mysql.png.html
    Programmieren: 1% Programmieren, 99% Bugs Fixen

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von JacLos ()

  • 1. Lass dir den Query per printf() ausgeben und führe ihn manuell aus - dann sieht du, ob eventuell der Query fehlerhaft ist.

    2. Zusätzlich ist es gewollt, dass der Befehl shopasugang heißt?

    3. Was soll pShopID bewirken? Aus dem Kontext wirkt das nämlich so, als würde es nicht das erfüllen, was du dir eigentlich erhoffst ..
  • pShopID soll einfach den Wert von "id" abspeichern und quasy in den Befehl "ocmd:shopasugang(playerid,params[])" mitnehmen,

    so das ich genau diese Shop ID auch bearbeiten kann.
    2. Nein, ändere ich jetzt mal


    Wie genau kann ich das mit per Printf bewerkstelligen?
    Programmieren: 1% Programmieren, 99% Bugs Fixen
  • JacLos schrieb:

    pShopID soll einfach den Wert von "id" abspeichern und quasy in den Befehl "ocmd:shopasugang(playerid,params[])" mitnehmen,

    so das ich genau diese Shop ID auch bearbeiten kann.
    2. Nein, ändere ich jetzt mal


    Wie genau kann ich das mit per Printf bewerkstelligen?
    Ach so - jetzt sehe ich es erst. Hau einfach bei /shopasugang vor das return 1 ein print(query) - dann sollte dir in deinem server_log.txt ein Befehl angezeigt werden. Diesen einfach mal manuell per phpMyAdmin o.ä. ausführen und schauen, ob etwas passiert. Zusätzlich kannst du noch den Query aus dem server_log hier posten.
  • Hab beide geloggt

    Brainfuck-Quellcode

    1. Blank Gamemode by your name here
    2. ----------------------------------
    3. Number of vehicle models: 4
    4. ADMIN: Admin Pulsii(1) logged in (level 10)
    5. INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('2098.123779', '2073.649658', '10.820312', '', '1')
    6. Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.
    7. UPDATE `Houses` SET `h_exitx` = '2096.150391', `h_exity` = '2063.400391', ´h_exitz´ = '10.820313',`interior` = '0' WHERE ´shopid´ = '0'






    Hab das jetzt mal Simuliert,

    da kam raus, das h_exit und shopid beides angeblich unbekannte Felder sind, hab die beiden auf rechtschreibfehler geprüft aber keine


    gefunden, hab dann das `` weggemacht bei den beiden, so geht es und der shop wird erstellt, jedoch werden die dinge nicht gespeichert,

    ist vermutlich nicht die richtige lösung.



    Alles:


    Brainfuck-Quellcode

    1. Blank Gamemode by your name here
    2. ----------------------------------
    3. Number of vehicle models: 4
    4. ADMIN: Admin Pulsii(1) logged in (level 10)
    5. Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.
    6. UPDATE `Houses` SET `h_exitx` = '2105.106445', `h_exity` = '2092.912842', ´h_exitz´ = '10.820313',`interior` = '0' WHERE ´shopid´ = '0'
    7. gmx
    8. [MySQL] Verbindungsaufbau...
    9. [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1
    10. ----------------------------------
    11. Blank Gamemode by your name here
    12. ----------------------------------
    13. Number of vehicle models: 4
    14. ADMIN: Admin Pulsii(1) logged in (level 10)
    15. INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('2098.123779', '2073.649658', '10.820312', '', '1')
    16. Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.
    17. UPDATE `Houses` SET `h_exitx` = '2096.150391', `h_exity` = '2063.400391', ´h_exitz´ = '10.820313',`interior` = '0' WHERE ´shopid´ = '0'
    18. gmx
    19. [MySQL] Verbindungsaufbau...
    20. [MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: 1
    21. ----------------------------------
    22. Blank Gamemode by your name here
    23. ----------------------------------
    24. Number of vehicle models: 4
    25. ADMIN: Admin Pulsii(1) logged in (level 10)
    26. INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('2096.955078', '2086.385009', '10.820312', '', '1')
    27. Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.
    28. UPDATE `Houses` SET `h_exitx` = '2096.400879', `h_exity` = '2075.045898', h_exitz = '10.820313',`interior` = '0' WHERE shopid = '0'
    29. Der Shop wurde erfolgreich erstellt.
    30. INSERT INTO `Houses` (h_enterx, h_entery, h_enterz, owner, interior) VALUES ('2098.700195', '2079.051757', '10.820312', '', '1')
    31. Sehr gut, bitte gehe nun zum Ausgang und mache /shopasugang.
    32. UPDATE `Houses` SET `h_exitx` = '2097.198730', `h_exity` = '2096.686279', h_exitz = '10.820313',`interior` = '0' WHERE shopid = '0'
    33. Der Shop wurde erfolgreich erstellt.
    Alles anzeigen

















    //Edit wie mir gerade auffällt, shopid = 0

    Wie kann das sein ?
    Programmieren: 1% Programmieren, 99% Bugs Fixen
  • PAWN-Quellcode

    1. mysql_format(handle, query, sizeof(query), "UPDATE `Houses` SET `h_exitx` = '%f', `h_exity` = '%f', ´h_exitz´ = '%f',`interior` = '%d' WHERE ´shopid´ = '%d'", xc, yc, zc,ShopInfo[id][interior],id);

    Zu

    PAWN-Quellcode

    1. mysql_format(handle, query, sizeof(query), "UPDATE Houses SET h_exitx = '%f', h_exity = '%f', h_exitz = '%f', interior = '%d' WHERE shopid = '%d'", xc, yc, zc,ShopInfo[id][interior],ShopInfo[id][shopid]);