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

    Kann ich dir nicht sagen, der Code dazu fehlt.


    2.

    Wenn du mehrere Charaktere speichern willst, benötigst du ein Array, sonst gibst du immer den gleichen Charakter in dem Code aus. Außerdem muss der Code mit einer weiteren Schleife über die aus dem Cache gelesenen Daten versehen werden.


    Zudem geht das Aufbauen eines kompletten Systems über eine "kleine Scripting Frage", für die dieser Thread gedacht ist, hinaus.

  • Wie kann man die Waffen von den Arenen ändern?

    ehm really?
    sucht doch erstmal bevor du fragst 🙄

    Da wo du die Interior ID änderst steht z.B. Bei der deagle arena GivePlayerWeaponEx

    Oder SetPlayerWeaponEx bin mit gerade nicht sicher, wenn ich zuhause bin kann ich es dir ausführlich erklären.

    Du willst mich kennenlernen? Kauf mein Buch, Bia*ch!



  • 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

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