Guten tag,
ich arbeite grade an einem System und habe jetzt ein problem undzwar:
Wenn ich /bw eingebe passiert das was ich will es soll jedoch wenn ich es erneut eingebe aufhören also den Timer stoppen.
Was mache ich falsch?
hier der Code:
if (strcmp("/wb", cmdtext, true, 10) == 0)
{
new blinkertw;
if(bws[playerid] == false)
{
blinkertw = SetTimer("BW", Blinker, 1);
bws[playerid] = true;
}
else if(brs[playerid] == true)
{
KillTimer(blinkertw);
bws[playerid] = false;
}
return 1;
}
mfg
KillTimer?
- lollipop
- 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
-
-
Emm ein falscher Buchstabe...
new blinkertw;if (strcmp("/wb", cmdtext, true, 10) == 0)
{
if(bws[playerid] == false)
{
blinkertw = SetTimer("BW", Blinker, 1);
bws[playerid] = true;
}
else if(bws[playerid] == true)
{
KillTimer(blinkertw);
bws[playerid] = false;
}
return 1;
}//Edit du hattest da stehen: else if(brs[playerid] == true)
MfG. [SPR]Scripter
-
if (strcmp("/wb", cmdtext, true, 10) == 0)
Einfach /wb in /bw umändern. -
if (strcmp("/wb", cmdtext, true, 10) == 0)
Einfach /wb in /bw umändern.
Was ändert das ??Toll dann ist der Command statt /wb /bw ... Das löst aber sein Problem nicht.
>Look my Post,
MfG. [SPR]Scripter
-
new blinkertw;
jedes mal wenn du den Befehl ausführst ist blinkertw erstmals 0. Wenn if(bws[playerid] == false) dann wird die ID vom Timer in blinkertw gespeichert, danach aber wieder gelöscht (da die Variable nur local ist). Wenn du den Befehl wieder eintippst ist also blinkertw wieder auf 0 und es wird "KillTimer(0)" ausgeführt.
Soll heißen: Du musst die Variable global erstellen -
Und du hast das eine Wort falsch.
Bei dir steht bei "else if" , "brs" und nicht "bws".
MfG. [SPR]Scripter
-
Danke Haxler.
Jetzt habe cih das selber Problem hier:
if(newkeys == 8192)
{
if(bls[playerid] == false)
{
blinkertl = SetTimer("BL", Blinker, 1);
bls[playerid] = true;
}
else if(bls[playerid] == true)
{
DestroyObject(pfeil[GetPlayerVehicleID(playerid)][0]);
DestroyObject(pfeil[GetPlayerVehicleID(playerid)][1]);
KillTimer(blinkertl);
bls[playerid] = false;
}
}
if(newkeys == 16384)
{
if(brs[playerid] == false)
{
blinkertr = SetTimer("BR", Blinker, 1);
bls[playerid] = true;
}
else if(brs[playerid] == true)
{
DestroyObject(pfeil[GetPlayerVehicleID(playerid)][2]);
DestroyObject(pfeil[GetPlayerVehicleID(playerid)][3]);
KillTimer(blinkertr);
bls[playerid] = false;
}
}
Diesmal sind die variablen Global erstellt.
mfg -
Erstellst du die Variablen auch als bool? Ist ressourcen sparender wenn du nur mit true und false arbeitest.
-
breadfish.de
Hat das Thema geschlossen.