Hallo,
ich habe nun folgende frage da dies mir vorher nicht beantwortet wurde..
Ich habe nun das ganz oben
forward DeathmatchTimer(playerid);
und einen public was das bringen soll
public DeathmatchTimer(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,30.0,1721.4225,-1633.6736,20.2120))
{
TextDrawShowForPlayer(playerid, Textdraw1);
}
}
und nun weiß ich nicht wie ich das aktivier also wenn ich bei dem Ort bin dann zeigt es mir den Textdraw nicht wieso?
Textdraw wird nicht angezeigt!
- WhiteWay
- Geschlossen
- Erledigt
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
-
-
Lässt du den public auch ständig aufrufen, z.B. durch einen Timer?
-
Ich weiß ja nicht wie deswegen frag ich hier ja
-
SetTimerEx("DeathmatchTimer",1000,1,"d",playerid);
Das musst du halt da einfügen, ab wann der Timer beginnen soll.
Der Timer ruft jetzt die ganze Zeit jede Sekunde den public auf, und wenn du dann in der Range bist, wird der dir eigentlich das TextDraw anzeigen. -
SetTimerEx("DeathmatchTimer",1000,1,"d",playerid);
Das musst du halt da einfügen, ab wann der Timer beginnen soll.
Der Timer ruft jetzt die ganze Zeit jede Sekunde den public auf, und wenn du dann in der Range bist, wird der dir eigentlich das TextDraw anzeigen.
Nun aber wo füg ich das jetz ein? -
Am besten da, wo der Timer starten soll.
Ich weiß ja nicht was das bewirken soll was du da gemacht hast. Kannst ja zum Testen unter OnPlayerConnect einfügen. -
Am besten da, wo der Timer starten soll.
Ich weiß ja nicht was das bewirken soll was du da gemacht hast. Kannst ja zum Testen unter OnPlayerConnect einfügen.
Danke aber es zeigt nur jede sekunde das textdraw an, wie mache ich es das es die ganze zeit anzeigt? -
Wie jede Sekunde? Du meinst, das Textdraw wird jede Sekunde neu angezeigt, wenn du drin stehst?
-
Ja
-
new Timer[MAX_PLAYERS];
Timer[playerid] = SetTimerEx(....);
Dann da wo du das Textdraw anzeigen lässt:
KillTimer(Timer[playerid]); -
KillTimer(Timer[playerid]);
Also dasKillTimer(Timer[playerid]);
dann hier rein?
public DeathmatchTimer(playerid)
{
if(IsPlayerInRangeOfPoint(playerid,30.0,1721.4225,-1633.6736,20.2120))
{
TextDrawShowForPlayer(playerid, Textdraw1);
KillTimer(Timer[playerid]);
}
}//EDIT Es soll ja immer angezeigt werden
-
Ja genau. Und Timer[playerid] halt vor dem SetTimerEx mit einem "=".
Timer[playerid] = SetTimerEx
-
Aber dann verschwindet es nach einmal zeigen. Ich will das es immer angezeigt wird
-
Ja genau. Und Timer[playerid] halt vor dem SetTimerEx mit einem "=".
Timer[playerid] = SetTimerEx
Sorry, das was du schreibst, ist der größte Bullshit
Wenn du den Timer beim Textdraw zeigen killst und der Spieler Später wieder in die Zone geht, wird der Textdraw ihm nicht angezeigt, da du den Timer gekillt hast.
Benutz: http://wiki.sa-mp.com/wiki/SetTimer_DE -
Da habe ich ja gar nicht drüber nachgedacht... Ups
-
Normalerweise sollte der angezeigt bleiben, und nicht verschwinden.
Beschäftige dich bitte mehr mit Timern.
Du erstellst für den Spieler einen Timer, sobald der an der Position ist und das Textdraw ihm angezeigt wird, killst du den Timer, sprich der Timer ist ganz weg.
SetTimerEx ist eher für Sachen wie z.B Bankraub oder ähnliches... -
breadfish.de
Hat das Thema geschlossen.