Ich hab grad ein kleines Problem, wiedermal
Also das ist mein Knastsystem:
if(!isPlayerInFrakt(playerid,1))return SendClientMessage(playerid,COLOR_RED,"Du bist kein LSPD Beamter");
new pID, rang, kminuten;
if(sscanf(params,"uii",pID,rang,kminuten))return SendClientMessage(playerid,COLOR_RED,"/knast [ID] [Geld] [Minuten]");
if(GetPlayerWantedLevel(pID) >= 1)
{
if(Spielerdistanz(playerid,pID) < 5)
{
if(IsPlayerInRangeOfPoint(playerid,10.0,190.2161,178.3430,1003.0234))
{
SetPlayerPos(pID,198.0773,161.7927,1003.0300);
new string[128];
format(string,sizeof(string),"Du hast %s eingesperrt. +%i$",SpielerName(playerid),rang);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(playerid,rang);
format(string,sizeof(string),"Du wurdest von Officer %s für %i Minuten in den Knast eingesperrt. -%i$",SpielerName(playerid),kminuten,rang);
SendClientMessage(playerid,COLOR_WHITE,string);
GivePlayerMoney(pID,-rang);
SetPlayerWantedLevel(pID,0);
format(string,sizeof(string),"Officer %s hat %s in den Knast eingesperrt. Gute Arbeit!",SpielerName(playerid),SpielerName(pID));
SendClientMessage(playerid,COLOR_NEWS,string);
SetTimerEx("InKnast", kminuten, 0, "i", pID);
SetPVarInt(pID,"Knast",1);
}
else SendClientMessage(playerid,COLOR_RED,"Du bist nicht bei den Zellen");
}
else SendClientMessage(playerid,COLOR_RED,"Der Spieler steht nicht neben dir!");
}
else SendClientMessage(playerid,COLOR_RED,"Der Spieler hat keine Wanted´s!");
return 1;
}
Mein Problem ist das das ganze nicht gespeichert wird, was ja klar ist weil nur ein Timer da ist.
Meine Überlegung wie ich es lösen würde:
eine Variable die die minuten beinhaltet und ein Timer der jede Minute -1 zählt. und bei OnPlayerDisconnect die Variable speichern und bei OnGameModeInit abfragen ob die Variable >0 ist und dann halt einknasten oder nicht ^^.
MeinProblem:
Ich weis nicht welche "Art" von Varible ich verwenden muss und habe noch nie mit Dini gearbeitet.
Währe schön wenn mir das jmnd. erklären könnte
mfg
fenestro