Hier z.B. unter "OnPlayerConnect (playerid)" kriege ich einen Error, das playerid undefiniert sei. :o
PlayerPlaySound(playerid, 1062, 1418.9424,-1629.9061,54.6056);
Woran liegt das bitte?
Hier z.B. unter "OnPlayerConnect (playerid)" kriege ich einen Error, das playerid undefiniert sei. :o
PlayerPlaySound(playerid, 1062, 1418.9424,-1629.9061,54.6056);
Woran liegt das bitte?
Ich weiß nicht was du hast bei mir funktioniert der Code einwandfrei.
MFG RFT
Wo lässt du die Funktion aufrufen?
public OnPlayerConnect(playerid)
{
new connector[MAX_PLAYERS];
GetPlayerName(playerid,connector,sizeof connector);
SendClientMessageToAll(COLOR_GREEN,"[Betreten] %s hat den Server betreten!",connector);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
SetTimerEx("PayDay",60000,1,"i",playerid);
SetTimerEx("setOfficerEquipment", false, 7*1000, "dd", playerid, 1);
SetTimerEx("setOfficerEquipment", false, 10*1000, "dd", playerid, 0);
SetPlayerCameraPos(playerid,1418.9424,-1629.9061,54.6056);
SetPlayerCameraLookAt(playerid,1480.6212,-1748.4795,15.4453);
PlayerPlaySound(playerid, 1062, 1418.9424,-1629.9061,54.6056);
TicketZeile[playerid] = 0;
SupportTicket[playerid] = 0;
TicketAngenommen[playerid] = 0;
DeinSupport[playerid] = 0;
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
PlayerPlaySound(playerid, 1176, 0.0, 0.0, 0.0);
format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
if(fexist(accFormat))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"{FF0000}Login","{FF7700}Login erforderlich:","{FFCC00}Login!","{FFCC00}Zurück");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"{FF0000}Register","{FF7700}Registrierung erforderlich:","{FFCC00}Registrieren","{FFCC00}Zurück");
}
return 1;
}
Der auch?
Das ist der gesamte OnPlayerConnect.
Klappt der bei dir auch?
Jop nur das bei mir die Farbe COLOR_GREEN und die Textdraws nicht definiert sind.
MFG RFT
new pname[MAX_PLAYERS],accFormat[128];
Die Größe darf nicht MAX_PLAYERS, sondern MAX_PLAYER_NAME sein.
Nur als Hinweis.
Dürfte auch MAX_PLAYERS sein.
MAX_PLAYERS = 500 unterstützt SA-MP ohne Probleme.
Ist aber sehr unschonend wenn dort nur ein Name rein soll.
Wenns eine Variable für mehrere Spieler sind dann halt
new pName[MAX_PLAYERS][24];
Die Variable hat dann aber nix unter OnPlayerConnect zu suchen.
Hae?
Dann habe ich einen Klammerfehler.
Das komische nur.
Ich habe soeben mal das Script teil für teil kopiert um herauszufinden wo der Klammerfehler ist.
Ich habe kopiert und bevor ich das OnPlayerConnect reinmachte, hatte ich nur 8, jetzt habe ich 26 Errors.
Da steht immer alles undefiniert "playerid". :o
Dann schau mal ob irgendwo eine "{" oder eine "}" fehlt.
Vor oder nach dem Callback.
Ich entdecke dort keinen Klammer Fehler.
Vielleicht in einem anderen Callback oder eine Funktion.
MFG RFT
public OnPlayerRequestClass(playerid, classid)
{
SpawnPlayer(playerid);
return 1;
}
public OnPlayerConnect(playerid)
{
new connector[MAX_PLAYER_NAME];
GetPlayerName(playerid,connector,sizeof connector);
SendClientMessageToAll(COLOR_GREEN,"[Betreten] %s hat den Server betreten!",connector);
TextDrawShowForPlayer(playerid, Textdraw1);
TextDrawShowForPlayer(playerid, Textdraw2);
SetTimerEx("PayDay",60000,1,"i",playerid);
SetTimerEx("setOfficerEquipment", false, 7*1000, "dd", playerid, 1);
SetTimerEx("setOfficerEquipment", false, 10*1000, "dd", playerid, 0);
SetPlayerCameraPos(playerid,1418.9424,-1629.9061,54.6056);
SetPlayerCameraLookAt(playerid,1480.6212,-1748.4795,15.4453);
PlayerPlaySound(playerid, 1062, 1418.9424,-1629.9061,54.6056);
TicketZeile[playerid] = 0;
SupportTicket[playerid] = 0;
TicketAngenommen[playerid] = 0;
DeinSupport[playerid] = 0;
new pname[MAX_PLAYERS],accFormat[128];
GetPlayerName(playerid,pname,sizeof pname);
PlayerPlaySound(playerid, 1176, 0.0, 0.0, 0.0);
format(accFormat,sizeof accFormat,"acc/%s.sav",pname);
if(fexist(accFormat))
{
ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"{FF0000}Login","{FF7700}Login erforderlich:","{FFCC00}Login!","{FFCC00}Zurück");
}
else
{
ShowPlayerDialog(playerid,DIALOG_REG,1,"{FF0000}Register","{FF7700}Registrierung erforderlich:","{FFCC00}Registrieren","{FFCC00}Zurück");
}
return 1;
}
.. hier kommt nix mehr. :o
Irgendwo im Script fehlt eine Klammer.
Den ersten Klammerfehler gefunden, scheint noch einen 2. zu geben. :DDDD
for(new i=0;i<MAX_VEHICLES;i++)
{
/*Tankmenge[i] = 100;
}
SetTimer("TankTimer", 15000, 1);*/
Das war der erste. ;D