[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

  • Die Float-Variablen sind befüllt. Die TextLabels an den ATMs werden auch erstellt.

    Aber wieso kommt an jeden ATM dann die Meldung "Du bist nicht in der Nähe eines Geldautomates" , wenn ich den Befehl eingebe?

  • Aber wieso kommt an jeden ATM

    Tatsächlich nicht bei Allen, nur bei allen Anderen, als dem Ersten :D


    Das liegt daran, dass du das Else in der Schleife hat und er somit beim ersten falschen darein geht, anstatt den Rest zu prüfen.


    Kannst es z.B. so lösen:




    C
            for (new i; i < sizeof(ATMInfo); i++)
            {
                if(IsPlayerInRangeOfPoint(playerid,3.0, ATMInfo[i][atm_x], ATMInfo[i][atm_y], ATMInfo[i][atm_z]))
                {
                    ShowPlayerDialog(playerid,DIALOG_ATMROB,DIALOG_STYLE_LIST,"ATM-Rob-Methoden","Gas einleiten & sprengen\nAufknacken","Auswählen","Abbrechen");
                    return 1;
                }
            }
            return SendClientMessage(playerid,COLOR_RED,"Du bist nicht in der Nähe eines Geldautomaten!");

    ast2ufdyxkb1.png


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

  • Code
    gamemodes\ilovedm.pwn(1938) : error 029: invalid expression, assumed zero
    gamemodes\ilovedm.pwn(1938) : warning 215: expression has no effect
    gamemodes\ilovedm.pwn(1938) : error 001: expected token: ";", but found ")"
    gamemodes\ilovedm.pwn(1938) : error 029: invalid expression, assumed zero
    gamemodes\ilovedm.pwn(1938) : fatal error 107: too many error messages on one line
    
    Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase
    
    
    4 Errors.

    Kann mir wer helfen bitte?

  • Nix für ungut, aber du hast nichtmal die Fehlerzeile markiert...und der Code ist super unordentlich.


    Der Fehler besagt, dass du eine Klammer vergessen hast...such halt selbst :D

    ast2ufdyxkb1.png


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

  • Nix für ungut, aber du hast nichtmal die Fehlerzeile markiert...und der Code ist super unordentlich.


    Der Fehler besagt, dass du eine Klammer vergessen hast...such halt selbst :D

    Das ist der Code der errors anzeigt: Das ist der Code der Errors anzeigt:

    Code
    if(IsPlayerAnAdmin(p,1)){
  • Moin,


    ich habe meine Character Positionen in einer anderen Tabelle als den Characternamen, abr alle im selben Enum, leider kommt immer folgendes, woran kann das liegen?


    Code
    [15:47:04] [ERROR] cache_get_value_name_float: field 'x' not found
    [15:47:04] [ERROR] cache_get_value_name_float: field 'y' not found
    [15:47:04] [ERROR] cache_get_value_name_float: field 'z' not found
    [15:47:04] [ERROR] cache_get_value_name_float: field 'r' not found
    [15:47:04] [ERROR] cache_get_value_name_int: field 'interior' not found
    [15:47:04] [ERROR] cache_get_value_name_int: field 'world' not found

    Danke im Voraus.


    MfG


    Allrounder18

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du musst die Daten dann natürlich auch aus der anderen Tabelle holen.

    Ich habe jetzt

    Code
    mysql_format(handle, string, sizeof(string), "SELECT * FROM `character_pos` WHERE `accountid` = '%d'", AccountInfo[playerid][account_ID]);
        mysql_tquery(handle, string);

    beim registrieren, aber die oben genannte Fehler kommen immer noch.


    Edit:

    Ein anderer Error ist der folgende, obwohl das Feld in MYSQL vorhanden ist.

    Code
    [16:38:31] [ERROR] error #1054 while executing query "UPDATE `character` SET `skin` = '187', `x` = '0.000000', `y` = '0.000000', `z` = '0.000000', `r` = '0.000000', `interior` = '0', `world` = '0' WHERE `id` = '51'": Unknown column 'x' in 'field list'
  • Hier updatest du character und alles Andere ist doch immer character_pos? Du kommst glaube bei den Tabellen etwas durcheinander.

    Danke, der Fehler ist behoben.


    Aber die Felder findet das Script immer noch nicht.


    Wie muss ich das hier schreiben, damit er in die Tabellen accounts und account_pos insertet?

    Code
    mysql_format(handle, string, sizeof(string), "INSERT INTO `character` (`accountid`,`name`,`slot`, `skin`,`gender`,`x`,`y`,`z`,`r`,`interior`,`world`,`register`,`lastlogin`) VALUES ('%d','Keiner','1','0','0','1480.5341','-1770.5804','18.7958','0.3109','0','0','00.00.0000 | 00:00:00','00.00.0000 | 00:00:00')",AccountInfo[playerid][account_ID]);
        mysql_tquery(handle, string);
  • Wie muss ich das hier schreiben, damit er in die Tabellen accounts und account_pos insertet?

    Hä?


    Na, anstatt INSERT INTO `character` verwendest du INSERT INTO `character_pos`...


    Falls es bei den Basics Unklarheiten gibt, schau dir doch ein paar Tutorial an: https://www.w3schools.com/sql/sql_insert.asp

    ast2ufdyxkb1.png


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

  • Dann solltest du daraus 2 Querys machen...


    1x Insert in die eine Tabelle

    und 1x insert in die andere Tabelle...

    Jetzt habe ich es wie folgt gemacht aber wenn die Registrierung durch ist ist die Char auswahl leer.


  • Was zur Hölle machst du da?


    Kommt es dir nicht merkwürdig vor 80x das Selbe Query zu schicken für nix?


    Und das eine SELECT Query verläuft im Sande...


    Das würde als Querys vollkommen reichen.


    Allerdings wieso nutzt du da schon cache_insert_id? Wird das alles etwa schon über ein mysql query aufgerufen?


    Vielleicht eröffnest du auch mal einen separaten Thread dafür, da immer 1000x hin und her Antworten im Sammelthread echt nervig ist, vor allem, wenn jemand nochmal so ein Problem hat, kann man ihn nicht auf etwas konkretes verweisen.


    Und vllt solltest du wie gesagt dir nochmal die Basics o.ä. erklären lassen, vllt bietet sich ja einer hier an dir ein wenig Nachhilfe zu geben oder so.


    Dieses tausendfache ausprobieren was du hier tust, bringt dir nur sehr sehr schleppend voran, zumal du dann meist vermutlich gar nicht weißt, wieso es überhaupt geklappt hat.

    ast2ufdyxkb1.png


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

  • Das reicht leider nicht, da 4 Charactere pro Account erstellt werden sollen.

    Achsooo, das hast du da vor.


    Ufff, dann kannst du das nicht so machen, da ja accountid immer gleich wäre pro Spieler (also hätten 4 Charaktere die selbe accountid jeweils).

    Bei character_pos beziehst du dich auf die accountid, was ja aber nicht mehr funktioniert, da wir nun 4x die Gleiche accountid hätten.


    Da muss der Primary Key z.B. aus 2 Spalten wie accountid & slot bestehen, damit das eindeutig referenzierbar wäre.

    ast2ufdyxkb1.png


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