Du holst den Namen der Person aus einem leeren String. Du musst sscanf benutzen bevor du GetPlayerName verwendest.
Beiträge von Campbell
-
-
Schau in das include von OCMD, OCMD hat OnPlayerCommandText bereits definiert.
-
nein der Gamemode ist mit keinem dynamischen MySQL System etc verbunden.
Ich kann mir diesen Fehler nicht erklären..
Das beantwortet dennoch nur eine der Fragen. Wie sieht es mit CPU und RAM-Auslastung aus und verfügst du über bestimmte Logs wie zum Beispiel einem Command-Log? -
Du könntest es im Spiel selbst mit /rcon password setzen oder einfach in der server.cfg das Passwort bearbeiten, sollte keine große Sache sein.
-
-
SetPlayerSkin(playerid, random(100)); -
Wenn du einen String eines TextDraws updaten möchtest, dann musst du den TextDraw zuerst ausblenden und dann wieder einblenden.
-
Wir könnten nun beginnen zu raten, was evt. an deinem /exit Befehlt falsch sein könnte oder du zeigst ihn uns einfach und wir schauen dannach.
-
TextDraw ausblenden -> TextDrawString setzen -> TextDraw wieder einblenden.
-
Check ich nciht soooo
geht das auch mit pVars?Klar geht das, musst dann eben statt SpielerInfo[playerid][Rang] = 1 SetPVarInt(playerid, "Rang", 1) benutzen.
-
Wenn jemand stirbt, wird er neu gespawnt. Deswegen evt. einfach mal unter OnPlayerSpawn nachschauen ob etwas falsches drin steht bzw. den Skin nochmals zuweisen.
-
Falls du mysql_query_fix statt mysql_query benutzen möchtest musst du es wie folgt verwenden:
#define mysql_query_fix mysql_query
-
strcmp zum prüfen nutzen, ob der User 5 kills hat
"Compares two strings to see if they are the same." - Ich hoffe mal nicht, dass er die Kills als Strings sondern als Integer speichert.
-
- Schonmal "Spieler[playerid][Kills]" mit printf ausgegeben und geschaut ob es überhaupt richtig zugewiesen wird?
if(Spieler[playerid][Kills] == 5) GameTextForAll("5 Abschüsse wurden erreicht.", 3000, 1);
-
- Festlegen des Rangs und der Fraktion für Spieler X.
enum pInfo
{
Fraktion,
Rang
};
SpielerInfo[MAX_PLAYERS][pInfo];- Zuweisen von Ränge. (hier mit ZCMD)
COMMAND:invite(playerid, params[])
{
new spieler; sscanf(params, "u", spieler)) /* Testen ob Angaben richtig etc. */
SpielerInfo[spieler][Fraktion] = 1;
SpielerInfo[spieler][Rang] = 1; /* Spieler ist nun Rang 1 in der Fraktion 1. */
}- Verwenden von Rängen. (hier mit ZCMD)
COMMAND:einsperren(playerid, params[])
{
if(SpielerInfo[playerid][Fraktion] = 1 && SpielerInfo[playerid][Rang] > 5)
{
/* Wenn Spieler teil von Fraktion 1 ist und einen höheren Rang als 5 hat, dann Spieler2 einsperren ... */
}
} -
Guten Tag,
ich frage mich derzeit ob es möglich ist eine Waffe einem Slot zuzuweisen, da ich versuchen möchte, dass man mehrere gleiche Waffen gleichzeig haben kann bzw. dass man z.B. eine Ak-47 und eine M4 gleichzeitig tragen kann. Bisher wird ja die M4 durch die Ak-47 bzw. die Ak-47 durch die M4 ersetzt.
-
- Körperteile definieren.
- Ermitteln wo der Spieler getroffen wird.
- Leben abziehen bzw. wiederherstellen im Fall, dass der Spieler nicht am gewünschten Punkt getroffen wird.
-
-
Du hast offensichtlich das Callback 'OnPlayerConnect', welches bereits in der samp.inc verwendet wird, nochmals definiert. Nenne es einfach um.
-
#define MAX_ATMS 10
#define FRAKTION_LOCK 1enum atm_info
{
Float:atm_x,
Float:atm_y,
Float:atm_z,
atm_guthaben
}
new ATMInfo[MAX_ATMS][atm_info];- Speichere hier alle Coordinaten für die ATMs ab um später für 'Lock und Lock' Checkpoints etc. zu setzten.
- Speichere ebenfalls das Guthaben ab, somit du ermitteln kannst, ob der ATM aufgefüllt werden muss oder nicht.
for(new i; i != MAX_ATMS; i++)
{
if(ATMInfo[i][atm_guthaben] < 1000)
{
/* Irgendetwas, was passieren soll, sobald das ATM beinahe leer ist (weniger als 1.000$ zur Verfügung hat).
}
}- Falls du die Daten nicht bei Serverneustart resetten möchtest wirst du die Daten irgendwie abspeichern müssen (Dini, MySQL, Json ...).