[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Dann füge das hier unten in der Include hinzu:
    stock M_GetPlayerZone(playerid)
    {
    for(new zoneid=0; zoneid<MAX_ZONES; zoneid++)
    {
    if(M_IsValidZone(zoneid))
    {
    if(M_IsPlayerInZone(playerid,zoneid))
    {
    return zoneid;
    }
    }
    }
    return -1;
    }


    Und ändere den Befehl zu:
    ocmd:cflagge(playerid, params[])
    {
    new query[500], Float:x, Float:y, Float:z;
    if(CZ[playerid][create] != 1) return SendClientMessage(playerid, COLOR_WHITE, "Um eine Gangzone zu erstellen, benutze '/creategangzone'!");
    CZ[playerid][zid] = M_GetPlayerZone(playerid);
    if(!M_IsPlayerInAnyZone(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner Gangzone!");
    if(CZ[playerid][zid] < 0) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner CZ!");
    GetPlayerPos(playerid, x, y, z);
    GZ[CZ[playerid][zid]][flagge_x] = x, GZ[CZ[playerid][zid]][flagge_y] = y, GZ[CZ[playerid][zid]][flagge_z] = z, CZ[playerid][create] = 0;
    GZ[CZ[playerid][zid]][pickup] = CreatePickup(1314, 1, x, y, z, 0);
    GZ[CZ[playerid][zid]][label] = Create3DTextLabel("Tippe '/angriff', um das Gebiet anzugreifen.\nTippe '/flagge' | Y/Z, um die Flagge zu erobern.", COLOR_WHITE, x, y, z, 20, 0);
    format(query, sizeof(query), "INSERT INTO gangfight (owner, maxX, maxY, minX, minY, flaggeX, flaggeY, flaggeZ, erstellt) VALUES ('%s', '%f', '%f', '%f', '%f', '%f', '%f', '%f', '%d')",
    GZ[CZ[playerid][zid]][owner], GZ[CZ[playerid][zid]][max_x], GZ[CZ[playerid][zid]][max_y], GZ[CZ[playerid][zid]][min_x], GZ[CZ[playerid][zid]][min_y], GZ[CZ[playerid][zid]][flagge_x], GZ[CZ[playerid][zid]][flagge_y], GZ[CZ[playerid][zid]][flagge_z], CZ[playerid][zid]);
    mysql_pquery(handle, query);
    return SendClientMessage(playerid, COLOR_WHITE, "Du hast die Zone erfolgreich erstellt.");
    }



    Fabi.StaR:
    Syntaktisch nichts.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • jetzt habe ich wieder ein crash :/

  • Okay klappt nun. Hätte noch eine Frage, und zwar wie kann man aus der Datenbank Spalten löschen. Wollte es für diesen Command benutzen.


    ocmd:destroyzone(playerid, params[])
    {
    new zone = M_GetPlayerCurrentZone(playerid);
    if(!IsPlayerAdmin(playerid)) return 1;
    if(!M_IsPlayerInAnyZone(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner Zone!");
    GZ[zone][flagge_x] = 0, GZ[zone][flagge_y] = 0, GZ[zone][flagge_z] = 0,
    GZ[zone][min_x] = 0, GZ[zone][min_y] = 0, GZ[zone][max_x] = 0, GZ[zone][max_y] = 0;
    DisableZone(zone);
    DestroyPickup(GZ[zone][pickup]);
    Delete3DTextLabel(GZ[zone][label]);
    if(GF[zone][started] >= 1) GF[zone][zeit] = GFTime;
    GZ[zone][erstellt] = 0;
    return SendClientMessage(playerid, COLOR_WHITE, "Du hast die Zone erfolgreich gelöscht.");
    }

  • Hab das nun so gemacht, aber die Zeile verschwindet nicht.


    ocmd:destroyzone(playerid, params[])
    {
    new zone = M_GetPlayerCurrentZone(playerid), query[100];
    if(!IsPlayerAdmin(playerid)) return 1;
    if(!M_IsPlayerInAnyZone(playerid)) return SendClientMessage(playerid, COLOR_WHITE, "Du bist in keiner Zone!");
    GZ[zone][flagge_x] = 0, GZ[zone][flagge_y] = 0, GZ[zone][flagge_z] = 0,
    GZ[zone][min_x] = 0, GZ[zone][min_y] = 0, GZ[zone][max_x] = 0, GZ[zone][max_y] = 0;
    DisableZone(zone);
    DestroyPickup(GZ[zone][pickup]);
    Delete3DTextLabel(GZ[zone][label]);
    if(GF[zone][started] >= 1) GF[zone][zeit] = GFTime;
    GZ[zone][erstellt] = 0;
    format(query, sizeof(query), "DELETE FROM gangfight WHERE id=%s", zone);
    mysql_pquery(handle, query);
    return SendClientMessage(playerid, COLOR_WHITE, "Du hast die Zone erfolgreich gelöscht.");
    }

  • Wird immer noch nicht gelöscht. bekomme aber diesen Error in der Log.


    [22:03:51] [ERROR] CMySQLQuery::Execute[] - (error #1064) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TaigX'' at line 1