Vielleicht hängt der Bot auch in einem Tutorial, Login-Dialog, ... fest. Am Besten überprüfst du unter OnPlayerConnect, OnPlayerSpawn, OnPlayerRequestClass und OnPlayerRequestSpawn ob der Spieler ein NPC ist.
Beiträge von Haxler
-
-
Ohne Code kann ich dir schlecht helfen. Zeig doch mal die Funktion, in der das hier ausgeführt wird:
]if(cInfo[i][gFirma] == 1)
{
F1Car[i] = CreateVehicle(cInfo[i][Model],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][c_1],cInfo[i][c_2],-1);
}
if(cInfo[i][gFirma] == 2)
{
F2Car[i] = CreateVehicle(cInfo[i][Model],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][c_1],cInfo[i][c_2],-1);
} -
if(cInfo[i][gFirma] == 1)
{
F1Car[i] = CreateVehicle(cInfo[i][Model],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][c_1],cInfo[i][c_2],-1);
}
if(cInfo[i][gFirma] == 2)
{
F2Car[i] = CreateVehicle(cInfo[i][Model],cInfo[i][c_x],cInfo[i][c_y],cInfo[i][c_z],cInfo[i][c_r],cInfo[i][c_1],cInfo[i][c_2],-1);
}
zeig mal mehr von dieser Stelle. Denke mal da stimmt was mit dem Index von F1Car bzw F2Car nicht. -
for(new i; i < sizeof(F1Car); i++) if(IsValidVehicle(F1Car[i])) count[0]++;
for(new i; i < sizeof(F2Car); i++) if(IsValidVehicle(F2Car[i])) count[1]++;
versuchs mal so, wenn du den Index als FahrzeugID nimmst, hast du immer Werte zwischen 0 und sizeof(F1Car) bzw sizeof(F2Car). Das heißt Fahrzeug 1 wird z.b. in beiden Schleifen gefunden. -
format(str,180,"UPDATE `accounts` SET `TBan`='%d' WHERE `SpielerName`='%s'",dauer,GetName(pID));
Da liegt der Fehler: Du speicherst die Dauer ab, willst sie aber später mit einem timestamp vergleichen.Versuchs so:
format(str,180,"UPDATE `accounts` SET `TBan`='%d' WHERE `SpielerName`='%s'",timestamp,GetName(pID));Wenn du Spieler[playerid][TBan] nicht in anderen Funktionen verwendest, kannst du das ganze auch über eine lokale Variable lösen.
-
Ja da verändert sich nichts. Playerid wird in deinem Beispiel immer 3000 sein., außer du startest den Timer mit dem neuen Wert neu.
-
Die PVars brauchst du eigentlich nicht. Du kannst die Nummer auch direkt laden:
Handynummer[playerid] = dini_Int(PlayerDatei,"Handynummer");
-
Zitat
Kein ahnung finger still halten!!! kack spamer!!!
musst nicht gleich beleidigend werden
Wäre mir neu dass die Updates direkt angezeigt werden.
Wie wärs wenn du es einfach mal versuchen würdest? Des Weiteren wird der String falsch formatiert format(string,sizeof string,"%s",value); Value ist in deinem Fall ein Integer d.h. du musst %d bzw %i verwenden.edit: vielleicht liegt es auch einfach daran, dass der Timer nicht wiederholt wird SetTimer("SetSekundenTimer6", 600, true);
-
Zitat
PlayerTextDrawLetterSize(playerid, PilotJob[playerid], 0.000000, 14.901111);
PlayerTextDrawTextSize(playerid, PilotJob[playerid], 44.857124, 0.000000);versuch mal andere Werte als 0.0, mit LetterSize oder TextSize (weiß ich nicht mehr genau :P) änderst du die Größe, wenn die 0 ist siehst du nichts^^
-
Es würde schon lange funktionieren, wenn du alle Antworten gelesen hättest...
-
Don't_Resetable wollt dir damit sagen, dass du TextDrawShowForPlayer verwenden musst, wenn du das Textdraw per TextDrawSetString geupdated hast.
-
Irgendwo ins Script aber außerhalb von anderen Funktionen/Callbacks.
-
Ja musst du auch^^ Der Code müsste funktionieren, mach einfach überall bei LSPDCars das 's' weg
-
Muss da LSPDCars stehen ?
Wenn du alle Fahrzeuge aus dem Array respawnen willst ja.edit: wenn dein array LSPDCar heißt musst du das natürlich ändern^^
-
Willst du nur unbenutze Fahrzeuge respawnen? Wenn ja versuchs mal so:
new i = 0;
for(;i<sizeof(LSPDCars); i++)
{
if(!IsVehicleOccupied(LSPDCars[i]))
{
SetVehicleToRespawn(LSPDCars[i]);
SetVehicleHealth(LSPDCars[i],1000.0);
}
}//...
IsVehicleOccupied(vehicleid)
{
for(new p;p<MAX_PLAYERS;p++)
if(GetPlayerVehicleID(p) == vehicleid)return 1;
return 0;
}
ungetestet aber so in der Art müsste es funktionieren -
Verwende statt == einfach !=
if(GetVehicleModel(vehicleid) != 405) -
Vielleicht öffnest du das Script mit der falschen pawno.exe, geh mal in den pawno Ordner in dem auch die aktuellen Include-Dateien sind und öffne es über die pawno.exe
-
Werde aus deinen Beiträgen nicht wirklich schlau. Was genau willst du denn machen?
-
Du musst das Objekt auf einer der Achsen ein Wenig bewegen, sonst dreht es sich sofort.
-
Ohne Code ist es natürlich schwer, den Fehler ausfindig zu machen.
Falls du OnPlayerTakeDamage/OnPlayerGiveDamage verwendest solltest du darauf achten, dass ein neuer Parameter hinzugefügt wurde:
forward OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart);
forward OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart);