13.02.2010, 15:43
Hello, I have a problem.. I did /carbuylicense which makes DriversLicense to 1 in the scriptfiles but when I log in again I have to buy it again.
I'll show you every place where I have it.
I'm using ladmin btw.
It looks pretty messy but just look at the DriversLicense thing. I have more info in the enum and so on.. I removed alot but please check it up and tell me why it won't load if you relog.
I'll show you every place where I have it.
I'm using ladmin btw.
Code:
enum PlayerData { DriversLicense, }; new PlayerInfo[MAX_PLAYERS][PlayerData];
Code:
public OnPlayerConnect(playerid) { PlayerInfo[playerid][DriversLicense] = 0; return 1; }
Code:
public OnPlayerDisconnect(playerid, reason) { if(PlayerInfo[playerid][LoggedIn] == 1) SavePlayer(playerid); if(udb_Exists(PlayerName2(playerid))) dUserSetINT(PlayerName2(playerid)).("loggedin",0); PlayerInfo[playerid][DriversLicense] = 0; return 1; }
Code:
dcmd_register(playerid,params[]) { if (PlayerInfo[playerid][LoggedIn] == 1) return SendClientMessage(playerid,red,"Server: You are allready registered and logged in."); if (udb_Exists(PlayerName2(playerid))) return SendClientMessage(playerid,red,"Server: You are allready registered."); if (strlen(params) == 0) return SendClientMessage(playerid,red,"Usage: /register [password]"); if (strlen(params) < 4 || strlen(params) > 20) return SendClientMessage(playerid,red,"Warning: Your password must be longer than 3 characters."); if (udb_Create(PlayerName2(playerid),params)) { new file[256],name[MAX_PLAYER_NAME], tmp3[100]; new strdate[20], year,month,day; getdate(year, month, day); GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"/ladmin/users/%s.sav",udb_encode(name)); GetPlayerIp(playerid,tmp3,100); dini_Set(file,"ip",tmp3); // dini_Set(file,"password",params); dUserSetINT(PlayerName2(playerid)).("registered",1); format(strdate, sizeof(strdate), "%d/%d/%d",day,month,year); dini_Set(file,"RegisteredDate",strdate); dUserSetINT(PlayerName2(playerid)).("loggedin",1); dUserSetINT(PlayerName2(playerid)).("banned",0); dUserSetINT(PlayerName2(playerid)).("level",0); dUserSetINT(PlayerName2(playerid)).("LastOn",0); dUserSetINT(PlayerName2(playerid)).("money",0); dUserSetINT(PlayerName2(playerid)).("kills",0); dUserSetINT(PlayerName2(playerid)).("deaths",0); dUserSetINT(PlayerName2(playerid)).("hours",0); dUserSetINT(PlayerName2(playerid)).("minutes",0); dUserSetINT(PlayerName2(playerid)).("seconds",0); dUserSetINT(PlayerName2(playerid)).("DriversLicense", 0); PlayerInfo[playerid][LoggedIn] = 1; PlayerInfo[playerid][Registered] = 1; SendClientMessage(playerid, green, "Server: You are now registered, use /login to login."); PlayerPlaySound(playerid,1057,0.0,0.0,0.0); return 1; } return 1; }
Code:
if(strcmp(cmdtext, "/buycarlicense", true) ==0) { dUserSetINT(PlayerName2(playerid)).("DriversLicense", 1); PlayerInfo[playerid][DriversLicense] = 1; SendClientMessage(playerid ,COLOR_RED, "You have bought a drivers license"); return 1; }
Code:
public OnPlayerEnterVehicle(playerid, vehicleid) { if(PlayerInfo[playerid][DriversLicense] == 1) { } else if (PlayerInfo[playerid][DriversLicense] == 0) { SendClientMessage(playerid, COLOR_RED , "Warning: You have no license, watch out for the cops."); } return 1; }
It looks pretty messy but just look at the DriversLicense thing. I have more info in the enum and so on.. I removed alot but please check it up and tell me why it won't load if you relog.
