Jump to content

No se que podria ser :s [solucionado]


RottenFlesh

Recommended Posts

Hola a todos...

Necesito su ayuda para encontrar el error en unos scripts que estoy haciendo para mi gamemode...

Lo que deberian hacer es que cada hora, si el jugador ha estado por mas de 10 minutos jugando, le de una pequeña cantidad de dinero como recompensa...

Esta medio trabado, espero que puedan ayudarme :?

aca el server side

function payDay () 
local hora = getRealTime() 
if (hora.minute == 0 and hora.second == 0) then --Tambien intente con hora.minute == '0' and hora.second =='0', con las comillas y tampoco funciono, aca esta el error pero no se como areglarlo 
triggerClientEvent("isTimeToPayDay") 
else outputChatBox("Error", root, 255, 0, 0) 
end 
end 
  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function () setTimer(payDay, 300,0) end) 

tambien pongo el client side por si encuentran algun error

function onClientStart () 
startTime = getTickCount() 
end 
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onClientStart) 
  
  
function onPayDay () 
payTime = getTickCount() 
local totalTime = startTime - payTime 
if (totalTime <= 600000) then --si no han pasado mas de 10 minutos jugando 
outputChatBox("[server]: No tienes sufucuente tiempo jugando para un PayDay.", 200, 200, 200) 
else 
local gananacia = getPlayerMoney(thePlayer) * 0.01 
local dineroTotal = getPlayerMoney(thePlayer) + ganancia 
outputChatBox("[[------------ Pay Day ------------]]", 70, 200, 0) 
outputChatBox(" ") 
outputChatBox("Dinero Actual -| "..getPlayerMoney(thePlayer), 250, 250, 250) 
outputChatBox("Ganancias     -| "..ganancia, 250, 250, 250) 
outputChatBox("Saldo Total   -| "..dineroTotal, 250, 250, 250) 
outputChatBox(" ") 
outputChatBox("[[---------------------------------]]", 70, 200, 0) 
givePlayerMoney(ganancia) 
end 
end 
addEvent("isTimeToPayDay", true) 
addEventHandler("isTimeToPayDay", getRootElement(), onPayDay) 

y el resultado es que cuando es el minuto 0 y el segundo 0 osea cuando es una hora exacta, se spamea el chat con el mensaje de "error" que puse en el server side y paran de salir mensajes luego de unos 20 segundos...

a alguien se le ocurre algo para solucionarlo? :roll:

Edited by Guest
Link to comment

Si, seria mas conveniente pero lo que busco no es que pase cada hora despues de iniciar el script sino que cada hora real

El error tiene que estar en esta parte:

local hora = getRealTime() 
if (hora.minute == 0 and hora.second == 0) then 

Lo malo es que no se manejar muy bien esta funcion :|

Link to comment
Hola a todos...

Necesito su ayuda para encontrar el error en unos scripts que estoy haciendo para mi gamemode...

Lo que deberian hacer es que cada hora, si el jugador ha estado por mas de 10 minutos jugando, le de una pequeña cantidad de dinero como recompensa...

Esta medio trabado, espero que puedan ayudarme :?

aca el server side

function payDay () 
local hora = getRealTime() 
if (hora.minute == 0 and hora.second == 0) then --Tambien intente con hora.minute == '0' and hora.second =='0', con las comillas y tampoco funciono, aca esta el error pero no se como areglarlo 
triggerClientEvent("isTimeToPayDay") 
else outputChatBox("Error", root, 255, 0, 0) 
end 
end 
  
addEventHandler("onResourceStart", getResourceRootElement(getThisResource()), function () setTimer(payDay, 300,0) end) 

tambien pongo el client side por si encuentran algun error

function onClientStart () 
startTime = getTickCount() 
end 
addEventHandler("onClientResourceStart", getResourceRootElement(getThisResource()), onClientStart) 
  
  
function onPayDay () 
payTime = getTickCount() 
local totalTime = startTime - payTime 
if (totalTime <= 600000) then --si no han pasado mas de 10 minutos jugando 
outputChatBox("[server]: No tienes sufucuente tiempo jugando para un PayDay.", 200, 200, 200) 
else 
local gananacia = getPlayerMoney(thePlayer) * 0.01 
local dineroTotal = getPlayerMoney(thePlayer) + ganancia 
outputChatBox("[[------------ Pay Day ------------]]", 70, 200, 0) 
outputChatBox(" ") 
outputChatBox("Dinero Actual -| "..getPlayerMoney(thePlayer), 250, 250, 250) 
outputChatBox("Ganancias     -| "..ganancia, 250, 250, 250) 
outputChatBox("Saldo Total   -| "..dineroTotal, 250, 250, 250) 
outputChatBox(" ") 
outputChatBox("[[---------------------------------]]", 70, 200, 0) 
givePlayerMoney(ganancia) 
end 
end 
addEvent("isTimeToPayDay", true) 
addEventHandler("isTimeToPayDay", getRootElement(), onPayDay) 

y el resultado es que cuando es el minuto 0 y el segundo 0 osea cuando es una hora exacta, se spamea el chat con el mensaje de "error" que puse en el server side y paran de salir mensajes luego de unos 20 segundos...

a alguien se le ocurre algo para solucionarlo? :roll:

function payDay () 
local time = getRealTime() 
local minutes = time.minute 
local seconds = time.second 
if minute == 0 and minute == 0 then 
triggerClientEvent("isTimeToPayDay") 
else outputChatBox("Error", root, 255, 0, 0) 
end 
end 
  
addEventHandler("onResourceStart", resourceRoot, function () setTimer(payDay, 300,0) end) 

Link to comment

Haaa solo era de cambiarle el hora por time :P ya funciona esa parte pero por alguna razon no funciona la parte del client side :S

Me quedo asi

server

function payDay () 
local time = getRealTime() 
local minutes = time.minute 
local seconds = time.second 
if minutes == 0 and seconds == 0 then 
triggerClientEvent("isTimeToPayDay", getRootElement()) 
outputChatBox("asd") -- con este outputChatBox comprobe que hasta aqui funciona bien 
end 
end 
addEventHandler("onResourceStart", resourceRoot, function () setTimer(payDay, 1000,0) end) 

Client:

function onPayDay () 
local gananacia = getPlayerMoney(getLocalPlayer()) * 0.01 -- tambien intente quitando los parametros de getLocalPlayer y tampoco funciono 
local dineroTotal = getPlayerMoney(getLocalPlayer()) + ganancia 
outputChatBox("------------ Pay Day ------------", 70, 200, 0) 
outputChatBox(" ") 
outputChatBox("Dinero Actual -| "..getPlayerMoney(getLocalPlayer()), 250, 250, 250) 
outputChatBox("Ganancias     -| "..ganancia, 250, 250, 250) 
outputChatBox("Saldo Total   -| "..dineroTotal, 250, 250, 250) 
outputChatBox(" ") 
outputChatBox("---------------------------------", 70, 200, 0) 
givePlayerMoney(ganancia) 
end 
end 
addEvent( "isTimeToPayDay", true) 
addEventHandler( "isTimeToPayDay", getRootElement(), onPayDay) 

Le ven algun error el client side? :S no se por que no funciona

Link to comment

Listo ya lo aregle :D tuve que cambiarle un par de cosas pero al fin ya funciona

Voy a postear el codigo por si a alguien le sirve

server-side

function payDay () 
local time = getRealTime() 
local minutes = time.minute 
local seconds = time.second 
if minutes == 00 and seconds == 0 then 
triggerClientEvent("isTimeToPayDay", getRootElement()) 
end 
end 
addEventHandler("onResourceStart", resourceRoot, function () setTimer(payDay, 1000,0) end) 

client-side

function onPayDay () 
local dinero = getPlayerMoney(getLocalPlayer()) 
outputChatBox(" ") 
outputChatBox("|||------------ Pay Day ------------|||", 70, 200, 0) 
outputChatBox(" ") 
outputChatBox("Dinero Actual -| #EEDDAA"..dinero, 250, 250, 250, true) 
outputChatBox("Ganancias      -| #EEDDAA"..(dinero * 0.01), 250, 250, 250, true) 
outputChatBox("Saldo Total     -| #EEDDAA"..dinero + (dinero * 0.01), 250, 250, 250, true) 
outputChatBox(" ") 
outputChatBox("|||------------------------------------|||", 70, 200, 0) 
givePlayerMoney(dinero * 0.01) 
end 
addEvent( "isTimeToPayDay", true) 
addEventHandler( "isTimeToPayDay", getRootElement(), onPayDay) 

Gracias denuevo por su ayuda :D

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...