[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
  • public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    SetSpawnInfo(playerid,0,0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    return 1;
    }


    Der Spieler muss noch gespawnt werden.


    L.G.

  • Das kannste ganz einfach mit einer Array überprüfen, ob er sich gerade einloggt.
    Bsp:
    Nehmen wir mal an du hast bereits eine Spieler Array.
    Fügen wir also zur Liste (enum) noch den Punkt pRequestClass hinzu. (Am besten als boolean)
    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    SetSpawnInfo(playerid,0,0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    PlayerInfo[playerid][pRequestClass] = true; //Gehen wir mal vom Arraynamen PlayerInfo aus.
    return 1;
    }
    Dann musste dein Loginsystem bei OnPlayerSpawn ansetzen.


    L.G.

  • Du kannst ihn bei OnPlayerRequestClass in den den spectator Modus setzen, dann sind die Pfeile weg.
    TogglePlayerSpectating(playerid, 1);


    Und bei der Registrierung/Login wieder zu 0, ohne SpawnPlayer, das wird automatisch gemacht.


    funktioniert so, habe aber schon oft gesehen dass man bei der Registrierung mit der Cam rumfliegt,
    das würde wenn man den Spieler in Spectator setzt nicht gehen oder ?








    bekommt man dann keine Probleme später mal wenn man den Spieler z.b nach dem Krankenhaus einfach spawnen lassen möchte?

  • Kleine Frage:
    Ich wollte im Skript das so einstellen, dass ich Datenbanken von Localhost zur Hauptdatenbank wechseln kann, ohne die Daten immer umzutragen.
    Heißt, wenn ich bei dem Define: SQL_Server von der 0 eine 1 mache, dass die andere Datenbank genommen wird und anders herum.
    Leider kriege ich den Fehlercode, dass ich die Defines mit dem SQL_ Tag ja redefiniert habe und das ist mir bewusst. Aber wie könnte ich das lösen?
    Ich hoffe, jemand könnte mein Vorhaben verstehen. :D ( Jeffry: ? :love: )


    Fehlercode

    warning 201: redefinition of constant/macro (symbol "SQL_HOST")
    warning 201: redefinition of constant/macro (symbol "SQL_USER")
    warning 201: redefinition of constant/macro (symbol "SQL_PASS")
    warning 201: redefinition of constant/macro (symbol "SQL_DATA")


    Code

    //=====================[Datenbank]======================//

    #define SQL_LOG 1
    #define SQL_SERVER 0

    #if SQL_SERVER == 0
    #define SQL_HOST "localhost"
    #define SQL_USER "root"
    #define SQL_PASS "123456"
    #define SQL_DATA "server"
    #define SQL_TAG "server"
    #define BINDIP "127.0.0.1"
    #if SQL_SERVER == 1
    #define SQL_HOST "-"
    #define SQL_USER "-"
    #define SQL_PASS "-"
    #define SQL_DATA "-"
    #define SQL_TAG "-"
    #define BINDIP "-"
    #endif

  • Apokrate:
    new query[128];
    format(query, sizeof(query), "SELECT `username` FROM `user` WHERE `IP` = '%s'" , pID);
    mysql_query(dbhandle, query);


    @Voxa:
    So wie das aussieht hast du es bereits irgendwo schonmal definiert, schau da mal nach.
    Und ändere:
    #if SQL_SERVER == 1
    zu:
    #elseif SQL_SERVER == 1

  • Aber bis zu welcher Anzahl denkt ihr ist es unproblematisch


    Bis zum Limit der maximal erstellbar und anzeigbarer Textdraws. Ich hatte das Limit einmal testweise ausgeschöpft und alle auf einmal angezeigt. Das hat zwar kurz gedauert, ein zwei Sekunden, aber ansonsten gab es keine Probleme.
    http://wiki.sa-mp.com/wiki/Limits


    GTA SA braucht ja an sich kaum Grafik Leistung, ich denke nicht, dass es da bei den heutigen Rechnern zu Problemen kommt.

  • SpielerInfo[playerid][sAdminlevel] = cache_get_field_content_int(0, "Adminlevel", handle), SpielerInfo[playerid][sAdminlevel];


    C:\Users\Eddy\Desktop\r\gamemodes\NLG.pwn(658) : warning 215: expression has no effect
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Wäre echt toll, wenn mir jemand helfen könnte.

  • Beitrag von Apokrate ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.