Samp Server Crashes...
#1

I'm making a RP Game Mode from scratch but I have a problem: the server crashes randomly.

This happens often when there more than one player. Sometimes when someone tries to do a command (I use zcmd) it returns with a message "UNKNOW COMMAND" and after a bit time it crashes...
For the account saving I use dudb for reading player data and a code made by me for writing player data (repeated with a timer and on player disconnect)

Код:
forward OnPlayerDataLoad(playerid);
public OnPlayerDataLoad(playerid)
{
	new name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	PlayerInfo[playerid][Password] = udb_UserInt(name, "password_hash");
	PlayerInfo[playerid][Level] = udb_UserInt(name, "Level");
	PlayerInfo[playerid][Walk] = udb_UserInt(name, "Walk");
	PlayerInfo[playerid][Sex] = udb_UserInt(name, "Sex");
	PlayerInfo[playerid][Skin] = udb_UserInt(name, "Skin");
	PlayerInfo[playerid][Years] = udb_UserInt(name, "Years");
	PlayerInfo[playerid][Registered] = udb_UserInt(name, "Registered");
	PlayerInfo[playerid][TutorialDone] = udb_UserInt(name, "TutorialDone");
	PlayerInfo[playerid][OldProfession] = udb_UserInt(name, "OldProfession");
	PlayerInfo[playerid][Banned] = udb_UserInt(name, "Banned");
	PlayerInfo[playerid][Admin] = udb_UserInt(name, "Admin");
	PlayerInfo[playerid][Pay] = udb_UserInt(name, "Pay");
	PlayerInfo[playerid][Exp] = udb_UserInt(name, "Exp");
	PlayerInfo[playerid][AllowedPayDay] = udb_UserInt(name, "AllowedPayDay");
	PlayerInfo[playerid][Money] = udb_UserInt(name, "Money");
	PlayerInfo[playerid][Faction] = udb_UserInt(name, "Faction");
	PlayerInfo[playerid][Rank] = udb_UserInt(name, "Rank");
	PlayerInfo[playerid][Clan] = udb_UserInt(name, "Clan");
	PlayerInfo[playerid][ClanLeader] = udb_UserInt(name, "ClanLeader");
	PlayerInfo[playerid][Bank] = udb_UserInt(name, "Bank");
	PlayerInfo[playerid][Jailed] = udb_UserInt(name, "Jailed");
	PlayerInfo[playerid][JailTime] = udb_UserInt(name, "JailTime");
	PlayerInfo[playerid][HouseKey] = udb_UserInt(name, "HouseKey");
	PlayerInfo[playerid][Materials] = udb_UserInt(name, "Materials");
	PlayerInfo[playerid][Drug] = udb_UserInt(name, "Drug");
	PlayerInfo[playerid][CarLic] = udb_UserInt(name, "CarLic");
	PlayerInfo[playerid][FlyLic] = udb_UserInt(name, "FlyLic");
	PlayerInfo[playerid][WepLic] = udb_UserInt(name, "WepLic");
	return 1;
}
Код:
forward OnPlayerDataSave(playerid);
public OnPlayerDataSave(playerid)
{
	if(IsPlayerConnected(playerid))
	{
		if(gPlayerLogged[playerid])
		{
			new string3[128];
			format(string3, sizeof(string3), "Accounts/%s.sav", udb_encode(ReturnName(playerid)));
			new File: hFile = fopen(string3, io_write);
			if (hFile)
			{
				new var[64];
				PlayerInfo[playerid][Money] = GetPlayerCash(playerid);
				format(var, 64, "password_hash=%d\r\n", PlayerInfo[playerid][Password]);fwrite(hFile, var);
        format(var, 64, "Level=%d\r\n", PlayerInfo[playerid][Level]);fwrite(hFile, var);
        format(var, 64, "Walk=%d\r\n", PlayerInfo[playerid][Walk]);fwrite(hFile, var);
        format(var, 64, "Sex=%d\r\n", PlayerInfo[playerid][Sex]);fwrite(hFile, var);
        format(var, 64, "Skin=%d\r\n", PlayerInfo[playerid][Skin]);fwrite(hFile, var);
        format(var, 64, "Years=%d\r\n", PlayerInfo[playerid][Years]);fwrite(hFile, var);
        format(var, 64, "Registered=%d\r\n", PlayerInfo[playerid][Registered]);fwrite(hFile, var);
        format(var, 64, "TutorialDone=%d\r\n", PlayerInfo[playerid][TutorialDone]);fwrite(hFile, var);
        format(var, 64, "OldProfession=%d\r\n", PlayerInfo[playerid][OldProfession]);fwrite(hFile, var);
        format(var, 64, "Banned=%d\r\n", PlayerInfo[playerid][Banned]);fwrite(hFile, var);
        format(var, 64, "Admin=%d\r\n", PlayerInfo[playerid][Admin]);fwrite(hFile, var);
        format(var, 64, "Pay=%d\r\n", PlayerInfo[playerid][Pay]);fwrite(hFile, var);
        format(var, 64, "Exp=%d\r\n", PlayerInfo[playerid][Exp]);fwrite(hFile, var);
        format(var, 64, "AllowedPayDay=%d\r\n", PlayerInfo[playerid][AllowedPayDay]);fwrite(hFile, var);
        format(var, 64, "Money=%d\r\n", PlayerInfo[playerid][Money]);fwrite(hFile, var);
        format(var, 64, "Faction=%d\r\n", PlayerInfo[playerid][Faction]);fwrite(hFile, var);
        format(var, 64, "Rank=%d\r\n", PlayerInfo[playerid][Rank]);fwrite(hFile, var);
        format(var, 64, "Clan=%d\r\n", PlayerInfo[playerid][Clan]);fwrite(hFile, var);
        format(var, 64, "ClanLeader=%d\r\n", PlayerInfo[playerid][ClanLeader]);fwrite(hFile, var);
        format(var, 64, "Bank=%d\r\n", PlayerInfo[playerid][Bank]);fwrite(hFile, var);
        format(var, 64, "Jailed=%d\r\n", PlayerInfo[playerid][Jailed]);fwrite(hFile, var);
        format(var, 64, "JailTime=%d\r\n", PlayerInfo[playerid][JailTime]);fwrite(hFile, var);
        format(var, 64, "HouseKey=%d\r\n", PlayerInfo[playerid][HouseKey]);fwrite(hFile, var);
        format(var, 64, "IP=%s\r\n", PlayerInfo[playerid][IP]);fwrite(hFile, var);
        format(var, 64, "Materials=%d\r\n", PlayerInfo[playerid][Materials]);fwrite(hFile, var);
        format(var, 64, "Drug=%d\r\n", PlayerInfo[playerid][Drug]);fwrite(hFile, var);
        format(var, 64, "CarLic=%d\r\n", PlayerInfo[playerid][CarLic]);fwrite(hFile, var);
        format(var, 64, "FlyLic=%d\r\n", PlayerInfo[playerid][FlyLic]);fwrite(hFile, var);
        format(var, 64, "WepLic=%d\r\n", PlayerInfo[playerid][WepLic]);fwrite(hFile, var);
				fclose(hFile);
			}
		}
	}
	return 1;
}
PS1: I use R7 Samp Server
PS2: sorry for my english, but in Italia (BA) the schools are still not invented...
Reply
#2

I don't know how to help you... the code seems to be correct
Reply
#3

It's some bug from the script, or maybe from some FS you loaded.This can be also caused from your connection (if the server is hosted from yourself).
Reply
#4

Quote:
Originally Posted by ikarus
It's some bug from the script, or maybe from some FS you loaded.This can be also caused from your connection (if the server is hosted from yourself).
But the crashes are random...
Reply
#5

up
Reply
#6

Nobody can help me?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)