Autor Tema: [Aporte] .lua para cambiar hora/clima/distancia de dibujado  (Leído 199 veces)

Desconectado Alison Houston


  • Usuario
  • Jr. Member
  • **

  • Mensajes: 67
  • Respeto: +10/-6
  • Moderador Global S4
    • Ver Perfil
[Aporte] .lua para cambiar hora/clima/distancia de dibujado
« on: 30 de Julio, 2019, 08:38:47 pm »
Importante: Para el funcionamiento de esto requieren tener el moonloader instalado y para el dibujado el cleo llamado FixDIST.cs ademas que esta forma de aporte es legal ya que no tiene ningun link de descarga.

Instalacion: Copian los codigos ya sea en un bloc de notas o notepad++ y el formato de guardado debe ser .lua, pueden llamarle al archivo como ustedes gusten, los codigos que deben copiar son los siguientes:

Código: [Seleccionar]
script_name("WTD Changer")
script_author("MT TEAM ©")

local inicfg = require("inicfg")
local memory = require("memory")
local ffi = require 'ffi'
local cast = ffi.cast
local draw_dist = cast('float *', 0x00B7C4F0)

cast('unsigned char *', 0x005609FF)[0] = 0xEB
cast('unsigned char *', 0x00561344)[0] = 0xEB

local data =
{
Settings =
{
Time = 12,
Weather = 1,
Distance = 900.0,
Static = true
}
}

function main()
repeat wait(0) until isSampAvailable()
local values = inicfg.load(data, "WTD Changer.ini")
inicfg.save(values, "WTD Changer.ini")
sampRegisterChatCommand("/t", setTime)
sampRegisterChatCommand("/w", setWeather)
sampRegisterChatCommand("/d", setDistance)
sampRegisterChatCommand("/sm", setStatic)
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Subido con éxito! Autor: {F7E937}MT TEAM ©", -1)
while true do
wait(0)
local values = inicfg.load(data, "WTD Changer.ini")
if values.Settings.Static then
if values.Settings.Time ~= memory.read(0xB70153, 1, false) then memory.write(0xB70153, values.Settings.Time, 1, false) end
if values.Settings.Weather ~= memory.read(0xC81320, 2, false) then memory.write(0xC81320, values.Settings.Weather, 2, false) end
if values.Settings.Distance ~= memory.read(0x00B7C4F0, 4, false) then weatmain(values.Settings.Distance) end
end
end
end

function setTime(time)
local time = tonumber(time)
if time < 0 or time > 23 then sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Entrada correcta: {F7E937}//t [0-23]", -1) else
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}El tiempo se establece en {F7E937}"..time, -1)
local values = inicfg.load(data, "WTD Changer.ini")
if values.Settings.Static then
values.Settings.Time = time
inicfg.save(values, "WTD Changer.ini")
else memory.write(0xB70153, time, 1, false)
end
end
end

function setDistance(param)
param = tonumber(param)
if param > 3600.0 or param < 101.0 then sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Entrada correcta: {F7E937}//d [101-3600]") return false end
weatmain(param)
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}La distancia de extracción se establece en {F7E937}"..param, -1)
end

function weatmain(dist)
local values = inicfg.load(data, "WTD Changer.ini")
draw_dist[0] = dist
values.Settings.Distance = dist
inicfg.save(values, "WTD Changer.ini")
end

function setWeather(weather)
local weather = tonumber(weather)
if weather < 0 or weather > 45 then sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Entrada correcta: {F7E937}//w [0-45]", -1) else
if message then
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}El clima está configurado para {F7E937}"..weather, -1)
end
local values = inicfg.load(data, "WTD Changer.ini")
if values.Settings.Static then
memory.write(0xC81320, weather, 2, false)
memory.write(0xC81318, weather, 2, false)
values.Settings.Weather = weather
inicfg.save(values, "WTD Changer.ini")
else
memory.write(0xC81320, weather, 2, false)
end
end
end

function setStatic(static)
if static == "true" then
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Static state: {F7E937}true", -1)
local values = inicfg.load(data, "WTD Changer.ini")
values.Settings.Static = true
inicfg.save(values, "WTD Changer.ini")
elseif static == "false" then
sampAddChatMessage("{F7E937}[WTD Changer] {FFFFFF}Static state: {F7E937}false", -1)
local values = inicfg.load(data, "WTD Changer.ini")
values.Settings.Static = false
inicfg.save(values, "WTD Changer.ini")
end
end

Los comandos para poder usarlo son los siguientes:

Hora del dia: //t 0-23
Clima/weather: //w 0-45
Distancia de dibujado: //d 101-3600

Aqui unas screen de cuando se cambia hora





Cambio de clima



Aqui el cambio de distancia dibujado, mostre el mas corto y el mas largo





Si tienen dudas pueden comentar para ayudarles

Desconectado Ruby Goumas


  • Usuario
  • Sr. Member
  • ****

  • Mensajes: 315
  • Respeto: +22/-20
  • I'm new to the server♥
    • Ver Perfil
Re:[Aporte] .lua para cambiar hora/clima/distancia de dibujado
« Respuesta #1 on: 31 de Julio, 2019, 08:19:26 am »
Me gusta, siempre quiero que sea de noche en el juego


Desconectado Alison Houston


  • Usuario
  • Jr. Member
  • **

  • Mensajes: 67
  • Respeto: +10/-6
  • Moderador Global S4
    • Ver Perfil
Re:[Aporte] .lua para cambiar hora/clima/distancia de dibujado
« Respuesta #2 on: 01 de Agosto, 2019, 10:52:36 pm »
Me gusta, siempre quiero que sea de noche en el juego

Este mod te lo guarda por 1 hora mas o menos ya que cambia despues la hora pero con volver a poner el cmd o igual usar el cleo de noche