Guten Morgen Community =)
Ich will auf meinem Reallife-Server, dass wenn man sich registriert, man zuerst mit einem Zug in die Stadt fährt (So als Beginn).
Deshalb habe ich einen Bot erstellt, welcher einen Zug nach LS fährt.
Der Bot Connected, sobald sich jemand registriert und danach soll er wieder disconnecten bzw. der Record soll bei jeder Registierung von vorne beginnen.
Nun habe ich dabei 2 Fragen bzw. Probleme:
1.Frage:
Wie kann ich einen Record "neustarten" oder den Bot disconnecten lassen?
-> Im Moment connected der Bot, sobald sich jemand registrieren muss. (Da er so bestimmt die ganze Strecke fährt). Ansonsten kann es sein, dass der Zug die halbe Strecke bereits gefahren hat und das möchte ich nicht
Code:
{
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname, sizeof(botname));
if(!strcmp(botname,"Zugchaffeur", true))
{
SpawnPlayer(playerid);
return 1;
}
}
else
{
new spieler[64];
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(spieler,sizeof(spieler),"/Accounts/%s.txt",name);
if(dini_Exists(spieler))
{
ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"Login","Bitte gib dein Passwort ein:","Login","Abbrechen");
}
else
{
ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Bitte gib ein Passwort ein:","Registrieren","Abbrechen");
ConnectNPC("Zugchaffeur","AnfangZug");
}
}
return 1;
}
2.Problem:
Nun sobald der Spieler "spawnt" soll er den Zug verfolgen und dann kommt ein kleines Intro.
Später kommt er dann in LS an und spawnt da.
Die Zugverfolgung habe ich mit PlayerSpectateVehicle ausgeführt. Doch wenn ich nun spawne, dann ist die Kamera irgendwo im nichts....
Was mache ich falsch?
Code:
public OnGameModeInit()
//NPC-Bot
AZug = SetVehicleVirtualWorld(AddStaticVehicle(538, -1948.1641,138.9634,25.7109,179.0464, 1, 1),7);
{
if(IsPlayerNPC(playerid))
{
new botname[MAX_PLAYER_NAME];
GetPlayerName(playerid,botname,sizeof(botname));
if(!strcmp(botname,"Zugchaffeur", true))
{
SetPlayerVirtualWorld(playerid,7);
PutPlayerInVehicle(playerid,AZug,0);
return 1;
}
}
else
{
if(Daten[playerid][Registriert] == 0)
{
rtext = 1;
SetPlayerVirtualWorld(playerid, 7);
TogglePlayerSpectating(playerid, 1);
PlayerSpectateVehicle(playerid,AZug,SPECTATE_MODE_SIDE);
rtimer = SetTimer("registrierung",20000,1);
return 1;
}
//Registerierung
public registrierung(playerid)
{
if(rtext == 1)
{
SendClientMessage(playerid,weiss," 1 ");
rtext=2;
return 1;
}
else if(rtext == 2)
{
SendClientMessage(playerid,weiss," 2 ");
rtext=3;
return 1;
}
else if(rtext == 3)
{
SendClientMessage(playerid,weiss," 3 ");
rtext=4;
return 1;
}
else if(rtext == 4)
{
TogglePlayerSpectating(playerid, 0);
SetPlayerVirtualWorld(playerid,1);
SetPlayerPos(playerid,800.8849,-1349.8745,-0.8978);//Spawnpunkt
SetPlayerFacingAngle(playerid,321.3059);
SetCameraBehindPlayer(playerid);
KillTimer(rtimer);
rtext= 0;
Daten[playerid][Registriert] = 1;
Speichern(playerid);
return 1;
}
return 1;
}
gez.
Hund