From ca88eb1cad2350ea09398e6a5ccf8ea27de82d85 Mon Sep 17 00:00:00 2001 From: Quaternions <krakow20@gmail.com> Date: Wed, 23 Apr 2025 17:28:08 -0700 Subject: [PATCH] roblox_emulator: convert numbers to string in Instance.__newindex --- lib/roblox_emulator/src/runner/instance/instance.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/roblox_emulator/src/runner/instance/instance.rs b/lib/roblox_emulator/src/runner/instance/instance.rs index e3286f5..1804691 100644 --- a/lib/roblox_emulator/src/runner/instance/instance.rs +++ b/lib/roblox_emulator/src/runner/instance/instance.rs @@ -382,8 +382,13 @@ impl mlua::UserData for Instance{ rbx_types::Variant::Int32(typed_value) }, rbx_reflection::DataType::Value(rbx_types::VariantType::String)=>{ - let typed_value=value.as_str().ok_or_else(||mlua::Error::runtime("Expected string"))?; - rbx_types::Variant::String(typed_value.to_owned()) + let typed_value=match &value{ + mlua::Value::Integer(i)=>i.to_string(), + mlua::Value::Number(n)=>n.to_string(), + mlua::Value::String(s)=>s.to_str()?.to_owned(), + _=>return Err(mlua::Error::runtime("Expected string")), + }; + rbx_types::Variant::String(typed_value) }, rbx_reflection::DataType::Value(rbx_types::VariantType::UDim2)=>{ let typed_value:&crate::runner::udim2::UDim2=&*value.as_userdata().ok_or_else(||mlua::Error::runtime("Expected UDim2"))?.borrow()?;