Reiniciar un recurso deja atrás hilos, entidades o manejadores
Reiniciar un script dejó atrás sus vehículos, personajes o menús viejos, así que ahora hay dos de todo.
Haz esto primero
Un reinicio completo del servidor lo limpia. Al script hay que arreglarlo para que limpie lo suyo.
Qué significa
/restart mires detiene y arranca el recurso, pero no deshace lo que el recurso le hizo al mundo. Los hilos se matan; las entidades que generó, el foco de la NUI, los blips, los peds y todo lo que haya registrado en otro sitio, no. Reinicialo unas cuantas veces y vas a tener varias copias de todo.
El síntoma suele ser «funciona hasta que lo reinicio, y después lo hace dos veces».
Qué lo provoca
Ordenado por la frecuencia con la que es la respuesta.
- 1
Las entidades generadas no se limpian nunca
Peds, vehículos, objetos y blips creados al arrancar, recreados en el arranque siguiente, con los originales todavía ahí.
- 2
El foco de la NUI retenido en el momento de la detención
El jugador se queda sin poder moverse y sin ninguna interfaz en pantalla.
- 3
Manejadores registrados en otro recurso
Una zona de target o un comando registrado dentro de un recurso de terceros se queda registrado.
- 4
Hilos que sobreviven a la detención en el cliente
Un hilo del cliente sigue corriendo hasta que el cliente se entera de que el recurso se detuvo.
- 5
Datos escritos en un state bag o en una variable global
Persisten; el arranque siguiente les suma más.
Cómo saber cuál es el tuyo
Reiniciá el recurso dos veces y contá. Dos de un ped que tendría que ser uno es el diagnóstico entero.
Dónde mirar
Todo lo que se crea al arrancar el recurso, y si hay un onResourceStop que lo deshaga.
Cómo arreglarlo
Todo recurso que toque el mundo necesita un desmontaje:
local spawned = {}
AddEventHandler('onResourceStop', function(res)
if res ~= GetCurrentResourceName() then return end
for _, entity in ipairs(spawned) do
if DoesEntityExist(entity) then DeleteEntity(entity) end
end
SetNUIFocus(false, false)
end)¿Sigues atascado en tu propio código?
Esta página es lo que suele significar este error. Pega tu consola en Server Fixer y ordenará todo lo que haya en ella y te dirá qué hacer primero; y si prefieres no tocarlo, ORBIE puede reparar el script y devolverte el recurso listo para soltar.
bug_reportAbrir el Server FixerPara este tipo de error, el Script Optimizer encuentra qué te está costando fotogramas y lo reescribe.