stock ResetOfflinePlayerFileV(pname[],vehicleid){
new intname[128];
format(intname,sizeof(intname),"%s",pname);
if(dUserINT(intname).("vowned") == vehicleid) {
dUserSetINT(intname).("vowned",0);
dUserSetINT(intname).("vowner",0);}
if(dUserINT(intname).("vowned2") == vehicleid) {
dUserSetINT(intname).("vowned2",0);
dUserSetINT(intname).("vowner2",0);}
if(dUserINT(intname).("vowned3") == vehicleid) {
dUserSetINT(intname).("vowned3",0);
dUserSetINT(intname).("vowner3",0);}
if(dUserINT(intname).("vowned4") == vehicleid) {
dUserSetINT(intname).("vowned4",0);
dUserSetINT(intname).("vowner4",0);}
if(dUserINT(intname).("vowned5") == vehicleid) {
dUserSetINT(intname).("vowned5",0);
dUserSetINT(intname).("vowner5",0);}
if(dini_Int(intname,"vowned6") == vehicleid) {
dini_IntSet(intname, "vowned6",0);
dini_IntSet(intname, "vowner6",0);}
if(dini_Int(intname,"vowned7") == vehicleid) {
dini_IntSet(intname, "vowned7",0);
dini_IntSet(intname, "vowner7",0);}
if(dini_Int(intname,"vowned8") == vehicleid) {
dini_IntSet(intname, "vowned8",0);
dini_IntSet(intname, "vowner8",0);}
SetVehicleToRespawn(vehicleid);
SetVehicleVirtualWorld(vehicleid,10);
SetTimerEx("EraseVehicle",5000,0,"i",vehicleid);
VehicleInfo[vehicleid][bought] = 0;
VehicleInfo[vehicleid][secure] = 0;
VehicleInfo[vehicleid][asecure] = 0;
strmid(VehicleInfo[vehicleid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255);
#if defined TEMP_PARK
VehicleInfo[vehicleid][x_spawn] = VehicleInfo[vehicleid][ox_spawn];
VehicleInfo[vehicleid][y_spawn] = VehicleInfo[vehicleid][oy_spawn];
VehicleInfo[vehicleid][z_spawn] = VehicleInfo[vehicleid][oz_spawn];
VehicleInfo[vehicleid][za_spawn] = VehicleInfo[vehicleid][oza_spawn];
#endif
}
enum pInfo
{
lastconnection
}
new PlayerInfo[MAX_PLAYERS][pInfo];
public OnPlayerDisconnect(playerid)
{
PlayerInfo[playerid][lastconnection] = gettime();
return 1;
}
/////////later however way you'll use to check the inactive players its recommended to use them OnGameModeint
if(gettime() - PlayerInfo[playerid][lastconnection] < 1209600)
{
ResetOfflinePlayerFileV...
}
if(gettime() - PlayerInfo[pname][lastconnection] < 1209600 && PlayerInfo[pname][Level] < 1)
{
better use string for it i used same way the integer goes more that its limit if u add for 2 days even only 1 day works so use string for it... and then when u load the data convert it into integer
so here is what i mean. 1) Get As An String. 2) Save As An String. 3) Load As An Integer. (coz it was not loading fine as an string.) |
You will reach the limit in pawn (32 bit cells) if you use a timestamp from 2038 and that isn't the case if you add to our current time (2014) only two days...
|
stock ResetOfflinePlayerFileV(pname[],vehicleid)
{
if(gettime() - PlayerInfo[pname][lastconnection] < 1209600 && PlayerInfo[pname][Level] < 1)
{
new intname[128];
format(intname,sizeof(intname),"%s",pname);
if(dUserINT(intname).("vowned") == vehicleid) {
dUserSetINT(intname).("vowned",0);
dUserSetINT(intname).("vowner",0);}
if(dUserINT(intname).("vowned2") == vehicleid) {
dUserSetINT(intname).("vowned2",0);
dUserSetINT(intname).("vowner2",0);}
if(dUserINT(intname).("vowned3") == vehicleid) {
dUserSetINT(intname).("vowned3",0);
dUserSetINT(intname).("vowner3",0);}
if(dUserINT(intname).("vowned4") == vehicleid) {
dUserSetINT(intname).("vowned4",0);
dUserSetINT(intname).("vowner4",0);}
if(dUserINT(intname).("vowned5") == vehicleid) {
dUserSetINT(intname).("vowned5",0);
dUserSetINT(intname).("vowner5",0);}
if(dini_Int(intname,"vowned6") == vehicleid) {
dini_IntSet(intname, "vowned6",0);
dini_IntSet(intname, "vowner6",0);}
if(dini_Int(intname,"vowned7") == vehicleid) {
dini_IntSet(intname, "vowned7",0);
dini_IntSet(intname, "vowner7",0);}
if(dini_Int(intname,"vowned8") == vehicleid) {
dini_IntSet(intname, "vowned8",0);
dini_IntSet(intname, "vowner8",0);}
SetVehicleToRespawn(vehicleid);
SetVehicleVirtualWorld(vehicleid,10);
SetTimerEx("EraseVehicle",5000,0,"i",vehicleid);
VehicleInfo[vehicleid][bought] = 0;
VehicleInfo[vehicleid][secure] = 0;
VehicleInfo[vehicleid][asecure] = 0;
strmid(VehicleInfo[vehicleid][owner], DEFAULT_OWNER, 0, strlen(DEFAULT_OWNER), 255);
#if defined TEMP_PARK
VehicleInfo[vehicleid][x_spawn] = VehicleInfo[vehicleid][ox_spawn];
VehicleInfo[vehicleid][y_spawn] = VehicleInfo[vehicleid][oy_spawn];
VehicleInfo[vehicleid][z_spawn] = VehicleInfo[vehicleid][oz_spawn];
VehicleInfo[vehicleid][za_spawn] = VehicleInfo[vehicleid][oza_spawn];
#endif
}
}
stock ResetOfflinePlayerFileB(pname[],bizid)
{
if(gettime() - PlayerInfo[pname][lastconnection] < 1209600 && [Level] < 1)
{
new intname[128];
format(intname,sizeof(intname),"%s",pname);
new cbmon = BizInfo[bizid][cashbox];
new bmon = dUserINT(intname).("bank");
dUserSetINT(intname).("Bank",cbmon+bmon);
dUserSetINT(intname).("bowner",0);
dUserSetINT(intname).("bowned",0);
}
}
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3404) : error 033: array must be indexed (variable "pname")
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3451) : error 033: array must be indexed (variable "pname")
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3451) : warning 215: expression has no effect
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3451) : error 001: expected token: ";", but found "]"
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3451) : error 029: invalid expression, assumed zero
C:\Users\Kamal_Abdelnoor\Desktop\3x-Rc1-2 Server\Gamemodes\KSTDM.pwn(3451) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
5 Errors.