Postado Fevereiro 13, 2017 8 anos Olá galera tenho um servidor tfs 1.0 versão do tibia 10.76 uso o servidor com xp stage. e achei alguns scripts de ring que aumenta o xp do player porem sempre aparece o seguinte erro obs: teria como colocar o efeito do party hat, mas enquanto estiver usando o ring ficar socando o efeito. Error: [MoveEvent::configureMoveEvent] No valid event name script [Warning - BaseEvents::loadFromXml] Failed to configure event Error: [MoveEvent::configureMoveEvent] No valid event name script [Warning - BaseEvents::loadFromXml] Failed to configure event Vou mostrar um dos scripts que tentei usar. items.xml <item id="7708" article="a" name="signet ring"> <attribute key="weight" value="80" /> <attribute key="description" value="This ring increases the experience." /> <attribute key="slotType" value="ring" /> <attribute key="decayTo" value="0" /> <attribute key="transformDeEquipTo" value="7697" /> <attribute key="duration" value="3600" /> <attribute key="showduration" value="1" /> </item> <item id="7708" article="a" name="signet ring"> <attribute key="weight" value="80" /> <attribute key="description" value="This ring increases the experience." /> <attribute key="slotType" value="ring" /> <attribute key="decayTo" value="0" /> <attribute key="transformDeEquipTo" value="7697" /> <attribute key="duration" value="3600" /> <attribute key="showduration" value="1" /> </item> Moviments.xml <!-- Ring xp--> <movevent type="Equip" itemid="7697" slot="ring" event="script" value="expring.lua"/> <movevent type="DeEquip" itemid="7708" slot="ring" event="script" value="expring.lua"/> expring.lua function onEquip(cid, item, slot) local rate = {} if getPlayerLevel(cid) <= 200 then rate = 1.3 elseif getPlayerLevel(cid) > 200 and getPlayerLevel(cid) <= 280 then rate = 1.15 elseif getPlayerLevel(cid) > 280 then rate = 1.05 end doTransformItem(item.uid, 7697, 1) doPlayerSendTextMessage(cid, 22, "Sua experiencia foi aumentada em "..((rate - 1)*10).." %.") doPlayerSetExperienceRate(cid, rate) return TRUE end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 7708, 1) doPlayerSendTextMessage(cid, 22, "Sua experiencia esta de volta ao normal.") doPlayerSetExperienceRate(cid, 1.0) return TRUE end Editado Fevereiro 13, 2017 8 anos por neykos (veja o histórico de edições)
Postado Fevereiro 19, 2017 8 anos Em creaturescripts/scripts crie um arquivo chamado ringexp.lua e adicione.. Citar -- Hugo Patriota -- local rate = 100 --- porcentagem a mais de xp, se 100 sempre dara o dobro da stage atual. function onKill(cid, target, lastHit) --if isPremium(cid) then -- ative caso somentes players premium possa usar. if (getPlayerStorageValue(cid, 45454) >= 1) then local monster = Monster(target) if not monster then return true end for id, damage in pairs(monster:getDamageMap()) do local player = Player(id) if player then local experience = damage.total / monster:getType():getHealth() * monster:getType():getExperience() local expFormula = (((experience * Game.getExperienceStage(player:getLevel())) / 100) * rate) player:addExperience(math.floor(expFormula), true) end end end return true end creaturescripts/scripts abra o arquivo login.lua e no final do script logo a cima de "return true" adicione. player:registerEvent("Exp_Extra") agora vá em creaturescripts.xml e adicione esta tag. <event type="kill" name="Exp_Extra" script="ringexp.lua"/> em data/movements/scripts crie um arquivo chamado ring_exp.lua e adicione. Citar function onEquip(cid, item, slot) doTransformItem(item.uid, 13826, 1) local player = Player(cid) player:sendTextMessage(19, 'Voce Agora Recebera uma Experiencia extra ao matar monstros. Aproveite!') player:setStorageValue(45454, 1) return true end function onDeEquip(cid, item, slot) doTransformItem(item.uid, 13825, 1) local player = Player(cid) player:sendTextMessage(19, 'Experiencia extra cancelada.') player:setStorageValue(45454, -1) return true end em movements.xml adione estas tags. Citar <movevent event="Equip" itemid="ID DO RING DESATIVADO" slot="ring" function="onEquipItem" /> <movevent event="DeEquip" itemid="ID DO RING DESATIVADO" slot="ring" function="onEquipItem" /> <movevent event="Equip" itemid="ID DO RING ATIVO" slot="ring" function="onEquipItem" script="ring_exp.lua"/> <movevent event="DeEquip" itemid="ID DO RING ATIVO" slot="ring" function="onDeEquipItem" script="ring_exp.lua"/> em items.xml adicione. Citar <item id="ID DO RING ATIVO" article="a" name="Ring Of Experience"> <attribute key="weight" value="500" /> <attribute key="description" value="Este anel lhe da 100% a mais de experiencia ATIVO." /> <attribute key="slotType" value="ring" /> <attribute key="duration" value="7200" /> 7200 segundos = 2 horas... <attribute key="decayTo" value="0" /> <attribute key="showduration" value="1" /> <attribute key="transformDeEquipTo" value="ID DO RING AO DESATIVAR" /> <attribute key="showattributes" value="1" /> </item> <item id="ID DO RING DESATIVADO" article="a" name="Ring Of Experience"> <attribute key="description" value="Este anel lhe da 100% a mais de experiencia ATIVO." /> <attribute key="weight" value="500" /> <attribute key="slotType" value="ring" /> <attribute key="stopduration" value="1" /> <attribute key="showduration" value="1" /> <attribute key="transformEquipTo" value="ID DO RING AO ATIVAR" /> </item> Bom e isto ai qualquer coisa reporte aqui.
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.