Beitrag von palma7071 ()
Dieser Beitrag wurde vom Autor gelöscht ().
new Timer;
public OnPlayerConnect(){
WantedTextdraw[playerid] = TextDrawCreate(500.000000, 104.000000, "Wantedlevel:");
TextDrawBackgroundColor(WantedTextdraw[playerid], 255);
TextDrawFont(WantedTextdraw[playerid], 1);
TextDrawLetterSize(WantedTextdraw[playerid], 0.500000, 1.000000);
TextDrawColor(WantedTextdraw[playerid], -1);
TextDrawSetOutline(WantedTextdraw[playerid], 0);
TextDrawSetProportional(WantedTextdraw[playerid], 1);
TextDrawSetShadow(WantedTextdraw[playerid], 1);
TextDrawUseBox(WantedTextdraw[playerid], 1);
TextDrawBoxColor(WantedTextdraw[playerid], 255);
TextDrawTextSize(WantedTextdraw[playerid], 618.000000, 0.000000);
}
public OnPlayerDisconnect(){
TextDrawDestroy(WantedTextdraw[playerid]);
}
public OnGameModeInit(){
Timer = SetTimer("TextDraw",200,true);
}
public OnGameModeExit(){
for(new i=0;i<MAX_PLAYERS;i++)TextDrawDestroy(WantedTextdraw[i]);
KillTimer(Timer);
}
public TextDraw(){
for(new i=0;i<MAX_PLAYERS;i++)
if(GetPVarInt(i,"Wanted")>0)
{
new string[30];
format(string,sizeof(string),"Wantedlevel: >%d<",GetPVarInt(i,"Wanted"));
TextDrawSetString(WantedTextdraw[i],string);
TextDrawShowForPlayer(playerid,WantedTextdraw[i]);
}
}
Ungetestet ;D - Dürfte aber funzen
new Timer;
public OnPlayerConnect(){
WantedTextdraw[playerid] = TextDrawCreate(500.000000, 104.000000, "Wantedlevel:");
TextDrawBackgroundColor(WantedTextdraw[playerid], 255);
TextDrawFont(WantedTextdraw[playerid], 1);
TextDrawLetterSize(WantedTextdraw[playerid], 0.500000, 1.000000);
TextDrawColor(WantedTextdraw[playerid], -1);
TextDrawSetOutline(WantedTextdraw[playerid], 0);
TextDrawSetProportional(WantedTextdraw[playerid], 1);
TextDrawSetShadow(WantedTextdraw[playerid], 1);
TextDrawUseBox(WantedTextdraw[playerid], 1);
TextDrawBoxColor(WantedTextdraw[playerid], 255);
TextDrawTextSize(WantedTextdraw[playerid], 618.000000, 0.000000);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
}
public OnPlayerDisconnect(){
TextDrawDestroy(WantedTextdraw[playerid]);
}
public OnGameModeInit(){
Timer = SetTimer("TextDraw",200,true);
}
public OnGameModeExit(){
for(new i=0;i<MAX_PLAYERS;i++)TextDrawDestroy(WantedTextdraw[i]);
KillTimer(Timer);
}
public TextDraw(){
for(new i=0;i<MAX_PLAYERS;i++)
if(GetPVarInt(i,"Wanted")>0)
{
new string[30];
format(string,sizeof(string),"Wantedlevel: >%d<",GetPVarInt(i,"Wanted"));
TextDrawSetString(WantedTextdraw[i],string);
TextDrawShowForPlayer(playerid,WantedTextdraw[i]);
}
}[/i][/i][/i]
Tut mir leid hatte TextDrawShowForPlayer vergessen nun aber
ich würde das mit dem timer anders machen...
//Beim Login
WantedTTimer[playerid] = SetTimerEx("ReWanted",60000,1,"i",playerid);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
if(GetPVarInt(playerid,"Wanted") <= 0) //Zur sicherheit!
{
TextDrawDestroy(WantedTextdraw[playerid]);
}
else
{
new string[50],wanteds;
wanteds = GetPVarInt(playerid,"Wanted");
format(string,50,"Wantedlevel: >%d<",wanteds);
TextDrawHideForPlayer(playerid,WantedTextdraw[playerid]);
TextDrawSetString(WantedTextdraw[playerid],string);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
}
public ReWanted(playerid)
{
if(GetPVarInt(playerid,"Wanted") <= 0) //Zur sicherheit!
{
TextDrawDestroy(WantedTextdraw[playerid]);
return 1;
}
else
{
new string[50],wanteds;
wanteds = GetPVarInt(playerid,"Wanted");
format(string,50,"Wantedlevel: >%d<",wanteds);
TextDrawHideForPlayer(playerid,WantedTextdraw[playerid]);
TextDrawSetString(WantedTextdraw[playerid],string);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
return 1;
}
}
//Bei OnPlayerDisconnect
KillTimer(WantedTTimer[playerid]);
TextDrawDestroy(WantedTextdraw[playerid]);
Beim login ambesten gleich abfragen ob er wanteds hat dann muss man keine minute warten
der timer ambesten jede minute aktualisieren lassen dann ist die resources-fresserei nicht so hoch und man braucht kein onplayerupdate^^
MfG
da kann auch nix kommen -.-
du hast den Textdraw nicht mal erstellt!!!
//OnPlayerConnect
WantedTextdraw[playerid] = TextDrawCreate(500.000000, 104.000000, "Wantedlevel:");
TextDrawBackgroundColor(WantedTextdraw[playerid], 255);
TextDrawFont(WantedTextdraw[playerid], 1);
TextDrawLetterSize(WantedTextdraw[playerid], 0.500000, 1.000000);
TextDrawColor(WantedTextdraw[playerid], -1);
TextDrawSetOutline(WantedTextdraw[playerid], 0);
TextDrawSetProportional(WantedTextdraw[playerid], 1);
TextDrawSetShadow(WantedTextdraw[playerid], 1);
TextDrawUseBox(WantedTextdraw[playerid], 1);
TextDrawBoxColor(WantedTextdraw[playerid], 255);
TextDrawTextSize(WantedTextdraw[playerid], 618.000000, 0.000000);
//NACH DEINEM LOGIN!!!!!
WantedTTimer[playerid] = SetTimerEx("ReWanted",60000,1,"i",playerid);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
if(GetPVarInt(playerid,"Wanted") <= 0) //Zur sicherheit!
{
TextDrawDestroy(WantedTextdraw[playerid]);
}
else
{
new string[50],wanteds;
wanteds = GetPVarInt(playerid,"Wanted");
format(string,50,"Wantedlevel: >%d<",wanteds);
TextDrawHideForPlayer(playerid,WantedTextdraw[playerid]);
TextDrawSetString(WantedTextdraw[playerid],string);
TextDrawShowForPlayer(playerid,WantedTextdraw[playerid]);
}
und der ganze rest halt!!!
das geht z.B. ABER
dann musst du auch folgendes machen
OnPlayerDeath(playerid,reason)
{
KillTimer(WantedTTimer[playerid]);
TextDrawDestroy(WantedTextdraw[playerid]);
return 1;
}
Sonst ist irgendwann ende im gelände mit der schnelligkeit des servers
//Edit
Ach ja
//ich meine natürlich
public OnPlayerDeath(playerid,reason)
(Der bereits gegebene Callback ^^)
hast du die PVars richtig definiert?
printe mal ob es beim einloggen richtig geladen wird!
genau das heißt du hast keine wanteds!
Lass ma bei:
if(GetPVarInt(playerid,"Wanted") <= 0) //Zur sicherheit!
Das Gleichheitszeichen weg. Wüsste jetzt nicht warum das da ist. Das kleiner als sollte eigentlich ausreichen.
Und das du es nicht siehst, ist klar, wenn du es destroyst oder?
aber wenn du 1 wanted hattest und dann 0 dann wird es nicht destroyed! deswegen ZUR SICHERHEIT!