if(IsPlayerConnected(i)
bedeutet soviel wie "Wenn i Online ist."
if(!IsPlayerConnected(i)
bedeutet soviel wie "Wenn i nicht Online ist."
und da du möchtest das die Meldung kommt wenn i nicht online ist, must du mit ! arbeiten.
if(IsPlayerConnected(i)
bedeutet soviel wie "Wenn i Online ist."
if(!IsPlayerConnected(i)
bedeutet soviel wie "Wenn i nicht Online ist."
und da du möchtest das die Meldung kommt wenn i nicht online ist, must du mit ! arbeiten.
geh auf
kopier in das Leere Feld dort dein Script oder wenn möglich dein Motor System.
und klicke auf "Submit".
2. Möglichkeit:
oder wir arbeiten uns langsam zum Ziel^^
such mal nach dem Wort "Motor" und schau ob du irgend etwas nach Motorsystem findest.
Wenn ja schreibe es hier in den Thread mit
Mfg, Soniny ![]()
auch wenn es viele schon kennen. Mein Lieblingsvideo^^
Alles anzeigenOh Leute bitte...
ich erkläre euch mal kurz etwas
Der Callback OnGameModeInit wird dann aufgerufen, wenn der Server gestartet wird (also wenn das Gamemode geladen wird), zu diesem Zeitpunkt allerdings befinden sich 0 Spieler auf dem Server, also ist die Abfrage:
if(IsPlayerConnected(playerid))
Schonmal total sinnlos und die Schleife auch, da nichts da aufgerufen wird
Man schreibt das unter OnPlayerConnect und verwendet PlayerTextDraws und Aktualisiert dieses TextDraw mit SetTimerEx für einen Spieler....
mfg.
So weit hast du recht, es geht darum das dass Textdraw erstmal für die Spieler einzeln ist und das Textdraw dort definiert wird.
Das Textdraw selber soll logischer weise auch erst bei OnPlayerConnect angezeigt werden.
for(new playerid =0; playerid < MAX_PLAYERS; playerid++)
{
if(IsPlayerConnected(playerid))
{
new bankstring[256];
format(bankstring,sizeof(bankstring),"~g~Bank: ~w~%i",GetPVarInt(playerid,"Bank"));
StatistikBank[playerid] = TextDrawCreate(500.000000, 162.000000,bankstring);
TextDrawBackgroundColor(StatistikBank[playerid], 255);
TextDrawFont(StatistikBank[playerid], 1);
TextDrawLetterSize(StatistikBank[playerid], 0.350000, 0.899999);
TextDrawColor(StatistikBank[playerid], -1);
TextDrawSetOutline(StatistikBank[playerid], 1);
TextDrawSetProportional(StatistikBank[playerid], 1);
TextDrawUseBox(StatistikBank[playerid], 1);
TextDrawBoxColor(StatistikBank[playerid], 0x00000044);
TextDrawTextSize(StatistikBank[playerid], 605.000000, 0.000000);
}
}
das StatistikBank solltest du auch überall zu StatistikBank[playerid] machen^^
Ja, unter der Schleife... sonst hast du ja playerid nicht definiert^^
mach
StatistikBank
benutzerdefiniert
also:
StatistikBank[playerid], so zeigst du jedem Spieler sein individuelles Textdraw. (natürlich must du das [playerid] überall anpassen^^)
Dann musst du das aber auch ganz durchziehen mit playerid
for(new playerid =0; playerid < MAX_PLAYERS; playerid++)
sorry, das passier wenn man Copy & Paste mit "i" macht ;D
Wenn er eingesperrt wird setzt du z.b. die variable knastzeit auf 6 (6 Minuten)
Du fragst im Timer ab ob der Spieler eingeloggt ist und im Knast sitzt.
Wenn ja setzt du die variable immer -1 (weil der Timer 1 Minute geht und dann wieder neu los geht)
Wenn knastzeit jetzt auf 0 steht (also er seine Zeit abgesessen hat) holst du ihn aus dem Knast raus.
Unter OnGameModeInit kannst du kein Playerid verwenden. Das musst du woanders machen. Wie beispielsweise unter OnPlayerConnect.
Ist möglich, allerdings nur mit einer Schleife
for(new playerid =0; i < MAX_PLAYERS; playerid++)
if(strcmp(cmd,"/112",true) == 0)
{
new Float:x,Float:y,Float:z; //Du definierst die Variable x,y,z
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "[Funk] {FFCF00}%s Braucht die Feuerwehr.", sendername);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsAFeuer(i) || IsACop(i)|| PlayerInfo[i][pAdmin] >= 1337)
{
SendClientMessage(i, 0xFF9800FF, string);
GetPlayerPos(playerid,x,y,z); //Du holst die die position von "playerid"
SetPlayerCheckpoint(i,x,y,z,3.0); //du erstellst für "i" ein Checkpoint von x,y,z
SendClientMessage(playerid, 0xE4B900FF, "Du hast die Feuerwehr gerufen");
SendClientMessage(playerid, 0xE4B900FF, "Habe gedult die Feuerwehr ist unterwegs");
}
}
}
return 1;
}
Speicher eine Variable namens "knastzeit".
Erstell einen Timer der bei OnGameModeInit gestartet wird und 1 Minute dauert.
Setz Knastzeit in diesem Timer -1, vorausgesetzt er ist im Knast & Online.
Wenn knastzeit auf 0 steht lass ihn aus dem Knast raus.
Wie erkläre ich mein Scripting-Problem richtig ?...
Beschreibe dein Problem so gut wie möglich je mehr Informationen zu deinem Script desto besser.
solltest du schon etwas gescriptet haben doch es klappt nicht so wie es
soll oder es hat Fehler dann poste bitte den Scriptingcode, deine
Fehlermeldung und die Zeilenangabe mit, damit wir uns besser orientieren
können.
du hast geschrieben:
Zitat//Die Variable erst wieder auf null
Eingeladen[playerid] = 0;
//Und in die Fraktion einladen
Also habe ich verstanden das du die variable auf 0 setzt und den Spieler dann einlädst.
Alles anzeigenWie mein vorgänger sagte
je nachdem in welcher Fraktion er eingeladen wird
setzt du die Variable
new Eingeladen[MAX_PLAYERS];
Auf z.b eins
Eingeladen[playerid] = 1;
Dann fragst du ab ob die Variable 1 ist oder 0
if(Engeladen[playerid]==0)
{
Das keine EInladund da ist
}
else
{
//Die Variable erst wieder auf null
Eingeladen[playerid] = 0;
//Und in die Fraktion einladen
}
Ich würde in diesem fall die Variable erst am Ende auf 0 setzen und in der Variable die Fraktions ID speichern, da diese da für den invite gebraucht wird.
Ich habe da ein Bann-System gemacht.
Dann zeig uns das Bann System
Zitatscript needs to be recompiled with the latest include file
sagt doch alles, oder nicht??
Lade dir den neuesten include vom streamer runter und Compile damit dein Script.
Wenn du nichts geben kannst, warum gehst du auf den Marktplatz anstatt zum Sponsoring Bereich?