Tudo que GiovaniRodrigo postou
-
[Pedido] Npc Que Teleporta Por Level
Crie um arquivo chamado James.lua na pasta data/npc/scripts e cole isso 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 local cfg = { toPos = {x=359, y=1667, z=7}, -- Posição que o jogador sera teleportado level = 170, -- Level necessário para ser teleportado price = 50 -- Dinheiro a ser cobrado para ser teleportado } function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, 'rocket') then selfSay('You are sure you want to go? You can not return.', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if msgcontains(msg, 'yes') then if getPlayerLevel(cid) >= cfg.level then if doPlayerRemoveMoney(cid, cfg.price) then doTeleportThing(cid, cfg.toPos) talkState[talkUser] = 0 else selfSay('You don\'t have enough money.', cid) end else selfSay('You need level having above '.. cfg.level ..'.', cid) end elseif msgcontains(msg, 'no') then selfSay('Skirt here!', cid) end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configurando Crie um arquivo chamado Kiru.xml na pasta data/npc e cole isso <?xml version="1.0" encoding="UTF-8"?> <npc name="James" script="data/npc/scripts/James.lua" walkinterval="25" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="128" head="114" body="12" legs="57" feet="114" addons="0" /> <parameters> <parameter key="message_greet" value="Hello, |PLAYERNAME|! Would like to travel to {rocket} quest?"/> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Bye bye!"/> </parameters> </npc> Não testado. Dúvidas? Me avise. Att. Giovani Rodrigo
- [Resolvido] [Ajuda]
- [Dúvida] Problemas com RME :/
-
DÚVIDA !
Primeiro de tudo, quanto seu OT completo pesa em MB? Quanto seu mapa pesa em MB? Qual a configuração exata do seu computador? Você tem um tópico dizendo as configurações, mas não especificou por exemplo o modelo do seu CPU, só disse que era Core, precisa ser mais específico. Ex: Processador: Core 2 Duo E8400 3.0 ghz Memória: 2x 2GB DDR2 Depois de ter essas informações posso te dizer o que pode ser o consumo alto do CPU.
-
Erro ao soltar spell (luaGetThingFromPos) Tile not found
O script está incompleto? Poderia postá-lo completo? Att. Giovani Rodrigo
-
Remover Frags
O personagem estava com skull? White? Red? Black? Vou modificar novamente, sou muito desligado cara, me desculpa rsrs @EDIT Script atualizado e como antes 100% funcional. Antes de remover frags Depois de remover frags
-
Remover Frags
Não entendo, pois aqui limpou normalmente. Quando dei /remove ele retirou o dinheiro do player, remover a skull, desconectou o player e depois mexeu no banco de dados tirando os frags. Quando conectei de novo e dei !frags estava tudo zero. Qual distro você usa? Eu uso TFS 8.6 DEV 0.4 (REV3884) e nessa distro deu tudo certo. @EDIT Script atualizado para apenas limpar os frags mesmo não estando PK. Continua 100% funcional na versão dita no post. Att. Giovani Rodrigo
-
Remover Frags
Frags só limpam quando você está com red ou black, desculpe o descuido, já vou mudar isso. Mas quando eu testei com red skull e black skull, limpou normalmente os frags.
-
Remover Frags
Script atualizado de acordo com seu gosto. Recopie o código Att. Giovani Rodrigo
-
Galera Porfavo leia isso
Cara um host custa 30 reais mais ou menos, se for pra hospedar baiak, aluga um. Já map global é de 100 reais pra cima.
-
Galera Porfavo leia isso
Cara é tão simples abrir um OT Server sem hamachi com internet compartilhada, por qual motivo abriria um sabendo que ninguém joga? Att. Giovani Rodrigo
-
Remover Frags
Fausto32 caso for dar CTRL+C - CTRL+V pelo menos arrume o post. Não vejo nenhum Vermelho, Azul, Verde e Laranja como você descreve na explicação. Att. Giovani Rodrigo
-
Remover Frags
Crie um arquivo chamado removefrag.lua na pasta data/talkactions/scripts e cole isso local moneyRed = 50000 -- Preço cobrado para remover o frag e red skull local moneyBlack = 60000 -- Preço cobrado para remover o frag e black skull local moneySkullNone = 40000 -- Preço cobrado para remover o frag function onSay(cid, words, param, channel) pid = getPlayerGUID(cid) if getCreatureSkullType(cid) == 4 then if doPlayerRemoveMoney(cid, moneyRed) then doCreatureSetSkullType(cid, 0) doPlayerSendTextMessage(cid, 19, 'His frags and red skull were removed for '.. doNumberFormat(moneyRed) ..' golds. You will be logged off in 5 seconds.') doSendMagicEffect(getPlayerPosition(cid), 14) doRemoveConditions(cid, CONDITION_INFIGHT) doRemoveCreature(cid) db.executeQuery("UPDATE players SET skulltime = 0 WHERE id = ".. pid ..";") db.executeQuery("UPDATE killers SET unjustified = 0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = " .. pid .. ");") else doPlayerSendTextMessage(cid, 19, 'You don\'t have enough money, it takes '.. doNumberFormat(moneyRed) ..' golds') doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end if getCreatureSkullType(cid) == 5 then if doPlayerRemoveMoney(cid, moneyBlack) then doCreatureSetSkullType(cid, 0) doPlayerSendTextMessage(cid, 19, 'His frags and black skull were removed for '.. doNumberFormat(moneyBlack) ..' golds. You will be logged off in 5 seconds.') doSendMagicEffect(getPlayerPosition(cid), 14) doRemoveConditions(cid, CONDITION_INFIGHT) doRemoveCreature(cid) db.executeQuery("UPDATE players SET skulltime = 0 WHERE id = ".. pid ..";") db.executeQuery("UPDATE killers SET unjustified = 0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = " .. pid .. ");") else doPlayerSendTextMessage(cid, 19, 'You don\'t have enough money, it takes '.. doNumberFormat(moneyBlack) ..' golds') doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end if getCreatureSkullType(cid) <= 3 then if doPlayerRemoveMoney(cid, moneySkullNone) then doCreatureSetSkullType(cid, 0) doPlayerSendTextMessage(cid, 19, 'His frags were removed for '.. doNumberFormat(moneySkullNone) ..' golds. You will be logged off in 5 seconds.') doSendMagicEffect(getPlayerPosition(cid), 14) doRemoveConditions(cid, CONDITION_INFIGHT) doRemoveCreature(cid) db.executeQuery("UPDATE players SET skulltime = 0 WHERE id = ".. pid ..";") db.executeQuery("UPDATE killers SET unjustified = 0 WHERE id IN (SELECT kill_id FROM player_killers WHERE player_id = " .. pid .. ");") else doPlayerSendTextMessage(cid, 19, 'You don\'t have enough money, it takes '.. doNumberFormat(moneySkullNone) ..' golds') doSendMagicEffect(getPlayerPosition(cid), 2) end return TRUE end end Adicione essa linha no arquivo talkactions.xml que se encontra na pasta data/talkactions <talkaction words="!remove;/remove" event="script" value="removefrag.lua"/> Testado na distro TFS 8.6 DEV 0.4 (REV3884) e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo
-
[DUVIDA]Criação de items.
Deu para equipar aonde fica a flecha e tocha? Se o problema for só aparecer os atributos coloque isso no item.xml aonde está seu item <attribute key="showattributes" value="1" /> Att. Giovani Rodrigo
- [ACTION] Change Vocação
-
[ACTION] Change Vocação
Olá King Tibianos, A pedido da usuária TathiiCarvalho criei um script que troca de vocação, mas ele apenas não troca de vocação como também adiciona health e mana de acordo com o level e reseta skills. Eu já havia feito o script de trocar de vocação, mas quando um Sorcerer ou Druid com ML 80 trocava para vocação Knight ele ficava com ML 80. Imagina um Knight ML 80, não da né. Tinha outro problema, um Sorcerer ou Druid Level 150 com HP 895 e MP 4225, ele muda para vocação Knight e fica com o mesmo HP e MP, como seria um Knight Level 150 com HP 895 e MP 4225? Também não da né. Então modifiquei o script para fixar esses "erros". Crie um arquivo chamado changevoc.lua na pasta data/actions/scripts e cole isso function onUse(cid, item, frompos, item2, topos) level = getPlayerLevel(cid)-8 pid = getPlayerGUID(cid) magehealth = level*5 -- Quantidade de vida que o Sorcerer e Druid ganha a cada level(mude apenas os numeros) magemana = level*30 -- Quantidade de mana que o Sorcerer e Druid ganha a cada level(mude apenas os numeros) paladinhealth = level*10 -- Quantidade de vida que o Paladin ganha a cada level(mude apenas os numeros) paladinmana = level*15 -- Quantidade de mana que o Paladin ganha a cada level(mude apenas os numeros) knighthealth = level*15 -- Quantidade de vida que o Knight ganha a cada level(mude apenas os numeros) knightmana = level*5 -- Quantidade de mana que o Knight ganha a cada level(mude apenas os numeros) if item.uid == 30000 then doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to sorcerer.') doPlayerSetVocation(cid, 1) setCreatureMaxHealth(cid, magehealth) setCreatureMaxMana(cid, magemana) doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30001 then doPlayerSetVocation(cid, 2) setCreatureMaxHealth(cid, magehealth) setCreatureMaxMana(cid, magemana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to druid.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30002 then doPlayerSetVocation(cid, 3) setCreatureMaxHealth(cid, paladinhealth) setCreatureMaxMana(cid, paladinmana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to paladin.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end if item.uid == 30003 then doPlayerSetVocation(cid, 4) setCreatureMaxHealth(cid, knighthealth) setCreatureMaxMana(cid, knightmana) doSendMagicEffect(topos, 14) doPlayerPopupFYI(cid, 'You changed his vocation to knight.') doRemoveCreature(cid) db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 ..", count = ".. 0 .." WHERE `player_id` = ".. pid ..";") db.executeQuery("UPDATE `players` SET `maglevel` = ".. 0 ..", `manaspent` = ".. 0 .." WHERE `id` = ".. pid ..";") end end Adicione as seguintes linhas no arquivo actions.xml que se encontra na pasta data/actions <action uniqueid="30000" event="script" value="changevoc.lua" /> <action uniqueid="30001" event="script" value="changevoc.lua" /> <action uniqueid="30002" event="script" value="changevoc.lua" /> <action uniqueid="30003" event="script" value="changevoc.lua" /> Testado e está 100% funcional. Dúvidas? Me avise. Att. Giovani Rodrigo
-
[Sistema] Quest System - sem alterar o mapa
Como usar? Criar qualquer action, creatureevent ou o que você quiser para recompensas. Exemplo de código: ocal reward = { { id = 2400, count = 1, actionid = 1234, description = "holy sword" }, { id = 2160, count = 10 }, { container = 1988, items = { { id = 2400, count = 1, actionid = 1234, description = "holy sword" }, { id = 2160, count = 10 }, { container = 1988, items = { { id = 2400, count = 1, actionid = 1234, description = "holy sword" }, { id = 2160, count = 10 } } } } } } local storage = 1234 local container = 1988 -- main container function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerAddQuest(cid, reward, storage, container) end Créditos - averatec Possível Erro Line 1 - ocal reward = { Possível Acerto Line 1 - local reward = { Att. Giovani Rodrigo
-
[NPC] Task RPG
Olá King Tibianos, Estava sem fazer nada esses dias (como sempre) e de repente veio uma ideia de uma Task que a meu ver ficou bem legal e seria muito bom e um servidor RPG. Eu particularmente gosto muito de quests e missões com muito RPG e se depender de mim haverá muitos scripts de quests e missões com um bom RPG, sem mais delongas vou explicar a Task e depois os scripts. -- Explicando Task -- Em busca da corda - Primeira Parte Primeiramente você irá falar com o NPC Heron, ele irá dizer que emprestou sua corda ao seu vizinho que mora mais ao sul e ele esqueceu de devolver (como sempre vizinho nunca te devolve nada, desde o café emprestado atá a xícara), então ele pede para você ir buscar. Provando sua Bravura - Segunda Parte Chegando em seu vizinho Vence você irá pedir a corda para ele e ele nada folgado falará pra você "provar sua bravura" descobrindo que tipo de criatura está em seu porão, ele te dará uma presa e pedirá que você vá até o professor local e pergunte que tipo de criatura teria uma presa daquela. Ao encontrar o professor ele pegará a preza e dirá que tipo de criatura é aquela. Você volta no Vence e diz a ele que criatura é, ele dirá que não faz a mínima ideia de que criatura é aquela então nada folgado2 pedirá que você vá até o porão dele e mate para ele 5 dessas criaturas e volte perguntando sobre o Heron. Matando as 5 criaturas você volta e fala sobre Heron (seu vizinho) e ele te dará a corda e mais uma recompensa por ter limpado o porão dele. Devolvendo a Corda - Última Parte Voltando ao Heron você falará com ele sobre a corda e ele te dará uma recompensa. Mas não é qualquer corda que é aceita na quest, ele só aceita a corda dele. Como ele sabe qual é a corda dele? Simples quando Vence devolve a corda de Heron, ele coloca um ActionID que o Heron checará quando você for devolver, se não for a corda dele, ele não aceitará. Transições Vence Darwin -- Scripts NPC -- Heron Vence Darwin -- Scripts -- Crie um arquivo chamado stair.lua na pasta data/movements/scripts e cole isso function onStepIn(cid, item, position, fromPosition) if getPlayerStorageValue(cid, 40500) == 1 then return true else doTeleportThing(cid, fromPosition) doPlayerSendTextMessage(cid, 18, 'You don\'t have access on the area') end end Adicione a seguinte linha no arquivo movements.xml que se encontra na pasta data/movements <movevent type="AddItem" uniqueid="6587" event="script" value="stair.lua"/> Na pasta mods crie um arquivo chamado TaskVence.xml e cole isso <?xml version="1.0" encoding="ISO-8859-1"?> <mod name="Kill Carrion Worm" version="1.0" enabled="yes"> <config name="KillM_func"><![CDATA[ tsk = { storages = {40501,40500}, task = {"carrion worm", 5} } ]]></config> <event type="login" name="AreKill" event="script"><![CDATA[ function onLogin(cid) registerCreatureEvent(cid, "CountTask") return true end]]> </event> <event type="kill" name="CountTask" event="script"><![CDATA[ domodlib('KillM_func') function onKill(cid, target) if isMonster(target) then local n = string.lower(getCreatureName(target)) if n == tsk.task[1] and getPlayerStorageValue(cid, tsk.storages[2]) >= 1 then local contagem = getPlayerStorageValue(cid, tsk.storages[1]) if (contagem == -1) then contagem = 1 end if not tonumber(contagem) then return true end if contagem > tsk.task[2] then return true end setPlayerStorageValue(cid, tsk.storages[1], contagem+1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,""..(contagem == tsk.task[2] and "Congratulations! You finished the task of "..n.."." or "defeated. Total [" .. contagem .. "/" .. tsk.task[2] .. "] " .. n .. ".").."") end end return true end]]> </event> </mod> Testado e está 100% funcional Dúvidas? Me avise. Att. Giovani Rodrigo
-
[Pedido]~Banuta e Wyrm LB
Nossa cara, acho que não consigo fazer o script da 9... É muito complexo e sou iniciante nessa área, me desculpe
-
[Pedido] Npc
Ok, qualquer dúvida ou erro, poste. Att. Giovani Rodrigo
-
[Pedido]~Banuta e Wyrm LB
Você quer a quest completa com as 9 partes?
-
[Pedido]~Banuta e Wyrm LB
Poderia colocar mais informações do script, pois nem todos conhecem eles. @EDIT Por acaso a Banuta é a The Ape City Quest? Se for, já estou fazendo e ela é bem complicada Att. Giovani Rodrigo
-
[Resolvido] [PEDIDO]Movendo estatuas
Essas estátuas não podem ser movidas por jogadores, da pra criar um script para apagar ela e criar outra ao lado que da o mesmo efeito de mover.
-
Porta de Frags
-- Actions Crie um arquivo chamado doorfrag.lua na pasta data/actions/scripts e cole isto function onUse(cid, item, frompos, item2, topos) if getPlayerFrags(cid) == 20 then doTransformItem(item.uid, item.itemid+1) doTeleportThing(cid, topos) else doPlayerSendTextMessage(cid, 18, 'You don\'t have access to area. You need 20 frags to pass.') end end Adicione esta linha no arquivo actions.xml que se encontra na pasta data/actions <action actionid="6587" event="script" value="doorfrag.lua" /> -- Movements Crie um arquivo chamado doorfrag.lua na pasta data/movements/scripts e cole isto function onStepOut(cid, item, position, fromposition) doTransformItem(item.uid,item.itemid-1) end Adicione esta linha no arquivo movements.xml que se encontra na pasta data/movements <movements type="StepOut" actionid="6587" event="script" value="doorfrag.lua" /> No map editor coloque o ActionID da porta 6587 Dúvidas? Avise me. Att. Giovani Rodrigo
-
[Resolvido] [PEDIDO]Movendo estatuas
Qual ID das estátuas? Pois a maioria não se movem.