[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
  • Hallo,


    Ich habe das Problem wen ich jetzt den report annehme könn wir nicht antworten.


    /sup Text (Admin) genauso auch für User das er /sup eingibt und dann den text aber das klappt iwie nicht?

  • der Liebe @Jeffry hatte doch mal ein Stock Geschrieben um das Geburtsjahr auszulesen.
    Sprich, das man bei der Registration so ein Format nutzen musste: 01.01.1990, hat dies vielleicht noch einer oder kann mir die Funktion
    zukommen lassen?

    GetPlayerAge:
    Nützliche Codeschnipsel



    Wie macht man es, dass man beim Login/Register die Spawn Taste nicht benutzen kann... also da nix passiert?

    return 0 bei http://wiki.sa-mp.com/wiki/OnPlayerRequestSpawn

  • Habe ne Frage :D


    Wie wende ich meine binaersuchfunktion an wenn ich beispielsweise nur in der ersten Dimension meines Arrays suchen will?


    Beispiel Array[][]={
    {12,"blah"},
    {13,"blah2"}
    }
    Wenn ich z.B. nach der 13 suchen will


    Und wie kann ich bei nem Float beim printen die Nachkommastellen begrenzen?

    Einmal editiert, zuletzt von Sub Royal ()

  • stock ClearPlayerChat(playerid, counts)
    {
    for(new i = 0; i < counts; i++)
    SendClientMessage(playerid, COLOR_WEIS, " ");
    return 1;
    }


    Code
    C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\Script.pwn(390) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase
    
    
    
    
    1 Error.
  • Beitrag von Dr. Frauenarzt ()

    Dieser Beitrag wurde vom Autor gelöscht ().
  • Kurze Frage, Problem liegt wo? Schon zu spät für mich...


    array must be indexed (variable "inputtext")



    case DIALOG_WERBETAFELNSEARCH:
    {
    if(response)
    {
    if(strlen(inputtext) && IsNumeric(inputtext))
    {
    if(inputtext<0||inputtext>(MAX_WERBETAFELN)-1)
    {
    format(DialogString, sizeof(DialogString),""COLOR_HEX_YELLOW"Diese Werbetafeln ID existiert nicht\n\n"COLOR_HEX_WHITE"Du hast hier die Möglichkeit, eine bestimmte Werbetafel auf der Karte anzeigen zu lassen.\n\nBitte gebe die ID der gesuchten Werbetafel ein:\n"COLOR_HEX_SERVER"Info"COLOR_HEX_WHITE": Nutze die Übersicht der Werbetafeln, um die ID zu finden.");
    ShowPlayerDialog(playerid, DIALOG_WERBETAFELNSEARCH, DIALOG_STYLE_INPUT, ""COLOR_HEX_SERVER""#SERVER_NAME""COLOR_HEX_WHITE": Werbetafeln", DialogString, "Bestätigen", "Abbrechen");
    return 1;
    }
    new string[128];
    if(IsPlayerInRangeOfPoint(playerid,20.0,Werbetafeln[inputtext][wtafelx],Werbetafeln[inputtext][wtafely],Werbetafeln[inputtext][wtafelz]))return SendClientMessage(playerid,COLOR_GREY,"Du bist bereits an der angegebenen Werbetafel!");
    format(string,sizeof(string),"Die Werbetafel %i wurde auf deiner Karte markiert.",inputtext);
    SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
    SetPlayerCheckpointEx(playerid, Werbetafeln[inputtext][wtafelx],Werbetafeln[inputtext][wtafely],Werbetafeln[inputtext][wtafelz], 4.0, CP_WERBETAFEL, INVALID_CHECKPOINT_TYPE);
    }
    else
    {
    format(DialogString, sizeof(DialogString),""COLOR_HEX_WHITE"Du hast hier die Möglichkeit, eine bestimmte Werbetafel auf der Karte anzeigen zu lassen.\n\nBitte gebe die ID der gesuchten Werbetafel ein:\n"COLOR_HEX_SERVER"Info"COLOR_HEX_WHITE": Nutze die Übersicht der Werbetafeln, um die ID zu finden.");
    ShowPlayerDialog(playerid, DIALOG_WERBETAFELNSEARCH, DIALOG_STYLE_INPUT, ""COLOR_HEX_SERVER""#SERVER_NAME""COLOR_HEX_WHITE": Werbetafeln", DialogString, "Bestätigen", "Abbrechen");
    return 1;
    }
    }
    }

  • C:\Users\Marcel\Desktop\SAMP Projekt\Server\gamemodes\Script.pwn(390) : error 035: argument type mismatch (argument 2)

    Bitte die Zeile im Code markieren.



    if(inputtext<0||inputtext>(MAX_WERBETAFELN)-1)

    zu:
    if(strval(inputtext)<0||strval(inputtext)>=MAX_WERBETAFELN)


    Wie wende ich meine binaersuchfunktion an wenn ich beispielsweise nur in der ersten Dimension meines Arrays suchen will?

    stock binarysearch2(a[][],idx,key,l,r)
    {
    new k;
    while(r >=l)
    {
    k = (l+r)/2;
    if(key == a[k][idx])
    {
    return k;
    }
    if(key < a[k][idx])
    {
    r = k-1;
    }
    else
    {
    l= k+1;
    }
    }
    return -1;
    }
    Bei "idx" dann den Index mit geben, in dem Fall also die 0, für den ersten Index.


    Und wie kann ich bei nem Float beim printen die Nachkommastellen begrenzen?

    %0.2f
    = 2 Nachkommastellen

  • Hey ich wollte gerade mein Script auf mein Server laden aber iwie funktioniert es doch nicht



    Code
    #define MYSQL_HOST "localhost"
    #define MYSQL_USER "samp"
    #define MYSQL_PASS "test123"
    #define MYSQL_DBSE "testdb"



    OnGameMode

    Code
    MySQL_SetupConnection();





    //Edit
    In den Ordner mit den Mysql Logs steht auch nichts drinne


    //Edit
    @Jeffry:

  • Probiers mal so



    stock MySQL_SetupConnection(ttl = 3)
    {
    print("[MySQL] Verbindungsaufbau...");



    switch(GetServerVarAsInt("port"))
    {
    case 7777:
    {
    mysql_log(ALL);
    handle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_DBSE);
    }
    }
    //Prüfen und gegebenenfalls wiederholen
    if(mysql_errno(handle) != 0)
    {
    //Fehler im Verbindungsaufbau, prüfe ob ein weiterer Versuch gestartet werden soll
    if(ttl > 1)
    {
    //Versuche erneut eine Verbindung aufzubauen
    print("[MySQL] Es konnte keine Verbindung zur Datenbank hergestellt werden.");
    printf("[MySQL] Starte neuen Verbindungsversuch (TTL: %d).", ttl-1);
    return MySQL_SetupConnection(ttl-1);
    }
    else
    {
    //Abbrechen und Server schließen
    print("[MySQL] Es konnte keine Verbindung zur Datenbank hergestellt werden.");
    print("[MySQL] Bitte prüfen Sie die Verbindungsdaten.");
    print("[MySQL] Der Server wird heruntergefahren.");
    return SendRconCommand("exit");
    }
    }
    printf("[MySQL] Die Verbindung zur Datenbank wurde erfolgreich hergestellt! Handle: %d", _:handle);
    return 1;
    }

  • Wie z.B. bei einem Kofferraum System.

    Da kannst du einen Trick anwenden und einfach prüfen ob der Spieler ungefähr die selbe ZAngle wie das Auto hat :)


    //Edit: So..

    ast2ufdyxkb1.png


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

    Einmal editiert, zuletzt von Kaliber ()

  • Gibt es eigentlich nen Fix fuer das Nightvision Goggles Problem in SA;MP? Habe viele Freds in Google gefunden die auf das englischen SAMP Forum verweisen, aber beim Aufruf scheinen die Themen zwischenzeitlich geloescht zu sein.


    Weiterhin habe ich hier Bedingungen um zu pruefen ob nur noch 1 Team verbleibt auf dem Server, bzw. nur noch 1 Team am leben ist um den Sieger festzustellen.
    Kann ich das eventuell anders darstellen? Weil so ist es pott haesslich


    Kann man dafuer eventuell ne Funktion schreiben? Leider habe ich keinen Ansatz dafuer

    2 Mal editiert, zuletzt von Sub Royal ()

  • Erstmal um den Code schöner zu machen würde ich einen Switch empfehlen.

    Wie kann ich das machen bzw. wie kann ich das in den cases pruefen?


    Letztendlich sind das ueber 200 Zeilen nur um zu schauen ob in den anderen Teams Gegner verbleiben :D bei 6 Teams


    Spieler die nicht mehr Leben werden in ein Team TEAM_SPECTATOR gebracht, daher bin ich am ueberlegen ob es eventuell einfachere Moeglichkeiten gibt.
    Habe gedacht vielleicht schauen, wieviele Spieler im Server sind, wieviele davon TEAM_SPECTATOR, und wieviele dann in welchem Team sind
    KA haha

  • Also, wenn du TEAM_FIRST als 0 deklariert hast, kannst du es folgendermaßen verkürzen:


    ast2ufdyxkb1.png


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

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen