if(!IsPlayerConnected(playerid))continue;
ID wird übersprugen da der Spieler nicht auf dem Server ist. Und die nächste ID wird überprüft.
MFG RFT
if(!IsPlayerConnected(playerid))continue;
ID wird übersprugen da der Spieler nicht auf dem Server ist. Und die nächste ID wird überprüft.
MFG RFT
und en tauscht du mal mit dem aus.
public OnPlayerUpdate(playerid)
{
new string[32];
if(IsPlayerOnDesktop(playerid))
{
format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
if(GetPVarInt(playerid, "TextSend") == 0)
{
SetPVarInt(playerid, "TextSend", 1);
PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
return true;
}
Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
}
else
{
if(GetPVarInt(playerid, "TextSend") == 1)
{
Delete3DTextLabel(PlayerText[playerid]);
SetPVarInt(playerid, "TextSend", 0);
return true;
}
}
return true;
}
stock UpdatePlayerAccount(playerid)
{
mysql_SetInt("Accounts", "JailTime", pInfo[playerid][JailTime], "Name", SpielerName[playerid])
return true;
}
unter OnPlayerDisconnect einmal "UpdatePlayerAccount(playerid);" einfügen.
MFG RFT
Das funktioniert leider nicht so, wie ich es mir vorgestellt habe.
Dieser Text steht IMMER über diesem Spieler & wenn er auf Desktop geht, geht die Zeit nicht hoch.
RFT könntest du mir bitte helfen und sagen wie ich es mache, dass nur wenn er auf dem Desktop dieser Text über diesen Spieler steht & die Zeit hochgeht?
Mit freundlichen Grüßen, Unkn0wnX.
format(string, 32, "%d Sekunden AFK", GetPlayerDesktopTime(playerid)); // müsste auch geändert werden aber daran liegt dein problem nicht.
Das Checkl System wurde von anderen Leuten getestet und sie sagen es funktionierte ich selber habe es nie getestet.
Muss es nachermal teste kann ja sein das ich in der Include nen Fehler habe. Ich editiere diesen Beitrag nacher.
MFG RFT
//edit teste es mal so.
public OnPlayerUpdate(playerid)
{
new string[32];
if(IsPlayerOnDesktop(playerid))
{
format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
if(GetPVarInt(playerid, "TextSend") == 0)
{
SetPVarInt(playerid, "TextSend", 1);
PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
return true;
}
Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
}
else
{
if(GetPVarInt(playerid, "TextSend") == 1)
{
Delete3DTextLabel(PlayerText[playerid]);
SetPVarInt(playerid, "TextSend", 0);
return true;
}
}
War nen kleiner Denkfehler von mir.
Schau mal in der mysql.log ob da ein Fehler beim spechern aufgezeichnet ist.
Habe mysql_debug(); im MySql System eingefügt falls du es nicht raus gemacht hast.
Du sagtest ja der Wert in der Database wird nicht gespeichert.
Und du lässt hoffentlich beim verlassen des Server die Acconts updaten oder ?
MFG
*Closed* sowas hat nix mit der Scripting Base zu tuhen.
Ist eher ein Smalltalk.
MFG RFT
ZitatEs geht halt darum, die "JailTime" zu speichern und den Wert beim Spawn wieder zuzuteilen.
Aber der Wert im Account bleibt immer gleich, dadurch funktioniert das nicht wirklich. Sonst würde die Zeit ja nach jedem Relogg wieder hochgesetzt werden.
mfG
Walker
Deshalb brauchen wir die Funktion wo du deine Accounts speichern lässt.Falls solch eine vorhanden ist.
MFG RFT
for(new ii=0; ii<MAX_PLAYERS; ii++)
{
SendClientMessage(ii, DEINEFARBE, str);
}
soll dan ja auch an alle gehen
Schwachsinn. Wozu soll man ne Schleife benutzen wenn es solch eine Funktion gibt ?
SendClientMessageToAll(DEINE FARBE, str);
public OnPlayerUpdate(playerid)
{
new string[32];
if(IsPlayerOnDesktop(playerid))
{
format(string, 32, "%s Sekunden AFK", GetPlayerDesktopTime(playerid));
if(GetPVarInt(playerid, "TextSend") == 0)
{
SetPVarInt(playerid, "TextSend", 1);
PlayerText[playerid] = Create3DTextLabel(string, COLOR_LIGHTRED, 0.0, 0.0, 0.0, 20.0, -1, -1);}
Attach3DTextLabelToPlayer(PlayerText[playerid], playerid, 0.0, 0.0, 0.0);
return true;
}
Update3DTextLabelText(PlayerText[playerid], COLOR_LIGHTRED, string);
if(GetPVarInt(playerid, "TextSend") == 1)
{
Delete3DTextLabel(PlayerText[playerid]);
SetPVarInt(playerid, "TextSend", 0);
return true;
}
}
MFG RFT
if(strcmp(cmd, "/g", true) == 0 || strcmp(cmd, "/global", true) == 0)
{
new length = strlen(cmdtext);
new index;
while ((index < length) && (cmdtext[index] <= ' '))
{
index++;
}
new offset = index;
new result[64];
while ((index < length) && ((index - offset) < (sizeof(result) - 1)))
{
result[index - offset] = cmdtext[index];
index++;
}
result[index - offset] = EOS;
if(!result[0])return SendClientMessage(playerid, DIEFARBE, "Verwendung: (/g)lobal [Text]");
new pName[24]; GetPlayerName(playerid, pName, 24);
new str[128];
format(str, 128, "(Global) %s: %s", pName, result);
SendClientMessage(playerid, DEINEFARBE, str);
return true;
}
Nächstesmal mehrere Infos.
Kann ja sein das du schon Strings für die Parameter / Namen und so definiert hast und wieso sollte man doppelten Speicher verbrauchen wenn mans schon definiert hat.
MFG RFT
Hallo,
benutzt den Pastebinlin. Der funktioniert !
B2T: Das Script ist noch nicht annähernd fertig.
Ne Version 2 wenn die Version 1 noch nicht fertig ist ? Hat doch irgendwie kein Sinn.
MFG RFT
Zeig uns mal die Funktion wo dus speicherst.
Und paar wichtige ausschnite aus dem Jail System.
Ohne Code können wir dir nicht helfen =).
MFG RFT
Benutzt du "S0beit" zwecks zum Scripten um zu den Positionen hinzufliegen ?
Benutzt du irgendwelche Mods?
Daran könnte es liegen.
MFG RFT
Da sind auch spiele dabei.
Ich finde 30 - 40 Euro sind angemessen.
Obwohl ich heutzutage eher auf die Slim zugreifen würde.
MFG RFT
Wenn du in einem Fahrzeug sitzt wird OnPlayerPickupA..... nicht ausgeführt.
Daher musst du IsPlayerInRangeOfPoint nutzen.
MFG RFT
if(strcmp(cmd, "/premium", true) == 0)
{
if(PlayerInfo[i][pDonateRank] == 0)return SendClientMessage(playerid, COLOR_RED, "Info: Du bist kein Premium User.");
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!result[0])return SendClientMessage(playerid, COLOR_WHITE, "Verwendung: /Premium [Text]");
GetPlayerName(playerid, sendername, 24);
format(tmp, 128, "%s: %s.", sendername, result);
SendPremiumMessage(COLOR_GREEN, result);
return true;
}
und die Funktio.
stock SendPremiumMessage(Color, Text[])
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i))continue;
if(PlayerInfo[i][pDonateRank] >= 1)
{
SendClientMessage(i, Color, Text);
}
}
return true;
}
Wenn ich mich nicht irre hießen die GF Variabeln so. System ist nicht getestet sollte aber funktionieren.
MFG RFT
enum spieler_daten
{
wanted,
skin,
money,
Float:lastx,Float:lasty,Float:lastz,
eingeloggt, // hier hat ein Komma gefehlt.
}
MFG RFT
//edit poste und mal das Callback wo der Error vor kommt muss ja nen Grund haben =).
MFG RFT
Alles anzeigenGuten Tag liebe Comm.
So und zwar habe ich ein problem .
Ich habe einen Script vom Kumpel bekommen wo man den Motor mit ein befehl Starten muss .
Aber leider habe ich keinen Filterscript dafür .
Und nun wollte ich fragen ob mir jemand so einen Fiilterscript mit dem Motoran System geben könnte .
Danke im Voraus .
MfG,
Domenik
O.o wozu brauchst du ein Filterscript wenn dus im Gamemode hast ?
Zitat
Selber schreiben so viel ist es nicht
Oder aus dem Script deines freundes ausbauen
gretz vitamin
Unnötig da es hier der "Scriptwünsche" Bereich ist.
MFG RFT
Kann das sein das du
new Spieler[MAX_PLAYERS][spieler_daten];
Über der enum Struktur definiert hast ? Wenn ja es muss unter der Struktur sonst kann es nicht gehen.
MFG RFT