Postado Março 4, 2021 4 anos 3 horas atrás, Breno Alves disse: Tenta fazer assim if ((regenerationActivated) && (timeInPz >= timeNow)) { player.cpp: In member function ‘virtual void Player::onThink(uint32_t)’: player.cpp:2030:44: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] if ((regenerationActivated) && (timeInPz >= timeNow)) { ^ cc1plus: all warnings being treated as errors Makefile:40: recipe for target 'obj/player.o' failed make: *** [obj/player.o] Error 1
Postado Maio 12, 2021 4 anos Em 16/01/2019 em 10:15, Vodkart disse: sera que fazendo pelo onThink nao é melhor? exemplo no creaturescript: staminareco.lua local storage = 323274 local store,exausted = 156892,30 function onLogin(cid) registerCreatureEvent(cid, "StaminaThink") setPlayerStorageValue(cid, store,0) setPlayerStorageValue(cid, storage, 0) return true end function onThink(cid, interval) if not isPlayer(cid) or not isCreature(cid) then return true end if getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) <= 0 then setPlayerStorageValue(cid, storage, 1) if getPlayerStorageValue(cid, store) - os.time() <= 0 then doPlayerSendTextMessage(cid, 20, "{Stamina Recovery} Sua stamina começou a se recuperar, o fator de recuperação é de 30 segundos de stamina a cada 5 segundos dentro da zona de proteção em relação as condições normais.") setPlayerStorageValue(cid, store, os.time()+exausted) end elseif not getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) > 0 then setPlayerStorageValue(cid, storage, 0) end return true end TAG <event type="login" name="StaminareLogin" event="script" value="staminareco.lua"/> <event type="think" name="StaminaThink" event="script" value="staminareco.lua"/> e no globalevents: staminareco.lua function onThink(pid, interval, lastExecution, thinkInterval) local refuel = 42 * 60 * 1000 -- full local add = 30000 -- 30 segundos for _, pid in ipairs(getPlayersOnline()) do if getTilePzInfo(getCreaturePosition(pid)) and getPlayerStamina(pid) < refuel then doPlayerSetStamina(pid, getPlayerStamina(pid) + add) end end return true end TAG <globalevent name="StaminaRegen" interval="5" script="staminareco.lua"/> obs: se o seu servidor for em milesegundos trocar o "5" por "5000" o q é essa "TAG"? Em 16/01/2019 em 11:19, Vodkart disse: @Tomarasdaf ja arrumei, ali no globalevents o interval é na tag, eu coloquei 5 de interval na tag e a cada 5 segundos vai subir 500(meio segundo) a cada 1000 = 1 segundo você pode colocar ali por exemplo 10 segundos de stamina a cada 5 segundos function onThink(pid, interval, lastExecution, thinkInterval) local refuel = 42 * 60 * 1000 -- full local add = 10000 -- 10 segundos for _, pid in ipairs(getPlayersOnline()) do if getTilePzInfo(getCreaturePosition(pid)) and getPlayerStamina(pid) < refuel then doPlayerSetStamina(pid, getPlayerStamina(pid) + add) end end return true end onde colo a tag? Em 19/01/2019 em 07:27, vankk disse: Eu fiz esse script rápido em C++ para regenerar Stamina X de stamina no PZ a cada X segundos. https://gist.github.com/vankk/ebd1377d52b3b92028ecad632e949d0c Só você adicionar no config.lua staminaRegenPz = true staminaSecondsToRegen = 30 gainStaminaRegerationPz = 1 Vai recuperar 1 minuto de stamina a cada 30 segundos. Caso você deseja desativar o script basta mudar de true para false. onde eu jogo o script?
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.