Namen ändern beim betretten von Autos

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
  • Guten Tag liebe sa-mp.de Community, ich wollte mal gewusst haben wie man machen kann das wenn man in ein gewisses Auto einsteigt das sich dan der Namen ändert & beim verlassen des Autos, wieder zurück ändert.
    Geht das? Wenn ja hätte jemand für mich einen Schnipsel?





    MfG,
    Fabian™!


  • public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    new pName[MAX_PLAYER_NAME];
    new string[128];
    GetPlayerName(playerid,pName,24);
    format(string,128,"",pName);
    SetPlayerName(playerid,"%s[Hier kommt dein Text hin]);
    return 1;
    }

    Nicht getestet sollte aber klappen ;)


  • Jetzt ist es aber nicht bei einem bestimmten Fahrzeug, sondern bei jedem.




    MfG,
    Fabian™!


  • new name1[MAX_PLAYER_NAME][MAX_PLAYERS];
    new testcar;


    testcar = CreateVehicle ....


    public OnPlayerEnterVehicle
    {
    if(vehicleid == testcar)
    {
    GetPlayerName(playerid,name1[playerid],MAX_PLAYER_NAME);
    SetPlayerName(playerid,"beispielsname");
    }
    }
    public OnPlayerExitVehicle
    {
    SetPlayerName(playerid,name1[playerid]);
    }

    Weis nicht, ob das so geht. Ich muss es auch nie benutzen :D


  • Das hört sich gut an, werde es mal testen!


    @Pinguin|Pwn: Wenn ich den alten Namen auch verwenden will muss es doch eig. so gehen, oder?
    SetPlayerName(playerid,"[TEST]%d",GetPlayerName(playerid));
    Und wenn der Spieler das Fahrzeug wieder verlässt wie kann ich den alten Namen wieder zurückgeben?



    MfG,
    Fabian™!


    Einmal editiert, zuletzt von Fabian™ ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Probier es doch einfach so, wie ich es geschrieben habe :)
    Dort wird der alte Name doch in eine Variable geschrieben und anschließend geändert.


    Wenn er aus dem Fahrzeug aussteigt, bekommt er den Namen, der in der Variable gespeichert wurde.
    Punkt ende aus :D


    Funktioniert leider nicht so wie ich das will.
    Den eigentlich will ich das es so steht


    EnterVehicle
    [TEST]SPIELERNAME


    ExitVehicle
    SPIELERNAME


    Ich bekomm jedoch warnings wenn ich [TEST] hinschreibe & der Namen wird dan gar nicht geändert.


    #edit: Hab es immernoch nicht hinbekommen wäre nun auch auf dem TS3 wenn mir jemand helfen könnte.
    MfG,
    Fabian™!


    Einmal editiert, zuletzt von Fabian™ ()

  • Global:


    PlayerName[MAX_PLAYERS][MAX_PLAYER_NAME+1]; // Hier speicherst du die Namen, die du änderst.


    OnPlayerEnterVehicle(...)
    {
    if(vehicleid == ....) {
    new nName[MAX_PLAYER_NAME+1];
    GetPlayerName(playerid, PlayerName[playerid], sizeof(PlayerName[playerid]));
    format(nName, sizeof(nName), "[TEST]%s", PlayerName[playerid]);
    SetPlayerName(playerid, nName);
    }
    return 1;
    }


    OnPlayerExitVehicle(....)
    {
    SetPlayerName(playerid, PlayerName[playerid]);
    return 1;
    }


    Zwar ungetestet, sollte aber so funken.


    Gruß,
    Neo. :)