Hilfe beim Pawn-Einstieg (Fragen)

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 lerne Pawn seit gestern. Ich bin dabei ein komplexes TDM aufzubauen. Es geht auch einigermaßen gut, aber vom Endstand sind es noch Welten entfernt. Aufjedenfall, habe ich die Skins zu ihren Teams zugewiesen, per "AddPlayerClassEx". Es funktionierte alles. Anschließend wollte ich Schriftangaben den Charackteren / Teams zuordnen, damit meine ich die Teams / Characktere bei der Auswahl am Anfang, vor dem spawnen. Ich hoffe ihr versteht mich. Ich habe es auch geschafft und habe die Schriftart eingestellt und anschließend die Zeit auf 24 Stunden gestellt, damit die Schrift bei der Auswahl nicht verschwindet, es geht auch alles. Nur will ich jetzt, dass es nach dem spawnen verschwindet, soweit ich weiß muss es unter "OnPlayerSpawn", doch ich kenn den Befehl / die Funktion nicht. Ich hoffe ihr könnt mir helfen.


    Mein Script:


    new team = GetPlayerTeam(playerid);
    switch(team)
    {
    case 1:
    {
    GameTextForPlayer(playerid, "~g~Grove Street", 86400000, 4); // Die Schirftangabe für Team 1.
    }
    case 2:
    {
    GameTextForPlayer(playerid, "~p~Ballas", 86400000, 4); // Die Schirftangabe für Team 2.
    }
    case 3:
    {
    GameTextForPlayer(playerid, "~b~~h~Varrios Los Aztecas", 86400000, 4); // Die Schirftangabe für Team 3.
    }
    case 4:
    {
    GameTextForPlayer(playerid, "~y~Los Santos Vagos", 86400000, 4); // Die Schirftangabe für Team 4.
    }
    }
    return 1;
    }

  • erst eine globale variable:
    new PlayerSpawned[MAX_PLAYERS];
    erstelle eine timer funktion:
    public PlayerTextTimer(){new i;for(i = 0; i < MAX_PLAYERS; i++) {if(IsPlayerConnected(i) && PlayerSpawned[i]==0) {// hier dein schon geschriebener code... zeit auf 1000 setzen!}}}



    dann in OnGameModeInit
    SetTimer("PlayerTextTimer",1000,true);


    und in der spawn:
    PlayerSpawned[playerid];



    theoretisch sollte es so gehen!

    Einmal editiert, zuletzt von Payla$ici ()

  • Schwachsinn den du da schreibst. Hol dir deine Posts wo anders :thumbdown:


    BTT: Also eine funktion die das "Deaktiviert" gibt es soweit ich weiss nicht. Aber du kannst ja beim Spawnen (also unter OnPlayerSpawn) einfach kurtz einen leeren gametext einblenden lassen. Da immer nur ein gametext gleichzeitig möglich ist sollte somit der alte verschwinden.
    Beispielsweise so:
    GameTextForPlayer(playerid, "", 1, 4);


    Mfg.

    The fact is, I am right. And if you think I'm wrong, you are wrong.

  • Schwachsinn den du da schreibst. Hol dir deine Posts wo anders :thumbdown:


    BTT: Also eine funktion die das "Deaktiviert" gibt es soweit ich weiss nicht. Aber du kannst ja beim Spawnen (also unter OnPlayerSpawn) einfach kurtz einen leeren gametext einblenden lassen. Da immer nur ein gametext gleichzeitig möglich ist sollte somit der alte verschwinden.
    Beispielsweise so:
    GameTextForPlayer(playerid, "", 1, 4);


    Mfg.