Hey
Hab ein Prob. , undzwar ist mein /arrest system buggy.
Man wird nach ein paar Sekunden entlassen , und das Knastzeittextdraw kommt 10x :!
new Text:Knastzeit[MAX_PLAYERS];
new knastzeitvar[MAX_PLAYERS];
new pSinceArrested[MAX_PLAYERS];
forward knastzeittimer(playerid);
OnGameModeInit
for(new i=0; i<MAX_PLAYERS;i++)
{
Knastzeit[i] = TextDrawCreate(522.000000, 102.000000, "Knastzeit: ---- Sekunden");
TextDrawBackgroundColor(Knastzeit[i], 255);
TextDrawFont(Knastzeit[i], 1);
TextDrawLetterSize(Knastzeit[i], 0.200000, 1.000000);
TextDrawColor(Knastzeit[i], -1);
TextDrawSetOutline(Knastzeit[i], 0);
TextDrawSetProportional(Knastzeit[i], 1);
TextDrawSetShadow(Knastzeit[i], 1);
}
OnPlayerSpawn
if(dini_Int(Spieler,"Knast")>=1)
{
SetPlayerPos(playerid,215.5796,111.5,999);
SendClientMessage(playerid,Gelb,"Polizist: Zurück in deine Zelle!");
knastzeitvar[playerid] = SetTimerEx("knastzeittimer",1000,true,"i",playerid);
}
public knastzeittimer(playerid)
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(playerid));
//if(pSinceArrested[playerid] >= ) // wenn Zeitseitpayday 60 oder über 6o ist wird das in der Klammer ausgelöst
if(dini_Int(Spieler,"Knastzeit")<=0)
{
SetPlayerPos(playerid,1549.5132,-1675.6614,14.9998);
SetPlayerFacingAngle(playerid,87.9242);
SetCameraBehindPlayer(playerid);
SetPlayerInterior(playerid,0);
SendClientMessage(playerid,Gelb,"Du wurdest aus dem Gefängniss entlassen!");
dini_IntSet(Spieler,"Knastzeit",0);
dini_IntSet(Spieler,"Knastzeitvergangen",0);
dini_IntSet(Spieler,"Knast",0);
}
else
{
for(new i=0; i<MAX_PLAYERS;i++)
{
new Knastzeitstring[256];
dini_IntSet(Spieler,"Knastzeit",dini_Int(Spieler,"Knastzeit")-1);
format(Knastzeitstring,sizeof(Knastzeitstring),"Knastzeit: %d Sekunden",dini_Int(Spieler,"Knastzeit"));//
TextDrawSetString(Knastzeit[i], Knastzeitstring);
TextDrawShowForPlayer(playerid,Knastzeit[i]);
}
}
}
ocmd:arrest(playerid,params[])
{
if(isPlayerACop(playerid))
{
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,Rot,"Fehler: /arrest [ID/Name]");
{
//if(!isPlayerACop(pID))
//{
if(IsPlayerConnected(pID))
{
if(GetPlayerWantedLevel(pID)>=1)
{
if(IsPlayerInRangeOfPoint(playerid,12.0,216.6359,113.8774,999.0156)&&IsPlayerInRangeOfPoint(pID,12.0,216.6359,113.8774,999.0156))
{
new Spieler[64];
format(Spieler,sizeof(Spieler),"Spieler/%s.txt",PlayerName(pID));
new wanteds=GetPlayerWantedLevel(pID);
new knastzeit=wanteds*1000;
new geld;
geld=wanteds*1000;
GivePlayerMoney(playerid,-geld);
dini_IntSet(Spieler,"Knastzeit",knastzeit);
dini_IntSet(Spieler,"Knast",1);
SetPlayerPos(pID,215.5796,111.5,999);
SetPlayerWantedLevel(pID,0);
knastzeitvar[playerid] = SetTimerEx("knastzeittimer",1000,true,"i",pID);
for(new i=0;i<MAX_PLAYERS;i++)
{
TextDrawShowForPlayer(pID,Knastzeit[i]);
}
new string[256];
new string2[256];
new string3[256];
format(string3,sizeof(string3),"Du wurdest von %s verhaftet.",PlayerName(playerid));
format(string2,sizeof(string2),"Du sitzt für %i Sekunden (%i Minuten) und verlierst %i$.",knastzeit*60,knastzeit,geld);
format(string,sizeof(string),"%s verhaftet Verbrecher %s.",PlayerName(playerid),PlayerName(pID));
SendClientMessageToAll(Grau,string);
SendClientMessage(pID,Grau,string3);
SendClientMessage(pID,Grau,string2);
}
else
{
SendClientMessage(playerid,Rot,"Du oder der Spieler ist nicht bei den Zellen!");
}
}
else
{
SendClientMessage(playerid,Rot,"Der Spieler hat keine Wanteds!");
}
}
else
{
SendClientMessage(playerid,Rot,"Ungültige ID!");
}
}
//else
//{
// SendClientMessage(playerid,Rot,"Du kannst einem Polizisten keine Wanteds geben!");
//}
}
}
return 1;
}