Histórico de Curtidas
-
Rofl recebeu reputação de yamulle em (Resolvido)Criar quest com 4 baúsBeleza.
Eu não testei o script, só no debug e não apareceu nenhum erro, qualquer coisa me avisa.
Vá em Actions/scripts e cria um novo arquivo newquest.lua e adicione:
function onUse(cid, item, frompos, item2, topos) if item.uid == 5005 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 12391, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5006 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 10943, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5007 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 12574, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5008 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 7559, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5009 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 7735, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end else return FALSE end return TRUE end Agora vá em Actions/actions.xml e adicione as seguintes tags: <action uniqueid="5005" script="newquest.lua"/> <action uniqueid="5006" script="newquest.lua"/> <action uniqueid="5007" script="newquest.lua"/> <action uniqueid="5008" script="newquest.lua"/> <action uniqueid="5009" script="newquest.lua"/> Feito a parte dos scrips, abra seu mapa e coloque os 5 baús no mapa e em cada baú adicione um uniqueid. Você deve usar um em cada baú que são eles: 5005 5006 5007 5008 5009 Salve e pronto. -
Rofl recebeu reputação de nerdz em Gran Castle Event (8.54+)O pedido do evento gran castle foi eu quem fiz pro roksas, ai ele fez completamente BUGADO e eu paguei R$ 30,00 por ele, depois fui pedir suporte...
..Nunca mais!
@topic
Parabéns pelo script, obrigado por compartilhar.
-
Rofl recebeu reputação de xWhiteWolf em [GlobalEvent] Invasão simplesTrata-se de um script que cria um monster no local, data e hora que configurar. vamos lá!
OTserv/data/globalevents
Invasion.lua
function onThink(interval, lastExecution) local position = {x = 652, y = 974, z = 7} -- Posição onde irá summonar monster = "Orshabaal" -- Monster que irá summonar if os.date("%A") == "Thursday" then -- Dia (em inglês) if (os.date("%X") == "22:18:00") or (os.date("%X") == "22:18:05") then -- Horário function One(cid) broadcastMessage("One boss is giving the guys in town", MESSAGE_EVENT_ADVANCE) end function Two(cid) broadcastMessage("Residents say they have seen an angry monster destroying everything ahead", MESSAGE_EVENT_ADVANCE) end function Three(cid) broadcastMessage("Bzzzz... I will kill all", MESSAGE_EVENT_ADVANCE) end doCreateMonster(monster, position) addEvent(One, 10000) addEvent(Two, 50000) addEvent(Three, 60000) end end return TRUE end Globalevents.xml
<globalevent name="Invasion" interval="5" script="Invasion.lua"/> Bom, é isso valeu.
-
Rofl deu reputação a nookia em (Resolvido)[Pedido] Alterar effect@xWhiteWolf, porque ajudamos as pessoas e nem rep + dá para ficar tópico resolvido. Mais se quiser eu re-edito novamente.
-
Rofl deu reputação a MaXwEllDeN em (Resolvido)[Pedido] Alterar effectlocal interval = 0.5 -- Em segundos local function getPositions(uid) local pos = getCreaturePosition(uid) local ret = { [1] = {x = pos.x + 1, y = pos.y, z = pos.z}, [2] = {x = pos.x, y = pos.y + 1, z = pos.z}, [3] = {x = pos.x - 1, y = pos.y, z = pos.z}, [4] = {x = pos.x, y = pos.y - 1, z = pos.z}, } return ret end function changeOutfit(cid, last) local sec = 0.5 if not isPlayer(cid) then return false end local positions = getPositions(cid) local last = last or 1 local last = (positions[last] and last) or 1 local next = (last == #positions) and 1 or last + 1 doSendDistanceShoot(positions[last], positions[next], 18) addEvent(changeOutfit, 3.0 * interval * 450, cid, last + 1) return true end function onLogin(cid) if getGlobalStorageValue(13340) == getPlayerGuildId(cid) then addEvent(changeOutfit, 0, cid) end return true end function onLogout(cid) return true end
-
Rofl deu reputação a Matheus Lirou em (Resolvido)[PEDIDO] MAPA CIDADE BANGAROLERealmente não tem bangarole !
-
Rofl deu reputação a xWhiteWolf em (Resolvido)[Pedido] Alterar effectputs auhuhea peria que eu ja altero
-
Rofl deu reputação a Blez em Blez's Mapping Showoff!
-
Rofl deu reputação a nookia em Rocky BootsNome: Rocky Boots Função: A cada 120 segundos "2 minutos", absorve metade de um dano acima de 1000. Autor: Nokia Ideia: FoxWorld Versão Testada: 8.40+ Bom, vamos a script.
Em creaturescript.xml adicione:
<event type="statschange" name="rockyBoots" script="rockyBoots.lua"/> Crie um arquivo em creaturescripts/scrips chamado rockyBoots.lua e adicione isso:
function onStatsChange(cid, attacker, _type, combat, value) if isPlayer(cid) == TRUE then if getPlayerSlotItem(cid, CONST_SLOT_FEET).itemid == 7891 then local value = value if (_type == STATSCHANGE_HEALTHGAIN) or (_type == STATSCHANGE_MANAGAIN) then if (value >= 1000) then local metade = math.floor(value/2) if getPlayerStorageValue(cid, 41234) > os.time() then else setPlayerStorageValue(cid, 41234, os.time() + 120) doTargetCombatHealth(0, cid, COMBAT_PHYSICALDAMAGE, -metade, -metade, CONST_ME_NONE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "A sua rocky boots absorveu " .. metade .. " de dano.") return FALSE end end end end end return TRUE end Em creaturescripts/scripts/login.lua adicione a seguinte linha para registra o script:
registerCreatureEvent(cid, "rockyBoots") Agora para saber o tempo que vai absorver novamente:
Em actions.xml adicione:
<action itemid="7891" script="rockyBoots.lua" /> Crie um arquivo em actions/scrips chamado rockyBoots.lua e adicione isso:
function onUse(cid, item, frompos, item2, topos) if getPlayerStorageValue(cid, 41234) > os.time() then doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Rocky boots carregando. Faltam "..getPlayerStorageValue(cid, 41234) - os.time().." segundos.") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Rocky boots protegendo.") end end No caso da bota seria a Magma Boots, imagem da bota em anexo.
rocky boots.bmp
-
Rofl deu reputação a Danihcv em (Resolvido)Dúvida movementfunction onStepIn(cid, item, position, fromPosition) local pos_principal = {x=435, y=545, z=6} -- EDITAR POSIÇÃO DO TEMPLO local storage_guild = getGlobalStorageValue(13340) -- A 3ª storage configurada em Castle.lua if getPlayerGuildId(cid) ~= storage_guild then if getPlayerGuildName(cid) ~= nil then broadcastMessage("O player ".. getPlayerName(cid) .." da guild ".. getPlayerGuildName(cid) .." está invadindo o gran castle, aviso ao donos atuais para protegerem a Gran Tower.") else broadcastMessage("O player ".. getPlayerName(cid) .." está invadindo o gran castle, aviso ao donos atuais para protegerem a Gran Tower.") end end return true end Tenta assim.
-
Rofl deu reputação a Danihcv em (Resolvido)Dúvida movementfunction onStepIn(cid, item, position, fromPosition) local pos_principal = {x=435, y=545, z=6} -- EDITAR POSIÇÃO DO TEMPLO local storage_guild = getGlobalStorageValue(13340) -- A 3ª storage configurada em Castle.lua if getPlayerGuildId(cid) ~= storage_guild then if getPlayerGuildId(cid) > 0 then broadcastMessage("O player ".. getPlayerName(cid) .." da guild ".. getPlayerGuildName(cid) .." está invadindo o gran castle, aviso ao donos atuais para protegerem a Gran Tower.") else broadcastMessage("O player ".. getPlayerName(cid) .." está invadindo o gran castle, aviso ao donos atuais para protegerem a Gran Tower.") end end return true end
-
Rofl deu reputação a SuggestName em [003] - Actions - Manuseando ParâmetrosBoa Noite pessoal, dando continuidade a série de tutoriais hoje eu venho trazer mais alguns exemplos de como podemos trabalhar com os parâmetros (position, lastposition, from position e toposition) só que agora em uma action simples.
1° Eu Criei uma função para verificar uma área pré-determinada a procura de creatures, e salva-las em um array.
function getCreatureInArea(pos, area) local centro = {} local uids = {} for y = 1, table.getn(area) do for x = 1, table.getn(area[y]) do if area[y][x] > 0 then centro.x = math.floor(table.getn(area[y])/2)+1 centro.y = math.floor(table.getn(area) / 2 ) +1 local Cpos = { x = pos.x + x - centro.x, y = pos.y + y - centro.y, z = pos.z} if isCreature(getTopCreature(Cpos).uid) then table.insert(uids, getTopCreature(Cpos).uid) end end end end return uids end Nessa função eu entro dentro de um array e transformo ele em posições in-game, checo cada uma a procura de creatures que e guardo seu UID dentro de um outro array, e retorno ele no final do script.
O Importante dentro dessa função é entender como eu transformo posições de um array em posições in-game, vamos analisar algumas coisas.
1° coisa é analisar a forma no qual o array é construído:
local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } Esse é um array simples, cada par de chaves "{ }", corresponde a um elemento dentro do array, e cada numero um valor.
2° Coisa a ser feita e analisarmos o código
Declaração do nome da função e seus parâmetros
function getCreatureInArea(pos, area) Declaração do Array
local centro = {} local uids = {} Cria-se um Laço ( for ) com uma variável "y" inicializada no 1, depois obtêm a quantidade de elementos ( Ou grupos de chaves "{ }" ) Da nossa área com a função ( table.getn() ) for y = 1, table.getn(area) do Cria-se um Laço ( for ) com uma variável "x" inicializada no 1, depois obtêm a quantidade de valores dentro do nosso elemento ( 1, 1, 1 ) com a função ( table.getn() ) for x = 1, table.getn(area[y]) do Cria um check ( if ) entrando dentro da área usando os valores obtidos no x e y, e verificando se os valores dentro da nossa área são maiores que 0 ( Para caso queira construir uma área aonde algumas posições não sejam verificadas ) if area[y][x] > 0 then [Exemplo de área aonde posições não seriam verificadas] : local arr1 = { {0, 1, 1, 1, 0}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {0, 1, 1, 1, 0}, } Define dentro de um novo atributo do array ( centro.x, centro.y ) e adiciona dentro dele a divisão exata ( Arredondado para baixo caso seja um numero quebrado ) da quantidade de elementos da nossa área, somando +1 no final centro.x = math.floor(table.getn(area[y])/2)+1 centro.y = math.floor(table.getn(area) / 2 ) +1 [Observação] : Caso não tenha entendido esse calculo ele é simples, a função ( math.floor ) arredonda um numero para baixo, a função ( table.getn(area[y]) ) retorna a quantidade de valores dentro do nosso elemento {1, 1, 1}, No total 3 valores, ai com o numero 3 ele divide por 2, 3 / 2 = 1.5, e some +1 ao resultado dessa divisão, 1.5 + 1 = 2.5, Lembrando que estamos usando a função math.floor e ela arredonda números quebrados para baixo 2.5 = 2 E o mesmo para o centro.y com uma diferença, ao invés de contarmos os valores dentro do elemento, contamos os próprios elementos ( table.getn(area) ) 1 = {1, 1, 1}, 2 = {1, 1, 1}, 3 = {1, 1, 1}, Que retorna o mesmo resultado "2". Agora Vamos transformas nossa área em posições no mapa local Cpos = { x = pos.x + x - centro.x, y = pos.y + y - centro.y, z = pos.z} Primeiro criamos um array de posições ( {x = ?, y = ?, z = ? } ), depois preenchemos os valores com um simples calculo: pos.x ( Essa é a posição de onde o item vai ser usado in-game ) + x ( Aquele x inicializado no for ) - centro.x ( Nosso calculo da soma e divisão dos valores dos elementos nas tabelas ), Bem, o x ( do for ) inicia em 1 , depois temos uma pos.x ( Posição in-game ) que assumiremos ser "1000", e nosso valor centro.x que sabemos ser 2. ( 1000 + 1 - 2 ) = 999 Então dentro do nosso array de posições podemos preencher o x com esse valor do mapa ( {x = 999, y = ?, z = ? } ) e a mesma coisa para o y ( OBS: o Z não é calculado no script pois é o mesmo que vem com a posição que é informada no parâmetro. ). Se você perceber, a unica variável que vai mudar é o x ( Do laço for ) que vai rodar 3 vezes ( Porque temos 3 valores dentro do nosso elemento ), 1° volta = ( 1000 + 1 - 2 ) = 999 2° volta = ( 1000 + 2 - 2 ) = 1000 3° volta = ( 1000 + 3 - 2 ) = 1001 Isso ja são 3 posições no mapa, agora esse código roda ( 3 vezes no x + 3 vezes no y ( No For ) ), 3x3 = 9, Então com esse nossa array de área conseguimos verificar 9 posições in-game. Essa é a verificação das creatures por posições no mapa geradas pelos nossos cálculos if isCreature(getTopCreature(Cpos).uid) then table.insert(uids, getTopCreature(Cpos).uid) end E esse é o retorno do array com os valores dos UID's encontrados pelos verificador de creatures return uids end Depois temos a parte do Action function onUse(cid, item, fromPosition, itemEx, toPosition) local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) local creaturesArray = getCreatureInArea(toPosition, arr1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Detecteds: ".. table.getn(creaturesArray)) for k, v in pairs(creaturesArray) do doSendMagicEffect(getCreaturePosition(v), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Name: ".. getPlayerName(v)) end end Nesse script informamos a nossa área que verificaremos local arr1 = { {1, 1, 1}, {1, 1, 1}, {1, 1, 1}, } Depois mandamos um efeito aonde o item foi usado doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED) Usamos a função criada local creaturesArray = getCreatureInArea(toPosition, arr1) Preenchendo os 2 parâmetros ( toPosition = Posição de onde o item foi usado, arr1 = Nossa área ) Enviamos uma mensagem para o player com a quantidade total de creatures encontradas usando a função ( table.getn() ) para retornar a quantidade de elementos dentro do nosso array. doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Detecteds: ".. table.getn(creaturesArray)) Criamos um laço ( for ) Para rodar uma vez para cada creature encontrada for k, v in pairs(creaturesArray) do Enviamos um efeito de onde a creature foi encontrada, e uma mensagem para o player com o nome dela doSendMagicEffect(getCreaturePosition(v), CONST_ME_HOLYDAMAGE) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Creatures Name: ".. getPlayerName(v)) Essa é uma aula explicando como as posições podem ser exploradas, veja que com o toposition conseguimos criar uma área de verificações pre-definida e dar uma ação para essa área. -
Rofl recebeu reputação de Morfar em [New] Simple Intro ~#Opa,
Hoje dando uma vasculhada em um website que tenho guardado aqui eu encontrei uma intro bem legal, eu pelo menos curto.
Não é chamativa, é simples e bonita.
Imagem
Download
Simple Intro by Rofl
Abraços.
-
Rofl recebeu reputação de xWhiteWolf em [New] Simple Intro ~#Opa,
Hoje dando uma vasculhada em um website que tenho guardado aqui eu encontrei uma intro bem legal, eu pelo menos curto.
Não é chamativa, é simples e bonita.
Imagem
Download
Simple Intro by Rofl
Abraços.
-
Rofl recebeu reputação de Smart Maxx em [New] Simple Intro ~#Opa,
Hoje dando uma vasculhada em um website que tenho guardado aqui eu encontrei uma intro bem legal, eu pelo menos curto.
Não é chamativa, é simples e bonita.
Imagem
Download
Simple Intro by Rofl
Abraços.
-
Rofl deu reputação a Smart Maxx em Efeito Snow no GesiorUm colega meu pediu esse efeito de nevar > desse site aqui < ... então resolvi compartilhar com vcs tb, para colacarem em seus gesior nessa época natalina.
vá no seu layout.php :
em cima da primeira tag <head> cole esse código ...
<script type="text/javascript"> //Configure below to change URL path to the snow image var snowsrc= "http://2.ii.gl/byGz__HJK.gif" // Configure below to change number of snow to render var no = 250; // Configure whether snow should disappear after x seconds (0=never): var hidesnowtime = 0; // Configure how much snow should drop down before fading ("windowheight" or "pageheight") var snowdistance = "pageheight"; ///////////Stop Config////////////////////////////////// var ie4up = (document.all) ? 1 : 0; var ns6up = (document.getElementById&&!document.all) ? 1 : 0; function iecompattest(){ return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body } var dx, xp, yp; // coordinate and position variables var am, stx, sty; // amplitude and step variables var i, doc_width = 800, doc_height = 600; if (ns6up) { doc_width = self.innerWidth; doc_height = self.innerHeight; } else if (ie4up) { doc_width = iecompattest().clientWidth; doc_height = iecompattest().clientHeight; } dx = new Array(); xp = new Array(); yp = new Array(); am = new Array(); stx = new Array(); sty = new Array(); snowsrc=(snowsrc.indexOf("dynamicdrive.com")!=-1)? "snow.gif" : snowsrc for (i = 0; i < no; ++ i) { dx[i] = 0; // set coordinate variables xp[i] = Math.random()*(doc_width-50); // set position variables yp[i] = Math.random()*doc_height; am[i] = Math.random()*20; // set amplitude variables stx[i] = 0.02 + Math.random()/10; // set step variables sty[i] = 0.7 + Math.random(); // set step variables if (ie4up||ns6up) { if (i == 0) { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><a href=\"http://dynamicdrive.com\"><img src='"+snowsrc+"' border=\"0\"><\/a><\/div>"); } else { document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>"); } } } function snowIE_NS6() { // IE and NS6 main animation function doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10; doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")? iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight; for (i = 0; i < no; ++ i) { // iterate for every dot yp[i] += sty[i]; if (yp[i] > doc_height-50) { xp[i] = Math.random()*(doc_width-am[i]-30); yp[i] = 0; stx[i] = 0.02 + Math.random()/10; sty[i] = 0.7 + Math.random(); } dx[i] += stx[i]; document.getElementById("dot"+i).style.top=yp[i]+"px"; document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px"; } snowtimer=setTimeout("snowIE_NS6()", 10); } function hidesnow(){ if (window.snowtimer) clearTimeout(snowtimer) for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden" } if (ie4up||ns6up){ snowIE_NS6(); if (hidesnowtime>0) setTimeout("hidesnow()", hidesnowtime*1000) } </script> Abrçs
-
Rofl recebeu reputação de nathalys2 em (Resolvido)Criar quest com 4 baúsBeleza.
Boa sorte com o servidor.
-
Rofl recebeu reputação de nathalys2 em (Resolvido)Criar quest com 4 baúsBeleza.
Eu não testei o script, só no debug e não apareceu nenhum erro, qualquer coisa me avisa.
Vá em Actions/scripts e cria um novo arquivo newquest.lua e adicione:
function onUse(cid, item, frompos, item2, topos) if item.uid == 5005 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 12391, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5006 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 10943, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5007 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 12574, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5008 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 7559, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end elseif item.uid == 5009 then queststatus = getPlayerStorageValue(cid, 5010) if queststatus == -1 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found a NAME ITEM.") doPlayerAddItem(cid, 7735, 1) setPlayerStorageValue(cid, 5010, 1) else doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "The chest is empty.") end else return FALSE end return TRUE end Agora vá em Actions/actions.xml e adicione as seguintes tags: <action uniqueid="5005" script="newquest.lua"/> <action uniqueid="5006" script="newquest.lua"/> <action uniqueid="5007" script="newquest.lua"/> <action uniqueid="5008" script="newquest.lua"/> <action uniqueid="5009" script="newquest.lua"/> Feito a parte dos scrips, abra seu mapa e coloque os 5 baús no mapa e em cada baú adicione um uniqueid. Você deve usar um em cada baú que são eles: 5005 5006 5007 5008 5009 Salve e pronto. -
Rofl recebeu reputação de nathalys2 em (Resolvido)Criar quest com 4 baúsPoderia me passar o id dos 4 itens?
-
Rofl deu reputação a Reginaldo Rocha em Como usar magebot sem levar ban(todas as versões)[download][/download]Vou mostrar pra vcs como usar o mb sem ser banido, n tem perigo é so usar direitinho, no fim do tópico vou deixar os link do mb e do volume serial pra crackear ele tb juntos com os scans.
Pra crackear é mt facil, depois que vc baixar o serial é so seguir os passos abaixo:
Depois de mudar a key é so apertar Change serial number e OK ai depois é so vc reiniciar o pc, ai estao algumas keys que uso:
13131313,35353535,67676767,91919191,21212121, todas funcionam mas depende de alguns pc's que n reconhecem elas mas na maioria pega direitinho.
Agora vou mostrar como usar o magebot sem levar ban.Depois que vc instalar o magebot, vc vai ate na pasta do tibia e exclua o patch, isso faz com que a cipsoft não detecte o uso do magebot, depois disso vc vai até sua area de trabalho e mude o nome do magebot e do magebot SAFE MODE para os nomes que preferir, depois abra o tibia e o mage bot e use somente as opçoes que estao em vermelho, as amarelas não use de jeito algum que o risco de ser banido é muito alto. Segue a imagem abaixo:
E pra finalizar os links de download e scans:
Download MB 10.63: http://www.mediafire.com/?hxjcjhcnr8691x8
Scan: https://www.virustotal.com/pt/file/c1264ffa40655e13a4776273ae2cee7352410853da65e402184ff806e9984b8d/analysis/1416698257/
Download Volume Serial: https://mega.co.nz/#!jJFniSBA!FKtg51XtiERmdMRiQ-KUCZ6dF56LvgskysytAm7jMBY
Scan: https://www.virustotal.com/pt/file/b2f01113048121f50f90ec734ec5f738d1352c8c052601731a3b4a9ba0700347/analysis/
Então é isso ai galera tenham bom uso das dicas, e qualquer dúvida deixe ai nos comentários que eu resolvo, boa sorte e vlw.
-
Rofl recebeu reputação de avalax em Como Criar um ForumNeste vídeo explica passo-a-passo de como instalar o MyBB:
Não tem erro, é só prestar atenção!
-
Rofl deu reputação a William Ferreira em [Pedido] Nome avatarJá que ninguém fez eu fiz um aqui simples