[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
  • Ja, das kannst du. Schau dir folgendes Video an und du kannst sehen das abgefragt wird ob man vor einer Wand etc steht.
    Das alles ist möglich mit ColAndreas, ein Plugin entwickelt von [uL]Pottus, [uL]Slice und [uL]Chris. Einfach mal nach ColAndreas suchen und dann solltest du fündig werden.


    -Mobil


    Externer Inhalt youtu.be
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Ist es eigentlich egal wie lang eine Query ist? Zum mindest war das nach meiner Erfahrung in HeidiSQL scheiß egal, keine Ahnung ob da ne Regelung in pawn ist.
    Hab nämlich vor eine etwas längere query zu machen


    Update blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = % blla bla id = %



    Von dieser Länge ca.

    SA:MP in 2020?

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Wie sollte ich das am besten anstellen? Hab noch nie mehrere strings in einer Zeile benutzt.


    z.B.


    new query1[256];
    new query2[256];


    und dann später
    mysql_pquery(handle, query1 query2);


    ?

    SA:MP in 2020?

  • Du kombinierst mehrere Strings in einen. Folglich muss der String wo alle anderen kombiniert werden mindestens so groß sein wie alle anderen zusammen.


    Also,


    stringtotal[1024];
    string1,[256],string2[256],string3[256],string4[256];
    format(stringtotal,1024,%s%s%s%s,string1,string2,string3,string4);
    mysql_pquery(handle,stringtotal);

  • Ja, entweder via [wiki]format[/wiki] oder halt auch via [wiki]strcat[/wiki]


    Code
    new query[256];
    	format(query,sizeof(query),"SELECT * FROM `database` ");
    	strcat(query, "WHERE `key` = 'value';");
    	mysql_query(query);

    Gibt immer mehrere Wege zum Ziel. In dem Fall wäre aber wohl [wiki]format[/wiki] die klügere Variante.

  • Naja hat auch erstmal so geklappt (ohne Kombination, Platz hat ausgereicht), aber danke für die Tipps, werde ich mir für die Zukunft merken! ^^


    Edit: Neue Frage, wie mache ich sozusagen eine "playerid" für jeden Spieler der online ist?

    SA:MP in 2020?

    Einmal editiert, zuletzt von Anti. ()

  • Wow xD... Ich meine dass ich jetzt irgendwo z.B. in nem public die ID von jedem spieler rausnehmen kann, statt (playerid) halt (everyone) oder so.


    Habs aber glaub ich hinbekommen.


    Code
    for(new i = 0; i < MAX_PLAYERS; i++)
    	{
            }

    SA:MP in 2020?

    Einmal editiert, zuletzt von Anti. ()

  • Habe daraus ein entmute system gemacht, alle 60 sekunden wird 1 Minute "Mute-Zeit" von dem Konto des Gemutetem gelöscht.
    Allerdings, ob es funktioniert weiß ich nicht.


    SA:MP in 2020?

  • public OnGameModeInit()
    {
    SetTimer("unmute", 60000, true);
    return 1;
    }


    forward unmute();
    public unmute()
    {
    new query[256];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(PlayerInfo[i][pMute] > 0)
    {
    mysql_format(handle, query, sizeof(query), "UPDATE accounts SET mute = mute -1 WHERE username = '%s'", DeineUsernameVariable[i]);
    mysql_pquery(handle, query);
    }
    }
    return 1;
    }
    Aber wozu willst du es in alle 60sec in deine Datenbank speichern?
    Um es Ingame zu verwenden, brauchst du es bloß beim Disconnect abspeichern, während er eingeloggt ist, reicht die Variable ;)


    Ohne MySQL:
    public OnGameModeInit()
    {
    SetTimer("unmute", 60000, true);
    return 1;
    }


    forward unmute();
    public unmute()
    {
    new query[256];
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(!IsPlayerConnected(i))continue;
    if(PlayerInfo[i][pMute] > 0)
    {
    PlayerInfo[i][pMute] --;
    }
    }
    return 1;
    }


    Sorry, bei mir werden die Tabs nicht mitkopiert