Fix EHANDLE natives.
This commit is contained in:
		
							parent
							
								
									afb450d66a
								
							
						
					
					
						commit
						709e3cd03b
					
				
							
								
								
									
										28
									
								
								natives.cpp
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								natives.cpp
									
									
									
									
									
								
							| @ -649,14 +649,14 @@ cell_t Native_GetParamObjectPtrVar(IPluginContext *pContext, const cell_t *param | |||||||
| 			return *(bool *)(addr + params[3]) ? 1 : 0; | 			return *(bool *)(addr + params[3]) ? 1 : 0; | ||||||
| 		case ObjectValueType_Ehandle: | 		case ObjectValueType_Ehandle: | ||||||
| 		{ | 		{ | ||||||
| 			edict_t *pEnt = gamehelpers->GetHandleEntity(*(CBaseHandle *)(addr + params[3])); | 			edict_t *pEdict = gamehelpers->GetHandleEntity(*(CBaseHandle *)(addr + params[3])); | ||||||
| 
 | 
 | ||||||
| 			if(!pEnt) | 			if(!pEdict) | ||||||
| 			{ | 			{ | ||||||
| 				return -1; | 				return -1; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			return gamehelpers->IndexOfEdict(pEnt); | 			return gamehelpers->IndexOfEdict(pEdict); | ||||||
| 		} | 		} | ||||||
| 		case ObjectValueType_Float: | 		case ObjectValueType_Float: | ||||||
| 			return sp_ftoc(*(float *)(addr + params[3])); | 			return sp_ftoc(*(float *)(addr + params[3])); | ||||||
| @ -674,14 +674,14 @@ cell_t Native_GetParamObjectPtrVar(IPluginContext *pContext, const cell_t *param | |||||||
| 		} | 		} | ||||||
| 		case ObjectValueType_EhandlePtr://Im pretty sure this is never gonna happen
 | 		case ObjectValueType_EhandlePtr://Im pretty sure this is never gonna happen
 | ||||||
| 		{ | 		{ | ||||||
| 			edict_t *pEnt = gamehelpers->GetHandleEntity(**(CBaseHandle **)(addr + params[3])); | 			edict_t *pEdict = gamehelpers->GetHandleEntity(**(CBaseHandle **)(addr + params[3])); | ||||||
| 
 | 
 | ||||||
| 			if(!pEnt) | 			if(!pEdict) | ||||||
| 			{ | 			{ | ||||||
| 				return -1; | 				return -1; | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			return gamehelpers->IndexOfEdict(pEnt); | 			return gamehelpers->IndexOfEdict(pEdict); | ||||||
| 		} | 		} | ||||||
| 		case ObjectValueType_FloatPtr: | 		case ObjectValueType_FloatPtr: | ||||||
| 		{ | 		{ | ||||||
| @ -727,13 +727,13 @@ cell_t Native_SetParamObjectPtrVar(IPluginContext *pContext, const cell_t *param | |||||||
| 			break; | 			break; | ||||||
| 		case ObjectValueType_Ehandle: | 		case ObjectValueType_Ehandle: | ||||||
| 		{ | 		{ | ||||||
| 			edict_t *pEnt = gamehelpers->EdictOfIndex(params[5]); | 			edict_t *pEdict = gamehelpers->EdictOfIndex(params[5]); | ||||||
| 
 | 
 | ||||||
| 			if(pEnt->IsFree()) | 			if(!pEdict || pEdict->IsFree()) | ||||||
| 			{ | 			{ | ||||||
| 				return pContext->ThrowNativeError("Invalid entity passed"); | 				return pContext->ThrowNativeError("Invalid edict passed"); | ||||||
| 			} | 			} | ||||||
| 			gamehelpers->SetHandleEntity(*(CBaseHandle *)(addr + params[3]), pEnt); | 			gamehelpers->SetHandleEntity(*(CBaseHandle *)(addr + params[3]), pEdict); | ||||||
| 
 | 
 | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
| @ -766,13 +766,13 @@ cell_t Native_SetParamObjectPtrVar(IPluginContext *pContext, const cell_t *param | |||||||
| 		} | 		} | ||||||
| 		case ObjectValueType_EhandlePtr: | 		case ObjectValueType_EhandlePtr: | ||||||
| 		{ | 		{ | ||||||
| 			edict_t *pEnt = gamehelpers->EdictOfIndex(params[5]); | 			edict_t *pEdict = gamehelpers->EdictOfIndex(params[5]); | ||||||
| 
 | 
 | ||||||
| 			if(pEnt->IsFree()) | 			if(!pEdict || pEdict->IsFree()) | ||||||
| 			{ | 			{ | ||||||
| 				return pContext->ThrowNativeError("Invalid entity passed"); | 				return pContext->ThrowNativeError("Invalid edict passed"); | ||||||
| 			} | 			} | ||||||
| 			gamehelpers->SetHandleEntity(**(CBaseHandle **)(addr + params[3]), pEnt); | 			gamehelpers->SetHandleEntity(**(CBaseHandle **)(addr + params[3]), pEdict); | ||||||
| 
 | 
 | ||||||
| 			break; | 			break; | ||||||
| 		} | 		} | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user