Tudo que GiovaniRodrigo postou
-
Pedido difícil
Para perder tudo ao morrer, deslogar, etc... é só ir no banco de dados e na tabela players e colocar save 0. Toda vez que ele deslogar ou morrer ele não é salvo e volta tudo do zero. E na estrutura da tabela player deixa o default de save como 0, assim todo player novo estará com save 0 e você não irá precisar mudar toda vez. Avise me se der certo. Att. Giovani Rodrigo
-
Duplicate uniqueId
O fechamento do executável pode não ser causado pelos Unique ID duplicados, pois tenho um OT de teste que ele era map global, quando eu abri ele com map global tinha muito Unique ID duplicado e não fechava. Para retirar os Unique ID duplicados pode dar um trabalho, pois os Unique ID são usados em quest, missões, etc. Então se você apenas retirasse eles faltaria algo no seu OT, você deveria marcar os Unique ID e mudar na pasta do OT e no mapa. Daria um pouco de trabalho, mas é possivel retirar todos Unique ID. Att. Giovani Rodrigo
-
[Resolvido] [PEDIDO] Outfi e item na quest.
Reportado Dúvida Sanada Att. Giovani Rodrigo
-
[Pedido] Website
Ele quer criar um site e não abrir um. Os programas essenciais são: Dreamweaver: Neste programa você cria os códigos de programação do seu site. Photoshop: Neste programa você pode criar as imagens usadas no site, como planos de fundo, botões, etc. Tudo que envolver uma imagem trabalhada pode ser feito nele. Fireworks: Neste programa você cria um template do site para ter uma base de como vai ser o site, é mais ou menos um rascunho. Nele você pode posicionar os menus e tudo que um site tem. (OBS: Você pode criar imagens tanto no Photoshop quanto no Fireworks.) Eu sigo uma sequência: Primeiro: Crio um rascunho em uma folha da papel. Segundo: Começo a trabalhar as imagens usando Photoshop. Terceiro: Com as imagens e botões já feitos começo a posicioná-los no Fireworks, para ter uma noção de como o site irá ficar depois de pronto. Quarto: Monto o site em códigos pelo Dreamweaver. Se você quiser implementar algo no seu site pode usar o Flash também. Aconselho as versões CS5 ou CS6 dos programas. Lembrando que, montar um site não é tão simples assim, na verdade não é nada simples se você quer montar algo de qualidade, fica mais difícil ainda se você for interagir com banco de dados e servidor de tibia, pois exige uma segurança muito boa. Att. Giovani Rodrigo
-
[Resolvido] [PEDIDO] Outfi e item na quest.
Script atualizado e 100% funcional.
-
Sistema de vip 2 no meu OT, preciso de ajuda com algum script para remover item ao invés de gold
Mande o script do VIP que você está usando neste momento. Att. Giovani Rodrigo
-
[PEDIDO~~Scripts~~] Baú que da level.
Ata sou meio desligado, não presto muito atenção no que leio, acho que é por isso que meus scripts a maioria das vezes da erro, mas tudo bem. Att. Giovani Rodrigo
-
[AJUDA]Scripts nao aparece erro mais nao fuciona
Sim, é creaturescripts. Ai esta a tag dele, caso precisar <event type="advance" name="AdvanceSave" event="script" value="advancesave.lua"/> Att. Giovani Rodrigo
-
[PEDIDO~~Scripts~~] Baú que da level.
Action do item Crie um arquivo chamado itemexp.lua na pasta data/actions/scripts/other e cole isso local expReward = 100000 function onUse(cid, item, frompos, item2, topos) if item.actionid == 4056 then doRemoveItem(item.uid, 1) doPlayerAddExp(cid, expReward) doPlayerSendTextMessage(cid, 22, 'You just won '.. expReward ..' experience.') end return TRUE end Adicione no arquivo actions.xml que esta na pasta data/actions a seguinte linha <action actionid="4056" event="script" value="other/itemexp.lua"/> Action do baú Crie um arquivo chamado questexp.lua na pasta data/actions/scripts/quests e cole isso local count = 1 function onUse(cid, item, frompos, item2, topos) if item.uid == 42726 then queststatus = getPlayerStorageValue(cid, 43502) if queststatus == -1 or queststatus == 0 then if getPlayerLevel(cid) >= 10 then local item = doPlayerAddItem(cid, 7726, count) doSetItemActionId(item, 4056) setPlayerStorageValue(cid, 43502, 1) doPlayerSendTextMessage(cid, 22, 'You just won '.. count ..' '.. getItemNameById(7726) ..'.') else doPlayerSendTextMessage(cid, 22, 'You don\'t have enough level.') end else doPlayerSendTextMessage(cid, 22, 'It\'s empty.') end end return TRUE end Adicione no arquivo actions.xml que esta na pasta data/actions a seguinte linha <action uniqueid="42726" script="quests/questexp.lua" /> Testado e está 100% funcional Dúvidas? Me avise. Att. Giovani Rodrigo
-
[AJUDA]Scripts nao aparece erro mais nao fuciona
Em meu servidor de testes esse funciona perfeitamente. local config = { savePlayer = true, healPlayerOnLevel = true } function onAdvance(cid, skill, oldLevel, newLevel) if(skill == SKILL__EXPERIENCE) then return true end if(skill == SKILL__LEVEL and config.healPlayerOnLevel) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid) - getCreatureHealth(cid)) doCreatureAddMana(cid, getCreatureMaxMana(cid) - getCreatureMana(cid)) end if(config.savePlayer) then doPlayerSave(cid, true) end return true end Att. Giovani Rodrigo
-
[PEDIDO~~Scripts~~] Baú que da level.
Quest que de level eu não saberia fazer, mas quest que de exp eu consigo. Crie um arquivo chamado questexp.lua na pasta data/actions/scripts/quests e cole isso dentro local expReward = 100000 function onUse(cid, item, frompos, item2, topos) if item.uid == 41726 then queststatus = getPlayerStorageValue(cid, 32502) if queststatus == -1 or queststatus == 0 then if getPlayerLevel(cid) >= 10 then doPlayerAddExp(cid, expReward) setPlayerStorageValue(cid, 32502, 1) doPlayerSendTextMessage(cid, 22, 'You just won '.. expReward ..' experience.') else doPlayerSendTextMessage(cid, 22, 'You don\'t have enough level.') end else doPlayerSendTextMessage(cid, 22, 'It\'s empty.') end end return TRUE end Configurando Adicione no arquivo actions.xml que esta na pasta data/actions a seguinte linha <action uniqueid="41726" script="quests/questexp.lua"/> Acho quest que da experiência melhor que dar level porque imagine a seguinte situação: Em um servidor de Rate Experience baixa um level 200 está se matando de upa, quando do nada ele faz uma quest e ganha 7 leveis? E um level 10 que upa fácil faz a mesma quest e ganha apenas 7 level. Quest por experiência é melhor porque ele estando level 200 ou level 10 a quantidade de experiência será a mesma. Testado e está 100% funcional Dúvidas? Me avise. Att. Giovani Rodrigo
- Ajuda Criação de Ot.
-
Ajuda Criação de Ot.
Você usa roteador? Se sim a sua internet mesmo não tendo outro PC para compartilhar continua sendo compartilhada. Se você usa roteador tente colocar no config.lua o IPv4 que você pode encontrar no CMD. (OBS: Os player entraram pelo IP do site meuip.com.br ou pelo IP fixo que você criou) Att. Giovani Rodrigo
- [Resolvido] PEDIDO
-
[PEDIDO] Script 8.60
Tinha esquecido algumas coisas no código então editei ele.
- Ajuda NPC de Mission
- Ajuda NPC de Mission
-
[PEDIDO] Script 8.60
Crie um arquivo chamado bankpoints.lua na pasta data/npc/scripts e cole isso dentro function getPlayerPoints(id) local query = db.getResult('SELECT premium_points FROM accounts WHERE id = '.. id ..';') if query:getID() ~= -1 then return query:getDataInt('premium_points') end return LUA_ERROR end 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 itemCount = 0 local itemToken = 102 function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_PRIVATE and 0 or cid if msgcontains(msg, 'balance') then npcHandler:say('You have '.. getPlayerPoints(getPlayerGUID(cid) ..' points.', cid) talkState[talkUser] = 0 elseif msgcontains(msg, 'deposit') then npcHandler:say('How many points do you want to deposit?', cid) talkState[talkUser] = 1 elseif talkState[talkUser] == 1 then if not tonumber(msg) or tonumber(msg) < 1 then npcHandler:say('Please tell me how many points you want to deposit?', cid) end itemCount = math.abs(tonumber(msg)) npcHandler:say('You want to deposit '.. itemCount ..' points?', cid) talkState[talkUser] = 2 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 2 then if getPlayerItemCount(cid, itemToken) >= itemCount then local query = db.executeQuery('UPDATE accounts SET premium_points = premium_points + '.. itemCount ..' WHERE id '.. getPlayerGUID(cid) ..';') if query ~= LUA_ERROR then npcHandler:say('You deposited '.. itemCount ..' points.', cid) doPlayerRemoveItem(cid, itemTokens, itemCount) talkState[talkUser] = 0 else npcHandler:say('Points can not be deposited, please contact a gamemaster.', cid) error('[Error::Query] '.. query ..', error while trying to add a value into balance.') talkState[talkUser] = 0 end else npcHandler:say('Sorry, you don\'t have the required items', cid) talkState[talkUser] = 0 end elseif msgcontains(msg, 'withdraw') then npcHandler:say('How many points do you want to withdraw?', cid) talkState[talkUser] = 3 elseif talkState[talkUser] == 3 then if not tonumber(msg) or tonumber(msg) < 1 then npcHandler:say('Please tell me, how many points you want to withdraw?', cid) end itemCount = math.abs(tonumber(msg)) npcHandler:say('You want to cash out '.. itemCount ..' points?', cid) talkState[talkUser] = 4 elseif msgcontains(msg, 'yes') and talkState[talkUser] == 4 then if getPlayerPoints(getPlayerGUID(cid)) >= itemCount then local query = db.executeQuery('UPDATE accounts SET premium_points = (premium_points - '.. itemCount ..') WHERE id = '.. getPlayerGUID(cid) ..';') if query then npcHandler:say('You drew '.. itemCount ..' points.', cid) doPlayerAddItem(cid, itemToken, itemCount) talkState[talkUser] = 0 else npcHandler:say('Money can not be retired, please contact a gamemaster.', cid) error('[Error::Query] '.. query ..', error while trying to remove a value from balance.') talkState[talkUser] = 0 end else npcHandler:say('Sorry, you don\'t have that amount for withdraw.', cid) talkState[talkUser] = 0 end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new()) Configurando Crie um arquivo chamado Bank Points.xml na pasta data/npc e cole isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Jhon" script="data/npc/scripts/bankpoints.lua" walkinterval="0" floorchange="0"> <health now="150" max="150" /> <look type="129" head="114" body="119" legs="114" feet="114" corpse="2212" /> <parameters> <parameter key="message_greet" value="Hello |PLAYERNAME|. If you want to see your account balance, say {balance}." /> <parameter key="message_walkaway" value="Hey Hey, where you go ?"/> <parameter key="message_farewell" value="Goodbye |PLAYERNAME|!"/> </parameter> </npc> Não testei, caso der erro avise. Dúvidas? Me avise. @EDIT Créditos Eu -- Edição do Script feito pelo SkyDangerous -- Skydangerous -- Script -- Att. Giovani Rodrigo
- Ajuda NPC de Mission
-
[Resolvido] Problemas no Site - GESIOR
Você coloca a senha criptografada(letras e números) no password. A primeira senha que é a account name você deixa normal porque ela não é criptografada, já a password(segunda senha) ela tem que ser criptografada.
-
[Resolvido] PEDIDO
Não é necessário fazer nada na porta e sim nas alavancas. Crie um arquivo chamado changevoc.lua na pasta data/actions/scripts e cole isso dentro function onUse(cid, item, frompos, item2, topos) if item.uid == 30000 then doPlayerSetVocation(cid, 1) doSendMagicEffect(topos, 14) doPlayerSendMessage(cid, 22, 'You changed his vocation to sorcerer.') doRemoveCreature(cid) end if item.uid == 30001 then doPlayerSetVocation(cid, 2) doSendMagicEffect(topos, 14) doPlayerSendMessage(cid, 22, 'You changed his vocation to druid.') doRemoveCreature(cid) end if item.uid == 30002 then doPlayerSetVocation(cid, 3) doSendMagicEffect(topos, 14) doPlayerSendMessage(cid, 22, 'You changed his vocation to paladin.') doRemoveCreature(cid) end if item.uid == 30003 then doPlayerSetVocation(cid, 4) doSendMagicEffect(topos, 14) doPlayerSendMessage(cid, 22, 'You changed his vocation to knight.') doRemoveCreature(cid) end end Adicione a seguinte lina no arquivo actions.xml 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" />
-
[Resolvido] Problemas no Site - GESIOR
O site usa encriptação sha1, então você tem que encriptar a senha e colocar manualmente no banco de dados. Site para encriptar a senha. Att. Giovani Rodrigo
-
Ajuda NPC de Mission
Vamos começar pelo NPC. Crie um arquivo chamado npcquest.lua na pasta data/npc/scripts e cole isso dentro Crie um arquivo chamado Npc Quest.xml na pasta data/npc e cole isso dentro <?xml version="1.0" encoding="UTF-8"?> <npc name="Nome Npc" script="data/npc/scripts/npcquest.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 do a {mission} for me?"/> <parameter key="message_walkaway" value="Hey Hey, where you go?"/> <parameter key="message_farewell" value="Goodbye |PLAYERNAME|."/> </parameters> </npc> Configurando Agora vamos para a porta Actions Crie um arquivo chamado storagedoor.lua na pasta data/action/scripts e cole isso dentro function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 30003) >= 1 then doTransformItem(item.uid,item.itemid+1) doTeleportThing(cid, topos) else doPlayerSendTextMessage(cid, 22, 'You don\'t have access to area.') end end Adicione a seguinte linha no arquivo actions.xml que esta na pasta data/actions <action actionid="4587" event="script" value="storagedoor.lua" /> Movements Crie um arquivo chamado storagedoor.lua na pasta data/movements/scripts e cole isso function onStepOut(cid, item, position, fromposition) doTransformItem(item.uid,item.itemid-1) end Adicione a seguinte linha no arquivo movements.xml que esta na pasta data/movements <movements type="StepOut" actionid="4587" event="script" value="storagedoor.lua" /> MapEditor No MapEditor coloque a porta com o Action ID 4587 Não testei caso der erro avise. Dúvidas? Me avise. @EDIT Editei o script do NPC pois tinha esquecido de algo. (OBS: Use portas que ela fechada seja um ID antes da aberta, ex: Fechada: 5112 e Aberta: 5113) Att. Giovani Rodrigo
- scripts
-
scripts
Crie um arquivo chamado tileitem.lua na pasta data/movements/scripts e cole isso dentro local slotItem = 2 local itemId = 5785 function onStepIn(cid, item, fromPosition, item2, topos) if getPlayerSlotItem(cid, slotItem).itemid == itemId then doPlayerSendMessage(cid, 22, 'Welcome') else doTeleportThing(cid, fromPosition) doPlayerSendMessage(cid, 22, 'You need a '.. getItemNameById(itemId) ..' to pass') end end Configurando Adicione no arquivo movements.xml que está na pasta data/movements a seguinte linha <movevent type="StepIn" actionid="5785" event="script" value="tileitem.lua"/> No piso que você quer que exige o item coloque o Action ID 5785 Não testei então se der algum erro avise. Dúvidas? Me Avise Att. Giovani Rodrigo