[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
  • @Schlaubi: Den brauchst du nicht zu killen, wenn du ihn mit dem "false" Parameter startest, also Wiederholung aus.


    @xCurry: Klären wir das in deinem Thread.


    [KoSoVa]:
    Das kannst du mit diesen Funktionen dort nicht machen.
    Poste bitte aus Gründen der Übersichtlichkeit deine Datenbankstruktur, den Code und die beiden Funktionen in einem neuen Thread.

  • @Schlaubi: Den brauchst du nicht zu killen, wenn du ihn mit dem "false" Parameter startest, also Wiederholung aus.


    @xCurry: Klären wir das in deinem Thread.


    [KoSoVa]:
    Das kannst du mit diesen Funktionen dort nicht machen.
    Poste bitte aus Gründen der Übersichtlichkeit deine Datenbankstruktur, den Code und die beiden Funktionen in einem neuen Thread.




    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s'", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Where2, Where2);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE `%s` = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }


    Noch was?

    Mit freundlichen Grüßen
    [KoSoVa] :klugs:

    Einmal editiert, zuletzt von [KoSoVa] ()

  • case 13:


    {
    InterpolateCameraPos(playerid, 545.416076, -1772.326171, 8.179362, 547.233886, -1774.291870, 8.147984, 5000);
    InterpolateCameraLookAt(playerid, 548.811035, -1775.996459, 8.120770, 550.628845, -1777.962158, 8.089392, 5000);
    SetTimerEx("OnPlayerFinishInterpolateCamera", 5000-600, 0, "id", playerid, 14);
    PlayerTextDrawSetString(playerid, roleplay[playerid], "Version 0.1");
    for(new i = 0; i != 32; i++) SendClientMessage(playerid, -1, " ");


    }
    case 14:
    {
    InterpolateCameraPos(playerid, 550.013793, -1772.057128, 16.024028, 552.169799, -1772.079223, 16.285087, 5000);
    InterpolateCameraLookAt(playerid, 546.803894, -1768.331054, 15.122734, 548.959899, -1768.353149, 15.383792, 5000);
    //SetTimerEx("OnPlayerFinishInterpolateCamera", 5000-600, 0, "id", playerid, SpawnJoinedPlayer(playerid));
    TextDrawShowForPlayer(playerid, roleplaybox);
    for(new i = 0; i != 32; i++) SendClientMessage(playerid, -1, " ");
    return SpawnJoinedPlayer(playerid);
    }


    SpawnJoinedPlayer wird nicht aufgerufen


    stock SpawnJoinedPlayer(playerid)
    {
    TogglePlayerControllable(playerid, true);
    TogglePlayerSpectating(playerid, false);
    SetPlayerPos(playerid, 2221.6460, -1733.3965, 13.3983);
    }

  • Noch was?


    Du hättest es in einem neuen Thread posten sollen. Naja.
    stock mysql_GetInt_small(Table[], Field[])
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE 1", Field, Table);
    mysql_query(query);
    mysql_store_result();
    new sqlint = mysql_fetch_int();
    mysql_free_result();
    return sqlint;
    }


    stock mysql_SetInt_small(Table[], Field[], To)
    {
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    format(query, 128, "UPDATE `%s` SET `%s` = '%d' WHERE 1", Table, Field, To);
    mysql_query(query);
    return true;
    }


    Nutze diese beiden Funktionen (unten im Gamemode einfügen).


    Dein Code dann:
    stock SaveWaffenlager()
    {
    mysql_SetInt_small("waffenlager", "GroveStreet", WaffenLagerInfo[gWaffenlager]);
    return 1;
    }


    stock LoadWaffenlager()
    {
    WaffenLagerInfo[gWaffenlager] = mysql_GetInt_small("waffenlager", "GroveStreet");
    return 1;
    }

  • Nabend,
    eine kleine Frage:
    Ich habe das Problem wenn ich mit dem Namen: CaZe auf den Server komme er die Daten von den Spieler caze ausliest.
    Also ich kann mich nicht mit dem Namen "CaZe" auf dem Server registrieren weil er sagt der Account "caze" wäre es.

    mysql_format(Handle,query,sizeof(query),"Select * FROM user WHERE username='%e'",getPlayerName(playerid));
    mysql_pquery(Handle,query,"UserCheck","i",playerid);

    Danke im voraus

  • Hey kurze Frage:
    wie kann ich in einer MYSQL Tabelle in einer Spalte mehrere Werte vom Typ int speichern bzw auch auslesen?
    Normalerweise habe ich in der Spalte X1 den Wert 2 stehen, nun möchte ich aber zwei Werte dort drin speichern. Bsp: 2,4
    Diese dann auch auslesen (dann mittels einer if-abfrage ob z.b. in der Spalte die 4 drin steht).
    Ist das möglich, wenn ja, wie?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Das macht man eigentlich nicht, das ist gegen das Prinzip von Datenbanken (erste Normalform, falls das jemandem was sagt).
    Machbar wäre es, du legst die Spalte als VARCHAR an und speicherst die Werte eben als String da rein, und prüfst mittels strfind ob sich der Wert dann im String befindet.
    https://wiki.sa-mp.com/wiki/Strfind


    Aber wie gesagt, das macht man eigentlich nicht.
    Lege dir lieber eine Tabelle an, in die du die Werte die der Spieler hat rein schreibst, zusammen mit seiner Spieler ID.
    Sähe dann so aus:

    Quelle: Eigener Screenshot


    Dann kannst du mittels SELECT abfragen, ob SpielerID und Wert dem entsprechen, was du suchst, sprich ob da eine Zeile existiert.

  • Hallo habe gerade gelesen man kann seit 0.3.7 einen Actor erstellen also sowas wie einen Bot oder?
    Was für eine Include brauche ich dazu bzw was brauche ich dazu? Weil ich habe gerade im SAMP Wiki die Funktion angeschaut
    und bisschen rumprobiert im Gamemode, dann sagt er mir aber "undefined Symbol "CreateActor".


    Gruß

  • Hab ich jetzt runtergeladen, sagt mir jedoch immer noch "undefined Symbol: CreateActor"


    Code:


    new ActorTest; //oben definiert
    ActorTest = CreateActor(255,-2019.8611,-54.6781,34.9017,0.0); //Unter OnGameModeInit

  • Hi, habe mal 2 kleine Fragen.


    Wie macht man bei einem Jailsystem die Einsperrzeit?
    Mit einem einfachen Timer ?


    Und wie ist es beispielsweise bei einem 3 Tage Ban?
    Speichert man da einfach das Datum/Stunde in der Datenbank ab und frägt dann das aktuelle Datum Minus das vorher genannte ab?

  • Wie macht man bei einem Jailsystem die Einsperrzeit?
    Mit einem einfachen Timer ?


    2. Arten gibt es
    1. in einer Variable die Sekunden (min*60) und jede Sekunde runter zählen.(Zuempfehlen)
    2. ein Timer starten mit der Zeit in Milisekunden((min*60)*1000).

    Und wie ist es beispielsweise bei einem 3 Tage Ban?
    Speichert man da einfach das Datum/Stunde in der Datenbank ab und frägt dann das aktuelle Datum Minus das vorher genannte ab?


    Am besten mit dem Timestamp, der läuft seid dem 01.01.1970 und zählt seid dem die Sekunden hoch.((((Tage*24)*60)*60).

    Mit Freundlichen Grüßen
    Whitetiiger aka. Kaito-sensei
    P.s. Alle mit #IRONIE bestätigten Sätze von mir, sind als Ironie anzusehen.

  • Mysql Problem :O


    Hallo ich bekomme im Script 181 Warnings, haben alles was mit MYSQL zu tun..
    Der Script verbindet sich aber mit der MYSQL Datenbank von S4Y.


    Weiß jemand an was das noch liegen könnte?


    //e Erledigt

  • Jemand ne Ahnung warum es nicht Funktioniert?
    Kann das Textdraw gar nicht anklicken..


    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    if(dini_Exists(Playerdatei))
    {
    TextDrawSetSelectable(TDEditor_TD[25], true);
    }
    else
    {
    TextDrawSetSelectable(TDEditor_TD[28], true);
    }