Exemplo n.º 1
0
Arquivo: objects.c Projeto: rzel/dim3
bool object_script_remove(int idx,char *err_str)
{
	obj_type			*obj;

		// can not dispose player object

	if (idx==server.player_obj_idx) {
		strcpy(err_str,"Can not dispose player object");
		return(FALSE);
	}
	
		// does this object exist?
	
	if (server.obj_list.objs[idx]==NULL) {
		sprintf(err_str,"No object exists with ID: %d",idx);
		return(FALSE);
	}

		// can only delete objects spawned by
		// a script

	obj=server.obj_list.objs[idx];

	if (!obj->script_spawned) {
		strcpy(err_str,"Can only delete objects spawned by scripts");
		return(FALSE);
	}

		// is this a vehicle?  If so auto-eject
		// any object

	if (obj->vehicle.on) {
		if (obj->vehicle.attach_obj_idx!=-1) {
			object_exit_vehicle(obj,TRUE,NULL);
		}
	}

		// trigger the object to be
		// disposed when outside of scripting
		// loops

	obj->dispose_trigger=TRUE;

	return(TRUE);
}
Exemplo n.º 2
0
void player_enter_exit_input(obj_type *obj)
{
	if (!input_action_get_state(nc_enter_exit)) {
		enter_exit_key_down=FALSE;
		return;
	}
	
	if (enter_exit_key_down) return;			// only check on key downs
	
	enter_exit_key_down=TRUE;
	
		// exit a vehicle?
		
	if (obj->vehicle.attach_obj_uid!=-1) {
		object_exit_vehicle(obj,FALSE,NULL);
		return;
	}
		
		// enter a vehicle?
	
	object_enter_vehicle(obj,NULL);
}