package playerLeveling {
function Player::damage(%this, %obj, %sourceObject, %position, %damage, %damageType) {
%ret = parent::damage(%this, %obj, %sourceObject, %position, %damage, %damageType);
if(%obj.>>>>>>>getState()<<<<<< !$= "Dead")
return %ret;
if(!isObject(%obj.client) || !isObject(%sourceObject.client))
return %ret;
%killer = %sourceObject.client;
%killer.exp += 5;
if(%killer.exp >= %killer.expmax) {
%killer.level++;
%killer.exp -= %killer.expmax;
}
return %ret;
}
};
activatePackage(playerLeveling);
Okay, wait. trinick, getState is an unknown command according to the console. And if this isnt the error here, then i'll also mention that i'm not getting any exp added to the client variable %client.exp;
Here is the current script in my server.cs:
package playerLeveling {
function Player::damage(%this, %obj, %sourceObject, %position, %damage, %damageType) {
%ret = parent::damage(%this, %obj, %sourceObject, %position, %damage, %damageType);
if(%obj.getState() !$= "Dead")
return %ret;
if(!isObject(%obj.client) || !isObject(%sourceObject.client))
return %ret;
%killer = %sourceObject.client;
%killer.exp += 5;
messageclient(%killer,'',"\c6Got 5 EXP.");
if(%killer.exp >= %killer.expmax) {
newlevelscript(%killer.name);
%killer.exp -= %killer.expmax;
}
return %ret;
}
function GameConnection::AutoAdminCheck(%client)
{
%ret = parent::AutoAdminCheck(%client);
if(isFile("config/server/levelsystem/" @ %client.bl_id @ ".txt") == 1)
{
load(findclientbyname(%client));
}
else
{
messageclient(%client,'',"\c6Save file not found. Delivering default level.");
%client.exp = 0;
%client.expmax = 100;
%client.level = 1;
save(findclientbyname(%client));
}
return %ret;
}
};