Nabend Com!
Ich möchte bei meinem /einsperren Befehl, das die Wanteds abgefragt werden und pro Wanted 5 Minuten Jailtime folgen.
Wie würde das klappen?
mfg
Wanteds abfragen und Timer dazu setzen
- encrusted.
- 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
-
-
new wantedlevel;
wantedlevel = GetPlayerWantedLevel(playerid);
wantedlevel * 5; (Bei Fehler send mir ne PN ich überarbeitete das dann nochmal)
JailPlayer (Oder wie dein Stock auch heisst)
So vielleicht? -
new Wanteds[MAX_PLAYERS]
GetPlayerWantedLevel(playerid);
new Minutes = Wanteds[playerid] *5;Das kannste dir noch viel versprechend so umrechnen wie du willst
@HellYeah:
Nur weil du einen stock hast, haben den nicht alle.... -
new Wanteds[MAX_PLAYERS]
GetPlayerWantedLevel(playerid);
new Minutes = Wanteds[playerid] *5;Das kannste dir noch viel versprechend so umrechnen wie du willst
@HellYeah:
Nur weil du einen stock hast, haben den nicht alle....new Wanteds[MAX_PLAYERS]
GetPlayerWantedLevel(playerid);
new Minutes = Wanteds[playerid] *5;Das kannste dir noch viel versprechend so umrechnen wie du willst
@HellYeah:
Nur weil du einen stock hast, haben den nicht alle....
Ich sagte ja falls er einen hat.
Ansonsten ist deine Lösung ja auch ganz nett weil an meiner Zweifele ich jetzt schon -
Danke für den kleinen Anstupser
Nur mit den Timer krieg ich das nicht gebacken.. Generell wie man mit Timer umgeht -
new Wanteds[MAX_PLAYERS]
GetPlayerWantedLevel(playerid);
new Minutes = Wanteds[playerid] *5;Das kannste dir noch viel versprechend so umrechnen wie du willst
@HellYeah:
Nur weil du einen stock hast, haben den nicht alle....Sieht ganz nett aus, nur kommt da eine Fehlermeldung bei raus.
new Wanteds[MAX_PLAYERS]zu
new Wanteds[MAX_PLAYERS]; -
@HellYeah: Deine ist auch komplett richtig.
Nur du solltest es nicht alles global machen, denn es kann zu Zeitversetungen kommen und dann
hat auf einmal ein anderer Spieler diese ZeitZu der Funktion:
Ist ja egal, jeder kann seine Funktion so nennen wie er will. Und wenn es klappen würde, dann wären wir jetzt nicht im ThemaL.G.
heyhoScott_Mitchell:
Ich glaube er kann auch selbst sehen, dass ich ein Semikolon vergessen habe.
Du brauchst nicht extra einen Beitrag dafür machenNochmal @ =D
encrusted.:Wenn du damit Probleme hast, ich bin heute bis 9.00 Uhr auf meinem Teamspeak.
Direkte verlinkung in Signatur. -
-
-
Müsste das so klappen?
Einmal der Befehl:
ocmd:einsperren(playerid,params[])
{
new pid;
if(LVPDDuty[playerid] == 0)return scm(playerid,c_error,"[Error] {FFFFFF}Du musst im Dienst sein.");
if(sscanf(params,"u",pid))return scm(playerid,c_error,"[Error] {FFFFFF}/einsperren [ID]");
if(GetPlayerWantedLevel(pid) == 0)return scm(playerid,c_error,"[Error] {FFFFFF}Dieser Spieler hat keine Wanteds!");
if(sInfo[playerid][Fraktion]==1)
{
if(IsPlayerInRangeOfPoint(playerid,8.0,2281.4922,2430.9136,-7.4531))
{
new wantedlevel = GetPlayerWantedLevel(playerid);
JailPlayer(pid,wantedlevel);
return 1;
}
else
{
scm(playerid,c_error,"[Error] {FFFFFF}Du bist nicht am Arrest Punkt!");
scm(playerid,-1,"Er befindet sich in der untersten Garage des {DB9353}LVPD's{FFFFFF}.");
return 1;
}
}
return 1;
}Dann der Stock "JailPlayer"
stock JailPlayer(playerid,wantedlevel)
{
new minutes;
SetTimer("JailTime",minutes,false);
wantedlevel = GetPlayerWantedLevel(playerid);
minutes = wantedlevel*4;
sInfo[playerid][Knast]=1;
SetPlayerPos(playerid,219.6628,108.4956,999.0156);
SetPlayerInterior(playerid,10);
SetPlayerWantedLevel(playerid,0);
return 1;
}Und der Timer:
public JailTime(playerid)
{
new wantedlevel[MAX_PLAYERS], minutes, str[128];
format(str,sizeof(str),"Dir wurden wegen deiner Straftat soeben %i$ entzogen!",minutes);
wantedlevel[playerid] = GetPlayerWantedLevel(playerid);
minutes = wantedlevel[playerid]*4;
SetPlayerPos(playerid,2291.6296,2423.6606,10.8203);
SetPlayerInterior(playerid,0);
scm(playerid,-1," ");
scm(playerid,-1," ");
scm(playerid,0x5A5A5AFF,"|| Polizei Information ||");
scm(playerid,-1,str);
GivePlayerMoney(playerid,-minutes);
return 1;
}mfg.
-
-
1. Du musst mit SetTimerEx arbeiten
2. Würde ich den timer nach dem setzen der Dauer starten
3. Musst du die Zahl noch *1000 setzen, da Timer in MS arbeiten -
-
new Level, Time;
Level = GetPlayerWantedLevel(pid); // man muss das Level von der pid, und nicht von der playerid abfragen
Time = Level * 60000 * 5; // z.b. Level = 1, dann 60000 * 5 = 300000 Millisekunden = 300 Sek. = 5 Minuten
JailPlayer(pid, Time);Dann kannst du noch:
new atime, str[250]; // arresttime
atime = Time / 60000;
format(str, sizeof(str), "Du wurdest für %d Minuten eingesperrt.", atime);
SendClientMessage(playerid, Farbe, str);Korrigiert mich wenn was falsch ist.
/Handy
-
breadfish.de
Hat das Thema geschlossen.