Wie rufst du die Funktion denn auf? Ebenfalls, beim Initialisieren von Arrays bitte wie folgt vorgehen (sonst wird nur der Index 0 gesetzt):
new Tacho[MV] = {0, ...};
Wie rufst du die Funktion denn auf? Ebenfalls, beim Initialisieren von Arrays bitte wie folgt vorgehen (sonst wird nur der Index 0 gesetzt):
new Tacho[MV] = {0, ...};
Nun gut, dann beginn doch einfach mal mit dem was du weißt. Bei Problemen meldest du dich und wir können dir Rat und Antwort stehen.
Dann solltest du den Spieler einen Moment lang einfrieren und ihm erst dann freien Lauf lassen, da vorher der Boden nicht geladen ist und somit der Spieler durch den Boden fällt. Zumindest ist dies oft die Ursache, es kann natürlich auch hinter anderen Ecken versteckt sein.
Kann es sein, dass du die Objekte streamen lässt?
Dann ändere dies mal wie folgt:
stock IsACar(playerid) {
new modelid = GetVehicleModel(GetPlayerVehicleID(playerid));
if(/* ... */) {
return 1;
}
return 0;
}
Also,
Ich habe jetzt in der Tabelle bei email von einem interger zu einem varchar ungewandelt.
Jetzt wird keine 0 mehr eingetragen, aber auch keine email.
Sonst habe ich baer keine veränderungen vorgenommen.
Wie meinst du das mit dem typ der var. im enum?! wie änder ich den da?
enum SpielerDaten {
pName[MAX_PLAYER_NAME],
pEmail[30]
}
Hast du dir auch die Variablen mal ausgeben lasssen (Stichwort: Debugging)?
Also 1.
Ich habe die variable im enum etstellt! Dann hab ich versuch ein Haus zu kaufen (Hab ich alles erstellt) Jedoch wenn ich es verkaufen möchte dann steht du hast kein haus! Ich hab in die PlayerDatei gesehen und habe keine der beiden Variablen fie ich im enum erstellt habe finden?
Du überschreibst deine ObjectID mit dem Wert 1, demnach wirst du das Objekt nicht mehr löschen können. Lasse dir ebenfalls einfach mal den Array SEKCar[] ausgeben und überprüfen In-Game, ob die Werte überhaupt übereinstimmen.
Ja zum beispiel haus wird nicht mehr erstellt?
Deine Fragestellung ist weiterhin unklar/ungenau. Du hast ein Problem mit einem Enumerator und anscheinend mit einem Haus. Konkretisiere doch mal dein Problem.
Woher stammt denn CarInfo[][]? Hast du die Datei bereits eingelesen? Denn falls dies der Fall ist, benötigst du doch keine weiteren Tests, ob eine Datei existiert. Du arbeitest hier doch nirgendwo mit Datein, nicht wahr?
In deinem Enumerator würde ich zunächst den Typ der Variable ändern, da deine E-Mail wohl kaum ein Integer sein wird. Ebenfalls würde ich mir die Variablen in SetEmail() ausgeben und nochmals die Datenbankstruktur anschauen (vllt. ist dort auch ein Integer vorgesehen?).
Du musst testen, ob der Spieler noch in der Nähe des PickUps befindet. Falls nein blendest du den TextDraw aus (zB. mit Timer realisierbar).
ZitatZum wiederholten mal muss ich anfragen, warum meine Parameter übers Enum nicht in die Datei erstellt werden?
Deine Fragestellung ist ungenau/unklar.
Was hälst du davon?
public OnPlayerDeath(playerid, killerid, reason) {
if(killerid != INVALID_PLAYER_ID) { // Hier bestand dein Problem.
if(isPlayerInFrakt(killerid, 1)) {
SetPlayerScore(killerid, GetPlayerScore(killerid) + 2);
} else {
SetPlayerScore(killerid, GetPlayerScore(killerid) + 1);
}
new playercash = GetPlayerMoney(playerid);
if(playercash > 0) {
new killstr[18],
deathstr[18];
SetPVarInt(killerid, "Bank", GetPVarInt(killerid,"Bank") + playercash);
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, 500);
format(killstr, sizeof(killstr), "+ %i$ (Bank)", playercash);
format(deathstr, sizeof(deathstr), "- %i$", playercash);
GameTextForPlayer(killerid, killstr, 2000, 1);
GameTextForPlayer(playerid, deathstr, 2000, 1);
}
}
}
Es ist Quatsch 3x zu testen, ob eine ID eine valide ID ist und nach Setzen eines +2 Scores ein return hat ein Abbruch des Rest des Codes zur Folge. Und ebenfalls nur wenn keine KillerID existiert wird der Geld-Code ausgeführt. Dieser Sinn ist mir nun wirklich nicht erklärbar.
Zwischenfrage, sry wenns nicht reinpasst löschen wie kann ich mit z.b /setrangname das Mache ? MfG
Das ist einfach ein Befehl, der die entsprechende Variable des Ranks verändert.
#define RANKNAME "Breadfish"
Dies würde eine Konstante darstellen und Konstanten sind eben nicht veränderbar.
ZitatUnd ob ich #defines aus einem Filterscript im Gamemode auslesen kann?
Nein, da dir dein Compiler des Gamemodes sagen wird, dass ihm etwas fehlt.
ZitatAußerdem wollte ich wissen, wieviele Filterscripts man maximal haben kann?
Ein Derby Script kann verschieden ausgelegt sein, deine Beschreibung mangelt an Details.
Versuche dich daran, setze erste Gedanken zusammen und zeige sie dann, ohne ersten Ansatz gibt's keine Snippets von mir.