Hey, ihr Scripter!
Ich hab ein Problem, ich möchte bei der Skinauswahl abfragen, zu welchem Team playerid gehört und dann
dementprechend den Spawn zulassen oder verhindern.
Also playerid ist im gTeam Ballas und versucht beispielsweise als Zivilist oder Grove zu spawnen, aber dies wird verhindert, da playerid nicht
zu diesem gTeam gehört.
Hab schon ne Menge versucht, wollte aber nicht klappen.
Hier mal meine Zeilen:
enum Info
{
AdminLevel,
Leader,
Fraktion,
sex,
age,
logged,
}
public OnPlayerRequestClass(playerid, classid)
{
SetPlayerPos(playerid,1738.9098,-1948.2825,14.1172);
SetPlayerFacingAngle(playerid,177.2759);
SetPlayerCameraPos(playerid,1738.9277,-1951.4822,14.1172);
SetPlayerCameraLookAt(playerid,1738.9098,-1948.2825,14.1172);
switch(classid)
{
case 0,1,2,3,4,5: gTeam[playerid] = TEAM_GROVE, GameTextForPlayer(playerid,"~g~Grove Street Families",500,3);
case 6,7,8: gTeam[playerid] = TEAM_BALLAS, GameTextForPlayer(playerid,"~p~Jefferson 82 Ballas",500,3);
case 9,10,11: gTeam[playerid] = TEAM_VAGOS, GameTextForPlayer(playerid,"~y~Los Santos Vagos",500,3);
case 12,13,14,15,16,17,18,19: gTeam[playerid] = TEAM_COPS, GameTextForPlayer(playerid,"~w~Cops",500,3);
case 20,21,22: gTeam[playerid] = TEAM_AZTECAS, GameTextForPlayer(playerid,"~b~Varrios Los Aztecas",500,3);
case 23,24,25,26,27: gTeam[playerid] = TEAM_TRIADEN, GameTextForPlayer(playerid,"~r~Triaden",500,3);
default: gTeam[playerid] = TEAM_ZIVILISTEN, GameTextForPlayer(playerid,"~w~Zivilisten",500,3);
}
return 1;
}
public OnPlayerSpawn(playerid)
{
clock();
if(gTeam[playerid] == TEAM_COPS)
{
SetPlayerPos(playerid,1568.7911,-1691.0333,5.8906);
}
else if(gTeam[playerid] == TEAM_GROVE )
{
SetPlayerPos(playerid,2496.0425,-1694.8163,1014.7422);
SetPlayerInterior(playerid,3);
SetPlayerVirtualWorld(playerid,39);
SetPlayerFacingAngle(playerid,0.9302);
}
else if(gTeam[playerid] == TEAM_BALLAS )
{
SetPlayerPos(playerid,318.564971,1118.209960,1083.882812);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid,40);
}
else if(gTeam[playerid] == TEAM_VAGOS )
{
SetPlayerPos(playerid,244.7236,305.0915,999.1484);
SetPlayerInterior(playerid,1);
SetPlayerVirtualWorld(playerid,41);
SetPlayerFacingAngle(playerid,89.1031);
}
else if(gTeam[playerid] == TEAM_AZTECAS)
{
SetPlayerPos(playerid,2466.2881,-1698.2965,1013.5078);
SetPlayerInterior(playerid,2);
SetPlayerVirtualWorld(playerid,42);
SetPlayerFacingAngle(playerid,271.8825);
}
else if(gTeam[playerid] == TEAM_TRIADEN)
{
SetPlayerPos(playerid,1271.7618,-781.2479,1089.9375);
SetPlayerInterior(playerid,5);
SetPlayerVirtualWorld(playerid,43);
SetPlayerFacingAngle(playerid,91.5889);
}
return 1;
}
Hab jetzt mal die betroffenen Zeilen gepostet, jedenfalls denke ich das.
Wäre schön, wenn mir einer einen Tipp geben kann.
Hab alles mögliche versucht, Fraktion mit dini_Int vorher geladen und alle AddPlayerClass Zeilen bei OnPlayerRequestClass eingefügt und vorher das
geladene gTeam [dini_Int] abgefragt etc.
Wollte alles nicht funktionieren.
Die Skinauswal war dann einfach verbuggt..vielleicht ist hier ja ein erfahrener Scripter, der helfen kann.
mfG
Walker