Ir para conteúdo

GiovaniRodrigo

Membro
  • Registro em

  • Última visita

Tudo que GiovaniRodrigo postou

  1. No map editor clique em Map/Edit Towns ou CTRL+T Depois escolha a cidade a ser editada Vermelho: Edita o nome da cidade. Azul: Edita a posição do templo
  2. Na pasta data/npc/scripts E nessa linha do NPC.xml aonde está script você coloca o caminho do script que o Max fez. <npc name="Aldo" script="bootmaker.lua" walkinterval="2000" floorchange="0"> Ex: Se você salvou o script do Max na pasta data/npc/scripts com o nome de npcpoison.lua, no NPC ficaria assim <npc name="Aldo" script="npcpoison.lua" walkinterval="2000" floorchange="0"> Att. Giovani Rodrigo
  3. Obrigado a você por dar essa tarefa para mim, gosto muito de scriptear mas tenho um sério problema com criatividade, então sempre que surge um desafio tento fazer. Att. Giovani Rodrigo
  4. Script atualizado, recopie o código
  5. Tive problemas com essa distro, até abandonei, era o mesmo problema que você, fechamento do executável. O meu fechava quando estava dando loading nas Talkactions. Ele é o unico que tem warzone, te aconselho a copiar warzone dele e baixar uma outra distro. Att. Giovani Rodrigo
  6. Teste este <movevent type="Equip" itemid="2141" slot="pickupable" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="2141" slot="pickupable" event="function" value="onDeEquipItem"/> Se der certo avise. Dúvidas? Me avise. Att. Giovani Rodrigo
  7. GiovaniRodrigo postou uma resposta no tópico em Playground (Off-topic)
    Comentando sobre a música: Eu particularmente não gostei. Sou mais essa
  8. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Crie um arquivo chamado npcteleporvip.lua na pasta data/npc/scripts e cole isto local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local toPos = {x=160, y=154, z=7} local storage = 12345 if msgcontains(msg, 'ok') then if getPlayerStorageValue(cid, storage) >= 1 then doTeleportThing(cid, toPos) doSendMagicEffect(toPos, 10) npcHandler:say('You have been teleported to the VIP area, make good use of it!', cid) else npcHandler:say('Sorry, but you are not VIP and can not have access to this area.', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configurando Crie um arquivo chamado NpcVIP.xml na pasta data/npc e cole isto <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome Npc" script="data/npc/scripts/npcteleporvip.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="97" body="100" legs="115" feet="114" corpse="2212"/> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|! Would like to know the VIP area? If yes says {ok}"/> <parameter key="message_walkaway" value="Hey Hey, where you go?"/> <parameter key="message_farewell" value="Goodbye |PLAYERNAME|."/> </parameters> </npc> Configurando Não testado, se der erro avise. Dúvidas? Me avise. Att. Giovani Rodrigo
  9. Crie um arquivo chamado fusionlever.lua na pasta data/actions/scripts e cole isto function onUse(cid, item, frompos, item2, topos) local cfg = { firstItemId = 8300, -- ID do primeiro item secondItemId = 8303, -- ID do segundo item rewardItemId = 8306 -- ID do item fundido } local firstItemPos = {x = 1020, y = 1018, z = 7, stackpos=2} -- Posição do primeiro item local secondItemPos = {x = 1021, y = 1018, z = 7, stackpos=2} -- Posição do segundo item local rewardItemPos = {x = 1021, y = 1020, z = 7} -- Posição do item fundido local getFirstItem = getThingfromPos(firstItemPos) local getSecondItem = getThingfromPos(secondItemPos) if item.uid == 9900 and item.itemid == 1945 and getFirstItem.itemid == cfg.firstItemId and getSecondItem.itemid == cfg.secondItemId then if doRemoveItem(getFirstItem.uid, 1) and doRemoveItem(getSecondItem.uid, 1) then doSendMagicEffect(firstItemPos, 2) doSendMagicEffect(secondItemPos, 2) doSendMagicEffect(rewardItemPos, 14) doCreateItem(cfg.rewardItemId, 1, rewardItemPos) doTransformItem(item.uid, item.itemid+1) doPlayerSendTextMessage(cid, 18, 'Congratulations! You merged '.. getItemNameById(cfg.firstItemId) ..' with '.. getItemNameById(cfg.secondItemId) ..' and got '.. getItemNameById(cfg.rewardItemId) ..'.') else return FALSE end elseif item.uid == 9900 and item.itemid == 1946 then if doRemoveItem(getFirstItem.uid, 1) and doRemoveItem(getSecondItem.uid, 1) then doSendMagicEffect(firstItemPos, 2) doSendMagicEffect(secondItemPos, 2) doSendMagicEffect(rewardItemPos, 14) doCreateItem(cfg.rewardItemId, 1, rewardItemPos) doTransformItem(item.uid, item.itemid-1) doPlayerSendTextMessage(cid, 18, 'Congratulations! You merged '.. getItemNameById(cfg.firstItemId) ..' with '.. getItemNameById(cfg.secondItemId) ..' and got '.. getItemNameById(cfg.rewardItemId) ..'.') else return FALSE end else doPlayerSendTextMessage(cid, 18, 'You didn\'t put the necessary items to make the merger.') end return TRUE end Configurando Adicione a seguinte linha no arquivo actions.xml que se encontra na pasta data/actions <action uniqueid="9900" event="script" value="fusionlever.lua" /> No map editor coloque a alavanca de ID 1945 e coloque o UniqueID da alavanca 9900 Testado e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo
  10. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Não consome pois não configurei para consumir, achei que só precisava do item e não removia. Vou editar, copia a magia do mage de novo. Att. Giovani Rodrigo
  11. Reportado Dúvida Sanada Att. Giovani Rodrigo
  12. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Spell Paladin Spell Mage Efeitos para Spell Efeito a Distancia Efeito Direto no Player Testado e está 100% funcional. Dúvidas? Me avise. (OBS: Estou criando a spell do mage, daqui a pouco eu posto) Att. Giovani Rodrigo
  13. Na pasta data/movements/scripts crie um arquivo chamado tilevip.lua e cole isso function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 13540) >= 1 then doPlayerSendTextMessage(cid, 18, 'Welcome to the City Vip.') else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, 18, 'You are not vip, to get vip say !buyvip.') end end No arquivo movements.xml que se encontra na pasta data/movements adicione essa linha <movevent type="StepIn" actionid="4589" event="script" value="tilevip.lua" /> No map editor coloque o Action ID do piso que exige vip 4589. Testado e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo
  14. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Será? rsrs Pesquisei e vi que algumas pessoas conseguiram com esse atributo.
  15. Tente esse código stat1 = {x=33281, y=32442, z=8, stackpos=1} stat2 = {x=33286, y=32444, z=8, stackpos=1} stat3 = {x=33284, y=32450, z=8, stackpos=1} stat4 = {x=33278, y=32450, z=8, stackpos=1} stat5 = {x=33276, y=32444, z=8, stackpos=1} oracle = {x=33284, y=32476, z=8, stackpos=1} stair1 = {x=33273, y=32458, z=8, stackpos=1} stair2 = {x=33273, y=32459, z=8, stackpos=1} uniqid = 9900 delay = 1 function gatevolta() getgate1 = getThingfromPos(stat1) getgate2 = getThingfromPos(stat2) getgate3 = getThingfromPos(stat3) getgate4 = getThingfromPos(stat4) getgate5 = getThingfromPos(stat5) getgate6 = getThingfromPos(oracle) getgate7 = getThingfromPos(stair1) getgate8 = getThingfromPos(stair2) if getgate1.itemid == 0 and getgate2.itemid == 0 and getgate3.itemid == 0 and getgate4.itemid == 0 and getgate5.itemid == 0 then doRemoveItem(getgate6.uid, 1) doRemoveItem(getgate7.uid, 1) doRemoveItem(getgate8.uid, 1) doCreateItem(3698, 1, stat1) doCreateItem(3698, 1, stat2) doCreateItem(3697, 1, stat3) doCreateItem(3697, 1, stat4) doCreateItem(3697, 1, stat5) doTransformItem(uniqid, 1946-1) else return FALSE end return TRUE end function onUse(cid, item, frompos, item2, topos) getgate1 = getThingfromPos(stat1) getgate2 = getThingfromPos(stat2) getgate3 = getThingfromPos(stat3) getgate4 = getThingfromPos(stat4) getgate5 = getThingfromPos(stat5) getgate6 = getThingfromPos(oracle) getgate7 = getThingfromPos(stair1) getgate8 = getThingfromPos(stair2) if item.uid == uniqid and item.itemid == 1945 and getgate1.itemid == 3698 and getgate2.itemid == 3698 and getgate3.itemid == 3697 and getgate4.itemid == 3697 and getgate5.itemid == 3697 then doRemoveItem(getgate1.uid, 1) doRemoveItem(getgate2.uid, 1) doRemoveItem(getgate3.uid, 1) doRemoveItem(getgate4.uid, 1) doRemoveItem(getgate5.uid, 1) doCreateItem(1448, 1, oracle) doCreateItem(7525, 1, stair1) doCreateItem(7521, 1, stair2) doTransformItem(item.uid, item.itemid+1) doPlayerSendTextMessage(cid, 22, 'Oh, there are stairs!') addEvent(gatevolta, delay*60*1000) else doPlayerSendTextMessage(cid, 26, 'Bad configuration') end return TRUE end Configurando Testado no TFS 8.6 DEV 0.4 (REV3884) e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo
  16. Como assim mover a estátua? Poderia explicar melhor.
  17. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    No arquivo items.xml que se encontra na pasta data/items procure o item que você criou e adicione o seguinte atributo <attribute key="attackspeed" value="1500"/> Configurando Não testado, se der erro avise. Dúvidas? Me avise. Att. Giovani Rodrigo
  18. Você quer que volte as estátuas depois de certo tempo? Att. Giovani Rodrigo
  19. GiovaniRodrigo postou uma resposta no tópico em Playground (Off-topic)
    Sempre quis usar ele pra saber como é, mas jogo demais e a questão de compatibilidade quebra as pernas. Poderia deixar o Win7 e Ubuntu, mas toda vez que eu for jogar ter que reiniciar o PC e trocar de sistema fica meio difícil.
  20. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Crie um arquivo chamado skulldrop.lua na pasta data/creaturescripts/scripts e cole isso function onDeath(cid, lastHitKiller, mostDamageKiller) if getPlayerSkullType(cid) >= 1 then doCreatureSetDropLoot(cid, true) end return TRUE end Adicione essa linha no arquivo creaturescripts.xml que se encontra na pasta data/creaturescripts <event type="death" name="skullDropAll" event="script" value="skulldrop.lua"/> Adicione essa linha no arquivo login.lua que se encontra na pasta data/creaturescripts/scripts registerCreatureEvent(cid, "skullDropAll") Não testado, se der erro avise. Dúvidas? Me Avise Att. Giovani Rodrigo
  21. Nunca vi esse sistema, poderia explicar mais sobre as funções dele, pra que ele é usado exatamente. Att. Giovani Rodrigo
  22. GiovaniRodrigo postou uma resposta no tópico em Playground (Off-topic)
    Ubuntu. Seu computador pessoal?
  23. Tente postar o script do WoE. Att. Giovani Rodrigo
  24. Não é tão simples assim, se ele apenas remover do mapa ele pode perder funções no mesmo. Como por exemplo ela remover um UniqueID de uma quest, e ai como fica? Para ele retirar os UniqueID duplicados ele teria que alterar os scripts que usam o mesmo. Já sobre o erro do executável você pode estar certo. Att. Giovani Rodrigo
  25. GiovaniRodrigo postou uma resposta no tópico em Suporte Tibia OTServer
    Script Death Modifique o arquivo playerdeath.lua que se encontra na pasta data/creaturescripts/scripts function onDeath(cid, corpse, deathList) local strings = {""} local t, position = 1, 1 local deathType = "killed" local toSlain, toCrushed = 3, 9 if #deathList >= toSlain then deathType = "slain" elseif #deathList >= toCrushed then deathType = "crushed" end for _, pid in ipairs(deathList) do strings[position] = t == 1 and "" or strings[position] .. ", " strings[position] = strings[position] .. getCreatureName(pid) .. "" t = t + 1 end for i, str in ipairs(strings) do if(str:sub(str:len()) ~= ",") then str = str .. "." end msg = getCreatureName(cid) .. " was " .. deathType .. " at level " .. getPlayerLevel(cid) .. " by " .. str end for _, oid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(oid, "Death channel", msg, TALKTYPE_CHANNEL_O, CHANNEL_DEATH) end if isPlayer(cid) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 100) doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 100) doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 100) doCreatureSetDropLoot(cid, true) db.executeQuery('DELETE FROM player_storage WHERE id '.. getPlayerGUID(cid) ..';') return TRUE end return TRUE end Script Logout Crie um arquivo chamado logoutloss.lua na pasta data/creaturescripts/scripts e cole isso if isPlayer(cid) then doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, 100) doPlayerSetLossPercent(cid, PLAYERLOSS_SKILLS, 100) doPlayerSetLossPercent(cid, PLAYERLOSS_MANA, 100) doCreatureSetDropLoot(cid, true) db.executeQuery('DELETE FROM player_storage WHERE id '.. getPlayerGUID(cid) ..';') return TRUE end return true end Adicione no arquivo creaturescripts.xml que se encontra na pasta data/creaturescripts a seguinte linha <event type = "logout" name = "logoutLoss" event = "script" value = "logoutloss.lua" /> Adicione no arquivo login.lua que se encontra na pasta data/creaturescripts/scripts a seguinte linha registerCreatureEvent(cid, "logoutLoss") Não foi testado, se der erro avise. Dúvidas? Me avise. Att. Giovani Rodrigo

Informação Importante

Confirmação de Termo