Das ist etwas komplizierter, da man beim Spawnen nicht die Klasse weiss, die der Spieler ausgewählt hat.
Deshalb muss man dafür eine extra Variable anlegen.
Heisst also,du legst eine Variable ( zb. Player_Class[MAX_PLAYERS] )für jeden Spieler an,die speichert,welche Klasse ausgewählt wurde.Dieser Variable weisst du dann die "classid" zu, immer wenn sich eine neue Klasse angeschaut wird ( OnPlayerRequestClass).
Wenn der Spieler nun spawnt,OnPlayerSpawn, überprüfst du ob die Spielerklasse ( Player_Class ) der Klasse entspricht, die nun im Interior spawnen soll. Ist das der Fall,setzt du ihn ins Interior.
new
class_First,
class_Second,
class_Third;
new
PlayerClass[MAX_PLAYERS];
public OnGameModeInit()
{
// ... Beispiel Klassen
class_First = AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // Nicht im Interior
class_Second = AddPlayerClass(102, 286.800995 , -82.547600, 1001.539978, 269.1425, 0, 0, 0, 0, 0, 0); // Interior
class_Third = AddPlayerClass(106, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0); // Nicht im Interior
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
// ...
PlayerClass[playerid] = classid;
return 1;
}
public OnPlayerSpawn(playerid) {
if( PlayerClass[playerid] == class_Second ) {
// Soll im Interior spawnen!
SetPlayerInterior(playerid,4);
}
// ...
}