Fix some natives relying on a known engine bug related to last player's edict being invalid
This commit is contained in:
@ -662,7 +662,7 @@ static cell AMX_NATIVE_CALL objectives_reinit(AMX *amx, cell *params){ // index
|
||||
MF_LogError(amx, AMX_ERR_NATIVE, "Index out of range (%d)", player);
|
||||
return 0;
|
||||
}
|
||||
mObjects.InitObj( player == 0 ? MSG_ALL:MSG_ONE, player == 0 ? NULL:INDEXENT(player) );
|
||||
mObjects.InitObj( player == 0 ? MSG_ALL:MSG_ONE, player == 0 ? NULL: GETEDICT(player) );
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
@ -44,7 +44,7 @@ void Client_InitObj(void* mValue){
|
||||
mObjects.Clear();
|
||||
break;
|
||||
case 1:
|
||||
mObjects.obj[num].pEdict = INDEXENT(*(int*)mValue);
|
||||
mObjects.obj[num].pEdict = GETEDICT(*(int*)mValue);
|
||||
break;
|
||||
case 2:
|
||||
mObjects.obj[num].index = *(int*)mValue;
|
||||
|
@ -577,7 +577,7 @@ static cell AMX_NATIVE_CALL dod_weaponlist(AMX *amx, cell *params) // player
|
||||
return 0;
|
||||
}
|
||||
|
||||
MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "WeaponList", NULL), NULL, INDEXENT(id));
|
||||
MESSAGE_BEGIN(MSG_ONE, GET_USER_MSG_ID(PLID, "WeaponList", NULL), NULL, pPlayer->pEdict);
|
||||
WRITE_BYTE(weaponlist[wpnID].grp);
|
||||
WRITE_BYTE(totalrds);
|
||||
WRITE_BYTE(-1);
|
||||
|
Reference in New Issue
Block a user