Beiträge von SoulMan

    Was soll der auch sonst ausgeben, wenn du nur diese prints hast? xD
    Mach mal statt print für jeden Slot entweder:


    printf(Schleife für %d gestartet,i); Gibt dir aber nur an, ob gestartet wurde.
    oder:
    printf(Format: Owner: %s | ID: %d,Car[i][Owner],i);


    Beim letzteren bin ich mir gerade nicht so sicher, sollte aber auch für alle ID's was ausgeben.


    //Edit: prinft => printf

    Geh doch einfach mal ins Script und schau dir die Befehle an. ;)
    Evtl. auch OnPlayerKeyStateChange durchchecken.


    Und such mal nach seinem Namen.

    Schau mal unter Nützliche Codeschnipsel nach.
    Dort gibt es eine schnelle Methode den Server per Gametext zu crashen (glaube ich jedenfalls).


    Ob es dabei hilft, den Server auf Dauer lahmzulegen ist ne andere Sache.
    Wirklich dauerhaft lahmlegen würde nur per Speicherung einer Variable gehen soweit ich mir das jetzt denke.

    Nichts gegen diese Titel :D
    Bei mir hat es auch geholfen, nur das trotzdem keiner n Plan davon hatte, wie
    ich das Problem mit meinen Häusern in der Datenbank löse. Jetzt geht's übrigens. :P


    @topic
    für's kidnappen benutzt du
    PutPlayerInVehicle(..);

    Erstmal danke für den Code, jedoch ist das Ergebnis das Selbe.
    Liegt wohl an dem Error, den ich gerade aufgedeckt habe.


    Und zur Version, ehm wenn du mir kurz sagst, wo ich das rausfinde, kann ich es dir sagen.
    Nutze jedenfalls nicht das von Strickenkid soweit ich mich erinnern kann.


    //Edit:
    Wenn ich die SQL Befehle einzeln eingebe, erhalten ich beim letzteren Folgendes:
    [Err] 1062 - Duplicate entry '0' for key 1


    //Edit 2:
    Könnte ich es mir einfacher machen, wenn ich das System "dynamisch" scripte?
    Daher Ingame Häuser erstellen? Muss dann halt paar Befehle zwecks Übersicht erstellen, aber das geht ja noch in Ordnung. ^^


    //Edit 3:


    Okey, das Problem mit dem Speichern ist gelöst, aber jetzt hab ich noch n Problem mit dem Laden, möchte
    durch die Schleife in die HausID ermitteln und laden.
    Doch ich bekomme immer ein type mismatch Error beim i.


    stock LoadHouses()
    {
    new str[128];
    for(new i;i<sizeof(HausInfo);i++)
    {
    if(CheckHaus(i))
    {
    format(HausInfo[i][h_Besitzer],MAX_PLAYER_NAME,"%s",mysql_GetString("Houses", "Besitzer", "HausID",i));
    format(HausInfo[i][h_Name],32,"%s",mysql_GetString("Houses", "Hausname", "HausID", i));
    }
    HausPickups[i] = CreatePickup(1239,23,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],0);
    format(str,sizeof(str),"%s\nHausID: %d\nBesitzer: %s\nPreis: $%d",HausInfo[i][h_Name],i,HausInfo[i][h_Besitzer],HausInfo[i][h_Preis]);
    HausLabels[i] = Create3DTextLabel(str,0xFFFFFFFF,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],10,0,0);
    }
    return 1;
    }


    Wie kann ich das beheben? Wenn ich es wie vorher laden möchte, werden die falschen Werte geladen.


    //Edit: Text

    Jamal halt jetzt einfach mal deine Klappe deine Meinung interessiert hier niemanden.
    Wenn dir das Script nicht gefällt dann lösche es wieder und keiner braucht mehr deine unqualifizierten Beiträge zu lesen.


    Das Script ist wirklich gut, wenn ich mir mal ansehe, wie das alles aufgebaut ist und miteinander arbeitet.
    Was ich unschön finde ist, dass du extrem viele mysql-Passagen innerhalb mancher Befehle verwendest.
    Finde stocks da irgendwie übersichtlicher. :P


    Eine Bewertung fällt weg, diese erklärt sich von selbst.

    Ah okey, letzteres bei dem SQL Befehl bringt einen Error.


    [Err] 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 'INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('1', 'TestUser1', 'Testh' at line 2


    Okey, ich werd mal alles testen. :)
    Danke

    Ja, ich weiß, wollte die halt eigentlich per Array festlegen, damit ich ne Übersicht behalte.
    Hab jetzt nochmal getestet, das kam raus:


    [22:32:08] Schleife für 0 gestartet
    [22:32:08] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('0', '', 'Testhaus: 0')
    [22:32:08] Schleife für 1 gestartet
    [22:32:08] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('1', '', 'Testhaus: 1')
    [22:32:08] Schleife für 2 gestartet
    [22:32:08] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('2', '', 'Testhaus: 2')


    Jedoch wurde wieder nur ein Feld angelegt.


    Beim erneuten Restart dann jedoch wieder das:
    [22:32:33] Schleife für 0 gestartet
    [22:32:33] SetString Besitzer: für HausID: 0
    [22:32:33] SetString Hausname: Testhaus: 0 für HausID: 0
    [22:32:33] Schleife für 1 gestartet
    [22:32:33] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('1', '', '')
    [22:32:33] Schleife für 2 gestartet
    [22:32:33] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('2', '', '')


    //Edit: Häuser wurden nur umbenannt, nicht gekauft, daher bleibt "Besitzer" leer

    Scheint aber richtig zu sein.


    [22:23:57] Schleife für 0 gestartet
    [22:23:57] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('0', '', '')
    [22:23:57] Schleife für 1 gestartet
    [22:23:57] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('1', '', '')
    [22:23:57] Schleife für 2 gestartet
    [22:23:57] DEBUG: INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('2', '', '')


    //Edit: Schleife für 0

    nAbend,
    Ich habe ein Problem bei der Speicherung meiner Häuser.
    Sie werden per Array erstellt und sollen in einer Tabelle eingetragen werden, sofern sie noch nicht drin sind.
    Irgendwas funktioniert nicht, denn es wird nur für 1 Haus ein Feld angelegt.


    Schaut euch einfach mal die Codes an, vielleicht seht ihr ja einen Fehler.


    Diese Funktion soll prüfen, ob bereits ein Feld erstellt wurde.
    stock CheckHaus(id)
    {
    new Query[128];
    format(Query,128,"SELECT * FROM `Houses` WHERE `ID` = '%d'",id); //ID ist ein Feld in der Tabelle. In die HausID zu speichern machte irgendwie Probleme..
    mysql_query(Query);
    mysql_store_result();
    new ergb = mysql_num_rows();
    return ergb;
    }
    stock SaveHouses()
    {
    new Query[128];
    for(new i;i<sizeof(HausInfo);i++)
    {
    if(!CheckHaus(i))
    {
    format(Query,128,"INSERT INTO Houses (HausID, Besitzer, Hausname) VALUES ('%d', '%s', '%s')",HausInfo[i][h_ID],HausInfo[i][h_Besitzer],HausInfo[i][h_Name]); //Feld mit den Daten erstellen und füllen.
    mysql_query(Query);
    }
    else
    {
    mysql_SetString("Houses", "Besitzer", HausInfo[i][h_Besitzer], "HausID", HausInfo[i][h_ID]);
    mysql_SetString("Houses", "Hausname", HausInfo[i][h_Name], "HausID", HausInfo[i][h_ID]);
    }
    DestroyPickup(HausPickups[i]);
    Delete3DTextLabel(HausLabels[i]);
    }
    return 1;
    }
    stock LoadHouses() //Sollte sich alles selbst erklären.
    {
    new str[128];
    for(new i;i<sizeof(HausInfo);i++)
    {
    if(CheckHaus(i))
    {
    format(HausInfo[i][h_Besitzer],MAX_PLAYER_NAME,"%s",mysql_GetString2("Houses", "Besitzer", "HausID", HausInfo[i][h_ID]));
    format(HausInfo[i][h_Name],32,"%s",mysql_GetString2("Houses", "Hausname", "HausID", HausInfo[i][h_ID]));
    }
    HausPickups[i] = CreatePickup(1239,23,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],0);
    format(str,sizeof(str),"%s\nHausID: %d\nBesitzer: %s\nPreis: $%d",HausInfo[i][h_Name],HausInfo[i][h_ID],HausInfo[i][h_Besitzer],HausInfo[i][h_Preis]);
    HausLabels[i] = Create3DTextLabel(str,0xFFFFFFFF,HausInfo[i][h_px],HausInfo[i][h_py],HausInfo[i][h_pz],10,0,0);
    }
    return 1;
    }

    Mir ist sowas auch schon mal passiert, allerdings lag es an meiner Internetverbindung.
    Durch das häufige Klicken auf den Absenden-Button während dem Verbindungsabbruch wurde dann bei der Wiederherstellung der Verbindung
    gleich 5-10x das Selbe gespostet.


    Nur mein Erfahrungsbericht. ;)

    Parameter sind wie Variablen bzw. sind Variablen, die man in Funktionen und Befehlen nutzt.


    /givegun [ID/Name] [Waffen-ID] [Munition]


    Hierbei sind der Name, die WaffenID und die Munition Parameter.


    Bei Funktionen wie der Unteren ist in dem Fall p1 & p2 ein Parameter.
    stock Float:GetDistanceBetweenPlayers(p1,p2)


    Hier noch ein Thread, der dir das näher erklärt.
    [ SCRIPTING ] Commands mit Parametern