OnPlayerRequestClass - Zuweisen von Teams klappt nicht

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 Abend Community,


    Ich würde gerne wissen, wo genau mein Fehler liegt und was ich falsch mache. Ich habe die Teams erst mal definiert:


    Code
    #define NEWS_SPAWN 0
    #define MEDIC_SPAWN 1



    Die Classes sind somit auch zugeordnet:


    Code
    AddPlayerClassEx(0,17,-1943.0679,464.5478,35.1719,356.3640,0,0,0,0,0,0); // Newsreporter
    	AddPlayerClassEx(0,24,-1917.6564,487.4367,35.1719,89.4119,0,0,0,0,0,0); // Newsreporter
    	AddPlayerClassEx(0,40,-1943.0458,510.2448,35.1719,176.6382,0,0,0,0,0,0); // Newsreporter
    
    
    	AddPlayerClassEx(1,308,-2706.6440,610.9225,14.4531,270.5249,0,0,0,0,0,0); // Medic
    	AddPlayerClassEx(1,276,-2677.0667,616.4374,14.4531,178.7173,0,0,0,0,0,0); // Medic
    	AddPlayerClassEx(1,275,-2693.0647,636.0339,14.4531,179.6807,0,0,0,0,0,0); // Medic


    Und bei OnPlayerRequestClass, sollte die Farbe zu jeder Gruppe zugewiesen werden. Sowie bei der Auswahl der Skins die Beschreibung hinzugefügt werden zu was er gehört (News/Medic)



    Eigentlich von der Logik her sollte es doch funktionieren, oder nicht? Wenn ich compile, bekomme ich keine Fehler, doch wenn ich eine Class auswähle, wird mir der Falsche GameText angezeigt..


    Einen Rat bitte was ich nicht beachtet habe?

  • Einen Rat bitte was ich nicht beachtet habe?

    Die classid ist die ID, die AddPlayerClassEx zurück gibt, also der return Wert.


    Damit muss es so aussehen:
    switch(classid)
    {
    case 0..2:
    {
    GameTextForPlayer(playerid, "~g~Paramedic", 6000, 4);
    SetPlayerColor(playerid, 0x0000FFFF);
    }
    case 3..5:
    {
    GameTextForPlayer(playerid, "~g~Newsreporter", 6000, 4);
    SetPlayerColor(playerid, 0x0000FF00);
    }
    }



    Was du bei AddPlayerClassEx als 0 und 1 angegeben hast, ist die teamid (SetPlayerTeam/GetPlayerTeam).

  • Danke Jeffry.


    Muss ich das 'case' zu jeder einzelnen Class angeben die ich bei AddPlayerClassEx stehen habe? Und das in der richtigen Reihenfolge? Das heißt quasi bei meinem Beispiel case 0, 1, 2 sind Reporter und 3,4,5 sind Medics?


    Edit: Ich habs hinbekommen und verstanden. Vielen Dank! :)

    Einmal editiert, zuletzt von PeRable ()