Hallo ich bins schon wieder..^^
Ich wollte etwas erstellen, damit der Player beim ersten Login (also nach dem Register) eine Meldung + Geld erhält und am Airport spawnt.
Allerdings kommt es zu schweren Bugs, zB. werden die $500 immer wieder vergeben oder schlimmer - die Spieler können sich gegenseitig nicht mehr sehen!
So habe ich es gemacht:
new FirstSpawn[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
. . .
if(FirstSpawn[playerid] == 1)
{
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, 1446.4323,-2287.0105,13.5469);
SetPlayerFacingAngle(playerid, 90.0);
SetCameraBehindPlayer(playerid);
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SendClientMessage(playerid, grün, "Als kleine Starthilfe hast du $500 bekommen.");
SendClientMessage(playerid, grün, "Viel Spaß auf dem Server!");
GivePlayerMoney(playerid, 500);
FirstSpawn[playerid] = 0;
}
...
if (strcmp(cmd, "/register", true)==0)
{
. . .
FirstSpawn[playerid] = 0;
Dann wollte ich noch eine Nachricht einfügen, dass wenn jemand an einer Telefonzelle ist, dann eine Nachricht erscheint. Allerdings kommt keine
Mein Code:
forward IsAtTankstelle();
public OnGameModeInit()
{
. . .
SetTimer("IsAtTankstelle", 500, 1);
. . .
public IsAtTelefonzelle()
{
for(new playerid=0; playerid<GetMaxPlayers(); playerid++)
{
if(PlayerToPoint(1, playerid, 1450.1318,-2283.4863,13.5469))
{
SendClientMessage(playerid, grau, "Du bist an einer Telefonzelle.");
SendClientMessage(playerid, grau, "Von hier aus kannst du bald andere Leute anrufen.");
return 1;
}
}
return 1;
}
Ich habe jetz wirklich lange an diesen Problemen gesessen..
mfg
surrender