Normal + Derivado Dúvida em sistema derivado
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por andreswmsoto
Preciso de ajuda com esse erro, me falaram que os numeros que apareçem é onde estam os erros(numero de linhas) entao eu peguei exatamente a linha onde eu marquei o erro com >>>>>>>>>>>>>.
OBS:Erro da quando eu tento atacar um digimon ou quando o digimon passa de lvl.
ERRO:
[20/01/2015 20:15:20] [Error - CreatureScript Interface] [20/01/2015 20:15:20] data/creaturescripts/scripts/exp.lua:onStatsChange [20/01/2015 20:15:20] Description: [20/01/2015 20:15:20] data/lib/some functions.lua:255: attempt to compare nil with number [20/01/2015 20:15:20] stack traceback: [20/01/2015 20:15:20] data/lib/some functions.lua:255: in function 'getHappinessRate' [20/01/2015 20:15:20] data/creaturescripts/scripts/exp.lua:440: in function <data/creaturescripts/scripts/exp.lua:129> exp.lua(440): local function resetMiss(cid)
if not isCreature(cid) then return true end
setPlayerStorageValue(cid, 88726, -1)
end
if getPlayerStorageValue(cid, 88726) ~= 1 and miss > 0 and math.random(1, 100) <= miss and damageCombat ~= COMBAT_PHYSICALDAMAGE and not isInArray(ignoremiss, combat) and not isSleeping(cid) and not getCreatureCondition(cid, CONDITION_PARALYZE) then
doSendMagicEffect(getThingPos(cid), 211)
doSendAnimatedText(getThingPos(cid), "MISS", 215)
doTeleportThing(cid, getClosestFreeTile(cid, getThingPos(cid)), false)
doSendMagicEffect(getThingPos(cid), 211)
doFaceCreature(cid, getThingPos(attacker))
setPlayerStorageValue(cid, 88726, 1)
>>>>>>>>>>ERRO AQUI EU ACHO addEvent(resetMiss, 2200, cid)
return false
end
some functions.lua(255):
function doCorrectPokemonName(poke)
return doCorrectString(poke)
end
function doCorrectString(poke)
local name = ""
local n = string.explode(poke, " ")
local str = string.sub(n[1], 1, 1)
>>>>>>>>>>>>>ERRO AQUI EU ACHO local sta = string.sub(n[1], 2, string.len(n[1]))
name = ""..string.upper(str)..""..string.lower(sta)..""
if n[2] then
str = string.sub(n[2], 1, 1)
sta = string.sub(n[2], 2, string.len(n[2]))
name = name.." "..string.upper(str)..""..string.lower(sta)..""
end
return name
end
-------------------------------HAPPINESSRATE È CITADO NO ERRO
function getHappinessRate(cid)
if not isCreature(cid) then return 1 end
local a = getPlayerStorageValue(cid, 1008)
if a == -1 then return 1 end
if a >= getConfigValue('PokemonStageVeryHappy') then
return happinessRate[5].rate
elseif a >= getConfigValue('PokemonStageHappy') then
return happinessRate[4].rate
elseif a >= getConfigValue('PokemonStageOK') then
return happinessRate[3].rate
elseif a >= getConfigValue('PokemonStageSad') then
return happinessRate[2].rate
else
return happinessRate[1].rate
end
return 1
end
exp.lua(129):
local damages = {MORTALGASDAMAGE, GROUNDDAMAGE, ELECTRICDAMAGE, ROCKDAMAGE, FLYDAMAGE, BUGDAMAGE, FIGHTINGDAMAGE, DRAGONDAMAGE, POISONDAMAGE, DARKDAMAGE, STEELDAMAGE, NIGHTMAREDAMAGE, GUILLOTINEDAMAGE, SEISMICTOSSDAMAGE}
>>>>>>>>>>>>ERRO AQUI EU ACHO local fixdmgs = {PSYCHICDAMAGE, COMBAT_PHYSICALDAMAGE, GRASSDAMAGE,
FIREDAMAGE, WATERDAMAGE, ICEDAMAGE,NORMALDAMAGE, GHOSTDAMAGE}
local ignored = {NIGHTMAREDAMAGE, GUILLOTINEDAMAGE, MORTALGASDAMAGE, SEISMICTOSSDAMAGE, PSYCHOSHIFTDAMAGE, POISONEDDAMAGE, BURNEDDAMAGE}
local ignoremiss = {NIGHTMAREDAMAGE, MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE}
local ignorecritical = {MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE, NIGHTMAREDAMAGE}
local cannotkill = {MORTALGASDAMAGE, BURNEDDAMAGE, POISONEDDAMAGE, NIGHTMAREDAMAGE}
function onStatsChange(cid, attacker, type, combat, value)
if combat == FLYSYSTEMDAMAGE then return false end
if isPlayer(cid) and getCreatureOutfit(cid).lookType == 814 then return false end -- TV
local damageCombat = combat
if damageCombat == THUNDERWAVEDAMAGE then
damageCombat = ELECTRICDAMAGE
elseif damageCombat == PSYCHOSHIFTDAMAGE then
damageCombat = PSYCHICDAMAGE
end
if getPlayerStorageValue(cid, 33) >= 1 then -- funcionamento do self destruction
if isCreature(attacker) then
return false
end
return true
end
if not isCreature(attacker) or cid == attacker then
if not isInArray(fixdamages, combat) and combats[combat] then
doSendAnimatedText(getThingPos(cid), value, combats[combat].cor)
end
return true
end
--------------------------------------------------
if combat == SLEEP_POWDERDAMAGE then
if not isSummon(cid) and not isSummon(attacker) and not isPlayer(attacker) then
return false
end
if isPlayer(cid) then
return false
end
if isNpcSummon(cid) and getCreatureTarget(cid) ~= attacker then
return false
end
if isSummon(cid) and isSummon(attacker) then
if not isInParty(getCreatureMaster(cid)) or not isInParty(getCreatureMaster(attacker)) then
return false
end
if not getPlayerParty(getCreatureMaster(cid)) == getPlayerParty(getCreatureMaster(attacker)) then
return false
end
end
doSleep(cid, value, true)
return false
end
-
Por yurirzu
Olá tenho uma duvida, eu peguei um base de pokemon e estou desenvolvendo um servidor de digimon, entao peguei um pokemon para criar um digimon, ja fiz alteraçoes e esta tudo ok, porem quando eu dou catch no digimon ele volta a ser pokemon exemplo:
Criançao na base de um Caterpie e agora é Botamon
Capiturei um Botamon porem dps quando invoco ele vira um Caterpie dnv
-
Por Danyel Varejao
Fala galerinha do TK, aqui vai um script muito útil para vários servidores. O script serve para salvar o player e a house do mesmo, utilizando o comando !save.
O script foi testado em OTXServer 2.
local Configs = { Exhausted = 180, Storage_Exhausted = 5000001, Messages = { SALVED = "You character has been salved.", EXHAUST = "You need wait %d seconds to save again.", }, } local function doSavePlayerAndHouse(cid) doPlayerSave(cid) if getHouseByPlayerGUID(getPlayerGUID(cid)) then doSaveHouse(getHouseByPlayerGUID(getPlayerGUID(cid))) end return true end function onSay(cid, words, param) if getPlayerStorageValue(cid, Configs.Storage_Exhausted) >= os.time() then doPlayerSendCancel(cid, string.format(Configs.Messages.EXHAUST, getPlayerStorageValue(cid, Configs.Storage_Exhausted) - os.time())) return true end doSavePlayerAndHouse(cid) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, Configs.Messages.SALVED) setPlayerStorageValue(cid, Configs.Storage_Exhausted, os.time() + Configs.Exhausted) return true end Tag do talkactions.xml
<talkaction words="/save;!save" event="script" value="SavePlayers.lua"/>
-
Por Belmont
Hoje venho aqui trazer a solução pra vocês que colam scripts e jogam em seus arquivos, essa solução nada mais é que remover os caracteres especias que vem junto quando você usa o famoso comando CTRL+C e CTRL+V, esse erro se apresenta de várias formas.
Para resolver, basta você ir no diretório do arquivo abri-lo e ir até a linha que mostra no executável(distro) e procurar o caractere especial, LEMBRANDO que ele pode vim oculto, você ira precisar procurar em letra por letra, no vídeo abaixo explica como procurar o caractere especial oculto letra por letra. O que eu fiz ai no vídeo foi somente apagar o caractere oculto.
Os caracteres ocultos, eles podem serem visualizados com mais facilidade ou com mais dificuldade, no caso desse vídeo, foi bem fácil de visualizar, mais em fim, é só você ir até a linha que mostra no executável(distro) vai no final do código e vem apertando a tecla na direção esquerda até acha-lo.
-
Por Cat
Essa resolução visa reduzir o lag na hora de mapear.
Dicas:
Leve em consideração que um mapa de 100MB necessita em torno de 4GB de memória, um de 200MB, 8GB e assim vai. Mapear com minimap aberto ajuda a travar o mapa. Quando for mapear, feche outros aplicativos. Faça backups frequentes, (Se usar um CPU cuidado com quedas de energia, pode corromper seu mapa ao desligar). Use a última versão lançada para evitar erros.
Mas como posso fazer para que o Map Editor trave menos?
Com o Remeres aberto, vá em File - Preferences - General. Em File – Preferences – General você deverá configurar Undo Queue Size: Aqui vai o valor (em MB) da metade da memória ram de seu pc (caso queira coloque mais). Undo maximum memory size (MB): Tamanho máximo de memória que o RME poderá utilizar, aumente para metade da memória ram de seu pc (caso queira coloque mais). Worker Threads: Número de núcleos de processador que o RME pode utilizar, nessa parte depende se seu processador, caso seu pc só tenha um núcleo deixe apenas um, caso tenha 2, deixe 2 e se for maior que isso deixe o tanto que você preferir.
Aplique, reinicie o editor e teste as novas configurações. Se ainda não funcionar, faça uma limpeza de hardware/software, atualize seus drivers ou compre um PC melhor.
-
Posts Recomendados
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.