Was verboten ist ...
Desktop Check Version 0.2
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Wusste ich gar nicht, was muss ich denn machen, um diesen Namen weiterhin benutzen zu können? :o
mfG, Ashampoo. -
Teste es so mal:
public OnPlayerUpdate(playerid)
{
new String[128];
if(IsPlayerOnDesktop(playerid) == 1)
{
if(GetPVarInt(playerid, "TxtCreated") == 0)
{
SetPVarInt(playerid, "TxtCreated", 1);
format(String, 128, "Spieler seit %d Sekunden aufn Desktop", GetPlayerDesktopTime(playerid));
Player_AFK_Text[playerid] = Create3DTextLabel(String, Deine_Farbe, 0.0, 0.0, 0.0, 30.0, 0, 0);
Attach3DTextLabelToPlayer(Player_AFK_Text, playerid, 0.0, 0.0, 0.5);
}
format(String, 128, "Spieler seit %d Sekunden aufn Desktop", GetPlayerDesktopTime(playerid));
Update3DTextLabelText(Player_AFK_Text[playerid], DEINE_FARBE, String);
}
else
{
if(GetPVarInt(playerid, "TxtCreated") == 1)
{
SetPVarInt(playerid, "TxtCreated", 0);
Delete3DTextLabel(Player_AFK_Text[playerid]);
}
}
return true;
}LG RFT
PS: Hast du dein neuen Account gemeldet ?
Doppelaccounts sind hier untersagt. -
du weißst das dudu da gebannt wurdet und da du nciht ohne Grund gebannt wurdest hast du gegen die Regeln verstoßen; wenn du gebannt wurdest darfst du dich nicht neu reggen!
Edit:(sry das ich mich da einmische)
-
Teste es so mal:
public OnPlayerUpdate(playerid)
{
new String[128];
if(IsPlayerOnDesktop(playerid) == 1)
{
if(GetPVarInt(playerid, "TxtCreated") == 0)
{
SetPVarInt(playerid, "TxtCreated", 1);
format(String, 128, "Spieler seit %d Sekunden aufn Desktop", GetPlayerDesktopTime(playerid));
Player_AFK_Text[playerid] = Create3DTextLabel(String, Deine_Farbe, 0.0, 0.0, 0.0, 30.0, 0, 0);
Attach3DTextLabelToPlayer(Player_AFK_Text, playerid, 0.0, 0.0, 0.5);
}
format(String, 128, "Spieler seit %d Sekunden aufn Desktop", GetPlayerDesktopTime(playerid));
Update3DTextLabelText(Player_AFK_Text[playerid], DEINE_FARBE, String);
}
else
{
if(GetPVarInt(playerid, "TxtCreated") == 1)
{
SetPVarInt(playerid, "TxtCreated", 0);
Delete3DTextLabel(Player_AFK_Text[playerid]);
}
}
return true;
}LG RFT
PS: Hast du dein neuen Account gemeldet ?
Doppelaccounts sind hier untersagt.
RFT du bist der beste (schleim) hammer danke -
Immernoch der gleiche Fehler, der Text steht IMMER über dem Spieler, egal ob der In-Game ist oder auf dem Desktop und die Sekunden laufen nicht.
mfG, Ashampoo.Hier ist der Code:
Ganz oben:
#include <Desktop>
und:
new Text3D: Player_AFK_Text[MAX_PLAYERS];
Und dann unter OnPlayerUpdate:
new String[128];
if(IsPlayerOnDesktop(playerid) == 1)
{
if(GetPVarInt(playerid, "TxtCreated") == 0)
{
SetPVarInt(playerid, "TxtCreated", 1);
format(String, 128, "Spieler ist seit %d Sekunden im Menü\noder auf dem Desktop", GetPlayerDesktopTime(playerid));
Player_AFK_Text[playerid] = Create3DTextLabel(String, COLOR_RED, 0.0, 0.0, 0.0, 30.0, 0, 0);
Attach3DTextLabelToPlayer(Player_AFK_Text[playerid], playerid, 0.0, 0.0, 0.5);
}
format(String, 128, "Spieler ist seit %d Sekunden im Menü\noder auf dem Desktop", GetPlayerDesktopTime(playerid));
Update3DTextLabelText(Player_AFK_Text[playerid], COLOR_RED, String);
}
else
{
if(GetPVarInt(playerid, "TxtCreated") == 1)
{
SetPVarInt(playerid, "TxtCreated", 0);
Delete3DTextLabel(Player_AFK_Text[playerid]);
}
} -
Als ob es irgendetwas bringen würde, dem spieler der AFK ist anzuzeigen, dass er afk ist...
-
War diesesmal mein Fehler.
if(IsPlayerOnDesktop(playerid) == 0)Ne null gehört da rein da 1 für okay steht.
LG RFT
-
Alle anderen Spieler sollen es sehen und nicht der Spieler selbst, geht ja auch gar nicht.
mfG, Ashampoo. -
Als ob es irgendetwas bringen würde, dem spieler der AFK ist anzuzeigen, dass er afk ist...
AFK = Away From KeyboardWenn man im Menü ist, oder auf dem Desktop ist, heißt das nicht, dass man AFK ist. Abkürzungen lernen.
-
-
AFK = Away From KeyboardWenn man im Menü ist, oder auf dem Desktop ist, heißt das nicht, dass man AFK ist. Abkürzungen lernen.
In der Regel geht man aber aufn Desktop wenn man AFK ist.
Damit die Spieler einen nicht töten können.LG RFT
@ Ashampoo was meinst du damit wechsel die 1 mit der 0 aus und teste es mal.
-
Jetzt wird gar nichts über dem Spieler angezeigt, auch wenn er auf dem Desktop geht nicht.
Ich meine es so, RFT:
Du bist auf meinem Server und gehst auf dem Desktop.
Nun sehe ich über deinem Kopf (Spieler ist seit %d Sekunden im Menü\noder auf dem Desktop), bis du wieder zurück kommst und der Text weg geht.
mfG, Ashampoo. -
hilfe
argument type mismatch (argument 1)
Attach3DTextLabelToPlayer(Player_AFK_Text, playerid, 0.0, 0.0, 0.5);
-
Du muss:
Attach3DTextLabelToPlayer(Player_AFK_Text, playerid, 0.0, 0.0, 0.5);
ersetzen mit:
Attach3DTextLabelToPlayer(Player_AFK_Text[playerid], playerid, 0.0, 0.0, 0.5);
mfG, Ashampoo.
-
ich habe oben auf 0 also bei isdesktop da so jetzet passirt aber ganix wen ich oder mein kolege auf destop gehen ???????
-
Habe genau das selbe Problem, RFT kannst du uns bitte helfen?
mfG, Ashampoo. -
Ich weiß garnicht was ihr euch da zusamm bastelt.
Habs einmal versucht getestet damals mit "Mesut" und es funktionierte einwandfrei.Hier nochmal die Includeu nd es gehört doch auf 1
/*
Desktop Check by RFT
(C) 2010
Version 0.1native IsPlayerOnDesktop(playerid)
native GetPlayerDesktopTime(playerid);
*/#include <a_samp>
forward Desk_SecondTimer();
forward Desk_OnPlayerUpdate(playerid);
forward Desk_OnGameModeInit();public Desk_OnGameModeInit()
{
SetTimer("Desk_SecondTimer", 1000, true);
return true;
}#define Desk_OnGameModeInit OnGameModeInit
public Desk_OnPlayerUpdate(playerid)
{
SetPVarInt(playerid, "DeskCheck", 1);
return true;
}
#define Desk_OnPlayerUpdate OnPlayerUpdatepublic Desk_SecondTimer()
{
for(new i = 0; i < MAX_PLAYERS; i ++)
{
if(!IsPlayerConnected(i))continue;
if(GetPVarInt(i, "DeskCheck") == 1)
{
SetPVarInt(i, "DeskCheck", 0);
SetPVarInt(i, "AFKTime", 0);
return true;
}
if(GetPVarInt(i, "DeskCheck") == 0)
{
SetPVarInt(i, "AFKTime", GetPVarInt(i, "AFKTime")+1);
}
}
return true;
}stock IsPlayerOnDesktop(playerid)
{
if(GetPVarInt(playerid, "DeskCheck") == 0)return true;
return false;
}stock GetPlayerDesktopTime(playerid)
{
return GetPVarInt(playerid, "AFKTime");
}Einer von euch beiden müsste sich nacher mal bei mir melden dann testen wirs zusammen auf meinem testserver.
-
Funktioniert einfach nicht, wir können es gerne zusammen auf deinem Testserver testen.
mfG, Ashampoo. -
Thx klappt einwandfrei 10/10
-
Sehr schönes Tool Funktoniert auch einbandfrei , Danke das du es uns Zur Verfügung stellst.
Kommt davon bald nochmal ein Update ?