Вот начал я писать свой DM мод и не совсем уверен в практичности моей системочки :3
Я пересматривал различные моды, которые лежали в пабликах и пытался понять как к переменным(kill / death) увиличивается значение на +1 при смерти или убийстве. В своем моде я пытался повторить точно такое же, но ничего не работало. И я подумал, "а почему бы не сделать условия, при которых будет ++ к смерти и убийствам"
В общем я сделал вот так:
PHP код:
new CheckPlayer[MAX_PLAYERS];
enum PlayerInfo
{
//..
pDeath,
pKill,
pLevel
};
new pInfo[MAX_PLAYERS][PlayerInfo];
public OnPlayerDeath(playerid, killerid, reason)
{
if(CheckPlayer[playerid] == 1)
{
pInfo[playerid][pKill] += 1;
//сохранение
}
else
{
pInfo[playerid][pDeath] += 1;
//сохранение
}
return true;
}
public OnPlayerWeaponShot(playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ)
{
new giveplayerid;
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
/*switch(hittype)
{
case 1:
{
CheckPlayer[playerid] = 1;
PlayerValue = giveplayerid;
}
}
Если будете использовать switch конструкцию, то
удалите конструкцию if
*/
if(hittype)
{
CheckPlayer[playerid] = 1;
playerid = giveplayerid;
}
}
}
return true;
}
И как мне кажется, в моей системе есть некая нагрузки из-за лишних переменных и операций. В то время, в других модах присвоение к переменным kill / death идет наипростейшим образом:
PHP код:
public OnPlayerDeath(playerid, killerid, reason)
{
pInfo[killerid][pKill] += 1; //++
pInfo[playerid][pDeath] += 1; //++
return true;
}
Я в недоумении, кто может мне помочь?