Machst du /* Alles was da drin steht wird ignoriert */
/* */
/*Hier ein Example*/
#include <a_samp>
Machst du /* Alles was da drin steht wird ignoriert */
/* */
/*Hier ein Example*/
#include <a_samp>
Bei 29,226 das \\ am Ende entfernen.
Warum bei Zeile 3 der Fehler erscheint keine Ahnung.
Ah lol
jz geht's, danke
Wie kann man den Cheat von Geld verhindern?
Hi, kann ganz kurz jemand helfen?
public OnGameModeExit()
{
MainTexts[15] = Text:INVALID_TEXT_DRAW; //Error
FinalRound[19] = Text:INVALID_TEXT_DRAW; //Error
ArenaTextID = Text:INVALID_TEXT_DRAW;
Website = Text:INVALID_TEXT_DRAW;
RoundTime = Text:INVALID_TEXT_DRAW;
}
So werden sie erstellt
new Text:MainTexts[15] = {Text:INVALID_TEXT_DRAW, ...};
new Text:FinalRound[19] = {Text:INVALID_TEXT_DRAW, ...};
new Text:ArenaTextID = Text:INVALID_TEXT_DRAW;
new Text:Website = Text:INVALID_TEXT_DRAW;
new Text:RoundTime = Text:INVALID_TEXT_DRAW;
C:\Users\David\Desktop\LnD\gamemodes\main.pwn(832) : error 032: array index out of bounds (variable "MainTexts")
C:\Users\David\Desktop\LnD\gamemodes\main.pwn(833) : error 032: array index out of bounds (variable "FinalRound")
Du hast 15 MainTexts erstellt (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14)
Hier nutzt du aber den 15. Index, den es gar nicht gibt:
(bei den anderen Fehler genau so)
Wenn du nämlich 15 reinschreibst, hättest du rein mathematisch 16 Einträge (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15)
Wenn dann so:
Wobei das bei OnGameModeExit eh nichts bringt, da dort eh alles wieder zurück auf "0" gesetzt wird. ![]()
MainTexts[14] = Text:INVALID_TEXT_DRAW;
FinalRound[18] = Text:INVALID_TEXT_DRAW;
MainTexts[15] = Text:INVALID_TEXT_DRAW; //Error
FinalRound[19] = Text:INVALID_TEXT_DRAW; //Error
[15] und [19] existieren nicht...dein Array geht nur von 0-14 und von 0-18.
Davon mal abgesehen, brauchst du unter OnGameModeExit nichts zurücksetzen, da beim neustarten automatisch die Variablen neu initialisiert werden ![]()
Wie kann man den Cheat von Geld verhindern?
Einfach ein eigenes Geld System nutzen.
Also nicht den Standard mit GiveMoney von GTA bzw. SAMP aus.
Das sollte denke ich ein großteil davon abhalten.
Habe das so geregelt:
stock GetMoney(playerid) return Spieler[playerid][pMoney];
stock SetMoney(playerid, value)
{
if(!IsPlayerConnected(playerid))return 0;
Spieler[playerid][pMoney] = value;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, Spieler[playerid][pMoney]);
return 1;
}
stock GiveMoney(playerid, value)
{
if(!IsPlayerConnected(playerid))return 0;
Spieler[playerid][pMoney] += value;
ResetPlayerMoney(playerid);
GivePlayerMoney(playerid, Spieler[playerid][pMoney]);
return 1;
}
Alles anzeigen
Oben erstellst du dann pMoney.
In einem Timer schreibst du folgendes:
new antimoney = GetPlayerMoney(playerid), servermoney = GetMoney(playerid);
if(antimoney < servermoney)
{
new lostmoney = servermoney - antimoney;
Spieler[playerid][pMoney] -= lostmoney;
}
Laden lässt du es wie gewohnt beim Login in die Variable pMoney.
Dann einfach SetMoney(playerid, Spieler[playerid][pMoney]);
Dein Geld wird auch abgezogen wenn du im PnS etc bist. ![]()
Für was ist der stock GetMoney da?
Für was ist der stock GetMoney da?
Um herauszufinden, wieviel Geld der Spieler mit dem eigendefinierten Geldsystem hat.
Wie kann ich abfragen, ob der inputtext zwischen 4 und 10 Zeichen lang ist?
if(strlen(inputtext) < 4 || strlen(inputtext) > 10) return SendClientMessage(playerid, 0xFF0000FF, "Error: Länge muss zwischen 4 und 10 liegen.");
if(strlen(inputtext) < 4 || strlen(inputtext) > 10) return SendClientMessage(playerid, 0xFF0000FF, "Error: Länge muss zwischen 4 und 10 liegen.");
Ich bekomme ein empty Statement
Poste bitte deinen Code und markiere die Zeile mit den Fehler.
Poste außerdem bitte die Fehlermeldung dazu.
if(dialogid == DIALOG_SCODE)
{
if(response)
{
new scode[2048];
format(scode, sizeof(scode), "Bitte gebe unten deinen persönlichen Sicherheitscode ein. \nDieser wird genutzt, um dich zukünftig eindeutig zu identifizieren \n \nDein Sicherheitscode muss zwichen 4 und 10 Zeichen haben, er darf Buchstaben, Zahlen und Sonderzeichen enthalten \nInfo: Du kannst dein Passwort nicht als Sicherheitscode verwenden! \n \n"HTML_ROT"Bitte merke dir dein Sicherheitscode gut!");
[color=#FF0000] if(strlen(inputtext) < 4 || strlen(inputtext) > 10) return SendClientMessage(playerid, COLOR_ROT, "* Fehler: Dein Sicherheitscode muss zwischen 4 und 10 Zeichen haben!"), ShowPlayerDialog(playerid, DIALOG_SCODE, DIALOG_STYLE_INPUT, ""SERVER_COLOR_HTML"["SERVERTAG"] - Regestration", scode, "Weiter", "Abbruch");[/color]
format(Player[playerid][pSCode], 10, inputtext);
}
else
{
ClearChat(playerid);
KickWithMessage(playerid, COLOR_ROT, "[Kick] "HTML_GELB"Du hast die Regestration abgebrochen!");
return 1;
}
}
Macht es Sinn Textdraws in OnGameModeExit zu zerstören?