Es gibt gewisse unlogische Fehler die keinen Sinn ergeben. Allerdings weiss ich nicht mehr weiter.
Zur Schilderung:
Ich habe ein Admin-Prison, wenn ein Spieler ins Prison kommt, erhält die SpielerVariable pPrison den Wert 1 (Und im folgenden entsteht ein Laufprison, für den der Wert 2 vorgesehen ist (Für die Logik)).
Allerdings wenn der Spieler ins Prison kommt, den Wert pPrison 1 hat, wird diese Anweisung nach der If-Abfrage ignoriert und der Spieler wird zu den Koordinaden von SetSpawnInfo (Was am Anfang vom Login definiert wurde) teleportiert.
SpielerInfo[playerid][pPrison] > 0
Das komische hierbei ist, sobald ich die If-Abfrage in
SpielerInfo[playerid][pPrison] == 0
ändere und der Spieler nicht im Prison ist, wird meine Anweisung dahinter ausgeführt. Ich habe das gleiche mit SpielerInfo[playerid][pPrison] == 1 versucht wenn der Spieler ins Prison geschickt wurde, allerdings wird dann die If-Anweisung gänzlich ignoriert.
Vielleicht habe ich einen Fehler, der auch ein Denkfehler sein könnte, aber ich hoffe ihr Brotfische könntet mir helfen
PS: Die Int Variable pPrison ist wirklich auf 1 wenn der Spieler ins Prison gesteckt wurde. Aber trotz allen werden nur meine Debug-Texte Dev: 1 & Dev: 4 angezeigt beim Spawn
Jeffry
#include <YSI\y_hooks>
hook OnPlayerSpawn(playerid) {
new string[200], year, month, day, hour, minute, second;
if(!SpielerInfo[playerid][pLogged]) return 1;
SendClientMessage(playerid, -1, "DEV: 1");
format(string, 200, "Prison: %i, Sek: %i, T: %i", SpielerInfo[playerid][pPrison], SpielerInfo[playerid][pPrisonS], SpielerInfo[playerid][pPrisonT]);
SendClientMessage(playerid, -1, string);
format(string, 200, "Grund: %s, Admin: %s", SpielerInfo[playerid][pPrisonR], SpielerInfo[playerid][pPrisonA]);
SendClientMessage(playerid, -1, string);
if(SpielerInfo[playerid][pPrison] > 0) {
TimestampToDate(SpielerInfo[playerid][pPrisonT], year, month, day, hour, minute, second, 1);
format(string, sizeof(string), "%s", SpielerInfo[playerid][pPrisonA]);
PlayerTextDrawSetString(playerid, prisonadmin[playerid], string);
format(string, sizeof(string), "%s", SpielerInfo[playerid][pPrisonR]);
PlayerTextDrawSetString(playerid, prisonreason[playerid], string);
format(string, sizeof(string), "%02d.%02d.%04d / %d:%d Uhr", day, month, year, hour, minute);
PlayerTextDrawSetString(playerid, prisonreason[playerid], string);
SendClientMessage(playerid, -1, "DEV: 2");
if(SpielerInfo[playerid][pPrison] == 1) {
SetPlayerPos(playerid,1510.4912,-1795.7566,-94.1283);
SetPlayerFacingAngle(playerid,267.6534);
SetCameraBehindPlayer(playerid);
SendClientMessage(playerid, COLOR_DARKRED, "Du bist wegen einem Regelverstoß im Adminprison!!");
format(string, sizeof(string), "Du bist noch für %i Sekunden im Prison!", SpielerInfo[playerid][pPrisonS]);
PlayerTextDrawSetString(playerid, prison0[playerid], string);
}
SendClientMessage(playerid, -1, "DEV: 3");
PlayerTextDrawShow(playerid, prison1[playerid]);
PlayerTextDrawShow(playerid, prison2[playerid]);
PlayerTextDrawShow(playerid, prison3[playerid]);
PlayerTextDrawShow(playerid, prison0[playerid]);
PlayerTextDrawShow(playerid, prisonadmin[playerid]);
PlayerTextDrawShow(playerid, prisonreason[playerid]);
PlayerTextDrawShow(playerid, prisontime[playerid]);
return 1;
} else if(SpielerInfo[playerid][pSpawnChange] == 0) {
SetPlayerPos(playerid, 1716.6198,-1686.0006,20.2172);
SetPlayerFacingAngle(playerid, 183.6793);
SetCameraBehindPlayer(playerid);
SendClientMessage(playerid, -1, "DEV: 4");
return 1;
}
SendClientMessage(playerid, -1, "DEV: 5");
return 1;
}
Alles anzeigen