Hallo, ich habe ein Problem beim OnPlayerKeyStateChange.
Ich habe ein SkinAuswahl System, wenn man sich registriert dass man nen Skin aussuchen kann.
Sollte alles wunderbar klappen, doch egal welche Taste ich drücke die Einführung in den Server geht weiter.
Bei Leertaste soll man zum nächsten Skin gehen können, und bei drücken von Alt soll man den Skin auswählen können.
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if(SkinAuswahl[playerid] == 1)
{
if(newkeys && KEY_SPRINT)
{
if(GetPlayerSkin(playerid) == 2)
{
SetPlayerSkin(playerid,7);
Spieler[playerid][Skin] = 7;
}
else if(GetPlayerSkin(playerid) == 7)
{
SetPlayerSkin(playerid,20);
Spieler[playerid][Skin] = 20;
}
else if(GetPlayerSkin(playerid) == 20)
{
SetPlayerSkin(playerid,21);
Spieler[playerid][Skin] = 21;
}
else if(GetPlayerSkin(playerid) == 21)
{
SetPlayerSkin(playerid,22);
Spieler[playerid][Skin] = 22;
}
else if(GetPlayerSkin(playerid) == 22)
{
SetPlayerSkin(playerid,23);
Spieler[playerid][Skin] = 23;
}
else if(GetPlayerSkin(playerid) == 23)
{
SetPlayerSkin(playerid,24);
Spieler[playerid][Skin] = 24;
}
else if(GetPlayerSkin(playerid) == 24)
{
SetPlayerSkin(playerid,25);
Spieler[playerid][Skin] = 25;
}
else if(GetPlayerSkin(playerid) == 25)
{
SetPlayerSkin(playerid,2);
Spieler[playerid][Skin] = 2;
}
else if(GetPlayerSkin(playerid) == 11)
{
SetPlayerSkin(playerid,12);
Spieler[playerid][Skin] = 12;
}
else if(GetPlayerSkin(playerid) == 12)
{
SetPlayerSkin(playerid,40);
Spieler[playerid][Skin] = 40;
}
else if(GetPlayerSkin(playerid) == 40)
{
SetPlayerSkin(playerid,41);
Spieler[playerid][Skin] = 41;
}
else if(GetPlayerSkin(playerid) == 41)
{
SetPlayerSkin(playerid,55);
Spieler[playerid][Skin] = 55;
}
else if(GetPlayerSkin(playerid) == 55)
{
SetPlayerSkin(playerid,93);
Spieler[playerid][Skin] = 93;
}
else if(GetPlayerSkin(playerid) == 93)
{
SetPlayerSkin(playerid,11);
Spieler[playerid][Skin] = 11;
}
}
}
if(SkinAuswahl[playerid] == 1)
{
if(newkeys && KEY_WALK)
{
SkinAuswahl[playerid] = 0;
SendClientMessage(playerid,COLOR_WHITE,"Ah du hast also eine Entscheidung getroffen, freut mich.");
SendClientMessage(playerid,COLOR_WHITE,"Wenn du nochmal hierher kommen möchtest kannst du es jederzeit tuhen.");
SendClientMessage(playerid,COLOR_WHITE,"Als nächstes zeige ich dir das Rathaus. Dort kannst du viel erledigen!");
SetTimer("TutorialTimer3",5000,0);
return 1;
}
}
return 1;
}
Und mein anderes Problem ist, wenn man gespawnt ist kann ich kein SetCameraPos verwenden.
Nachder Registrierung soll er mich spawnen und dann sofort die Camera ändern und PlayerPos usw.
Aber er bleibt stur stehen:
// Register Dialog ausschnitt
SendClientMessage(playerid,COLOR_WHITE,"Bitte warte einen Moment ... Du wirst gleich in unseren Server eingeführt.");
SetTimer("TutorialTimer1",5000,0);
SetSpawnInfo(playerid,0,Spieler[playerid][Skin],1481.7762,-1756.8540,17.5313,1.9429,0,0,0,0,0,0);
SpawnPlayer(playerid);
SetPlayerInterior(playerid,0);
SetPlayerCameraPos(playerid,1508.0508,-1629.8694,86.9975);
SetPlayerCameraLookAt(playerid,1484.7372,-1771.2896,18.7958);
SetPlayerPos(playerid,1507.3564,-1673.4028,14.0469);