-
Total de itens
273 -
Registro em
-
Última visita
-
Dias Ganhos
4
Tudo que bepokemon postou
-
pedido Lua:dostarttrade(Player, Tradepartner, Transferitem)
pergunta respondeu ao bepokemon de bepokemon em Resolvidos
Sim, é tranquilo fazer um War System, entra em contato comigo pelo MSN que a gente dá uma conversada melhor =) BUMP -
A questão é que o script só deixa voce ganhar os points uma vez para cada level, ou seja, se voce upar o mesmo level duas vezes, só ganhará uma vez os points. Isto está definido nesta linha: if (getPlayerStorageValue(cid, 14573) < newlevel) then
-
Se precisar de outro script tente este: function isWalkable(position, cid) position.stackpos = 0 if getTileThingByPos(position).uid ~= 0 then local tile = getTileInfo(position) if tile.protection == false and tile.house == false and getTopCreature(position).uid == 0 and doTileQueryAdd(cid, position) == RETURNVALUE_NOERROR then return true end end return false end function doDash(cid, distance) local dir, fromPos, toPos = getCreatureLookDirection(cid), getThingPos(cid), getPosByDir(fromPos, dir) if isWalkable(toPos) then doTeleportThing(cid, toPos, true) doSendMagicEffect(toPos, CONST_ME_TELEPORT) end if distance > 0 then return doDash(cid, distance-1) end return true end local distance = 3 function onCastSpell(cid, var) if doDash(cid, distance) then return true end end
-
action [Action] Fishy Fishy Mini-Game
tópico respondeu ao bepokemon de bepokemon em Actions e Talkactions
Desculpa reviver, mas tenho que avisar a todos Não pode colocar tile de água na área do script se não os peixes "afundam". D= -
Procure pela versão mais atualizada da funcão doSendAnimatedText (a versão para 9.4+) que eu não sei te dizer, desculpa.
-
creatureevent Amuletos Que Evitam Drop De Loot
um tópico no fórum postou bepokemon Globalevents e Spells
Entonces, percebi que existe uma busca constante de como "colocar tal item para previnir queda de items". Arranjei uma solucao para voces que nao precisa de nenhum tipo de edit, apenas a instalacao do script para que todos funcionem como o Amulet of Loss (obedecendo o items.xml): Primeiramente deve-se notar para que um certo item previna a queda de items ao morrer ele deve conter este attributo nos items.xml: <attribute key="preventDrop" value="1"/> <attribute key="removeOnDeath" value="1"/> Agora crie um arquivo chamado drop.lua dentro da pasta data/creaturescripts/script/ de seu OT e coloque isto dentro: function getItemXMLAttributes(itemid) -- By: Byerne local tmp, id_now, check_ids = {}, 0, {} for line in io.lines('./data/items/items.xml') do if string.find(line, '<item fromid="') then for x=tonumber(line:match('<item fromid="(.-)"')), tonumber(line:match('toid="(.-)"')) do table.insert(check_ids, x) tmp[x] = {['name'] = tostring(line:match('name="(.-)"'))} end elseif string.find(line, '<item id="') then id_now = tonumber(line:match('<item id="(.-)"')) tmp[id_now] = {['name'] = tostring(line:match('name="(.-)"'))} elseif string.find(line, '<attribute key="') then tmp[id_now][line:match('<attribute key="(.-)"')] = line:match('value="(.-)"') elseif string.find(line, '</item>') then if id_now == itemid then return tmp[id_now] end end end return false end function onDeath(cid, corpse, deathList) for slot=CONST_SLOT_FIRST, CONST_SLOT_LAST do local item = getPlayerSlotItem(cid, slot) if getItemXMLAttributes(item.itemid).preventDrop == 1 then doCreatureSetDropLoot(cid, false) if getItemXMLAttributes(item.itemd).removeOnDeath == 1 then doRemoveItem(item.uid) end return true end end return true end Coloque também dentro de creaturescripts.xml isto: <event type="death" name="DropLoot" event="script" value="drop.lua"/> Não se esqueca de registrar no login.lua isto: registerCreatureEvent(cid, "DropLoot") Ao final de tudo caso alguém morra com algum item (em qualquer slot) que previna drops este será removido se contido no items.xml a característica removeOnDeath. Espero que gostem, qualquer bug reporte neste mesmo tópico. -
É uma letra x do alfabeto que não sei qual. Mas vamos perguntar a ele =)
-
[Arquivado][Discussão] O Que Está Faltando Nos Otserv Para Download?
tópico respondeu ao SkyDangerous de bepokemon em Noticias - Arquivo
Relacionando isso ao tópico: Tente fazer um OT9.4+ no-pvp, atraente aos players, o que voce vai encontrar são scripts e mais scripts. Portanto, scripting! O que tá faltando é um OT focado em scripting, e não é RPG/mata-mata. Os antigos fun/sport OTs eram divertidos e ninguém botteava Por que não fazer algo do genero com tudo de novo que existe hoje?- 11 respostas
-
- skydangerous
- tibia
-
(e 1 mais)
Tags:
-
pedido Lua:dostarttrade(Player, Tradepartner, Transferitem)
pergunta respondeu ao bepokemon de bepokemon em Resolvidos
Iniciaria uma troca em o param #1 e o param #2. (Mandaria a mensagem de trade para o segundo "Param#1 wants to trade with you...") Assim como no !sellhouse atual o player 2 então poderia trocar qualquer item ou container pelo item trocado, seria util apenas se fosse possível setar um aid/uid para este item, assim complementando com a funcão onTradeAccept e onTradeRequest para criar sistemas úteis que não existem para o público atualmente. -
@Topic #EuApoioIssoNaAreaDeScriptingTambem @Off Mocos biitos, falem comigo sem ser pelo Ekz? D= Tá dando nervoso ficar atualizando a pagina ._.
-
Seria bem legal se alguem tomasse a iniciativa de postar o code da funcão doStartTrade(), que já existe em alguns OTs porém nao está aberta para todos. Em geral pode-se usar como base a funcão interna utilizada no comando !sellhouse, que utiliza deste mecanismo. Aqui está os fragmentos do !sellhouse: OBS: Seria legal algo que funcionasse assim: local item = doCreateItemEx(itemid) doItemSetAttribute(item.uid, attr, value) local pid = getPlayerByName(name) if not pid then return true end doStartTrade(cid, pid, item) A comunidade inteira agradece desde já.
-
Ex : para o monster fala Go Byerne E cade os parametros da funcao?
-
Shiny aleatório voce precisaria da funcao onSpawn (Progamada em C++). Então voce faria algo assim: function onSpawn(cid) if pokes[getCreatureName(cid)].shiny then if math.random(10000) == 1 then local name, pos = pokes[getCreatureName(cid)].shiny, getThingPos(cid) doRemoveCreature(cid) doCreateMonster(name, pos) end end return true end
-
Não, voce teria que postar fragmentos do script (mais precisamente perto da mensagem de que nao tem stones suficientes) para que podemos avaliar, provavel que ele cheque pelo numero de items dentro do container, o certo seria checar assim: local allstones = getContainerItems(container) for slot,item in pairs(allstones) do if(item.type >= 3 and item.itemid == stone_id) then doRemoveItem(getContainerItem(container, slot), 3) return doBoost() end end Isso checaria o ID de todas as stones no container e quantas tem "juntas". No caso voce precisaria da funcao: getContainerItems()
-
O que seria isso?: doCreatureSay(cid,"Go "..getCreatureName .."",TALKTYPE_ORANGE_1)
-
/outfit 200, Pessoa, 5
-
Posta o erro.
-
Meu Deus ... Desculpa reviver esse tópico mas tava precisando... Por que voce nao leu o erro? "Attempt to index a nil value." É por que voce estava pedindo um valor na tabela que nao existe. itemid[array] Era pra ser: array[vocation]
-
Ele falou de Jesus Cristo, que foi um homem independente de qualquer religiao. Deus seria o Senhor que nao pode ter seu nome utilizado em vao, segundo um mandamento ai... Nao?
- 5 respostas
-
- ajuda ae
- pfv. em nome de jesus cristo
- (e 1 mais)
-
Acho que so fazendo na funcao onDeath ... =/ function onDeath(cid, corpse) local chance = 10 -- 10 = 0.01%, 1000 = 1% local key = doCreateItemEx(key_id) doItemSetAttribute(key, "aid", 666) if math.random(10000) >= chance then doAddContainerItemEx(corpse, key) end return true end
-
Faz logo um novo comando usando isso: function onSay(cid, words, param) param = string.explode(param, ",") if not param[3] then return true end local pid, outfit, time = getPlayerByName(param[2]), {lookType = param[1]}, param[3] * 60 * 1000 doSetCreatureOutfit(pid, outfit, time) doPlayerSendTextMessage(pid, 25, "You outfit has been changed by ".. getCreatureName(cid) .. " for " .. param[3] .." minutes.") return true end Como utilizar:
-
Eu não faco nada por "REP+" e odeio que me subornem com reputation. Mas já que eu to com tempo: Coloca em creaturescripts.xml: <event type="statschange" name="HealMsg" event="script" value="healmsg.lua"/> Coloca em login.lua antes do return true (da ultima linha): registerCreatureEvent(cid, "HealMsg") Não se esqueca de salvar o script com o nome healmsg.lua na pasta scripts de creaturescripts!
-
function onUse(cid, item, fromPosition, item2, toPosition) local teleport = {x=100, y=40, z=7} -- posição do teleport if(item.actionid == item2.actionid and item2.uid ~= item.uid) then doPlayerRemoveItem(cid,idkey,1) doTeleportThing(cid, teleport) doSendMagicEffect(getPlayerPosition(cid), 10) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You were teleported somewhere!") end return true end Concertei o bug de clicar na chave e teleportar
-
Comando !vida: function onSay(cid, words, param) if not param then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have ".. getCreatureHealth(cid) .."/".. getCreatureMaxHealth(cid) .." health points. (".. (getCreatureHealth(cid) / getCreatureMaxHealth(cid)) * 100 .."%).") else local pid = getPlayerByName(param) if isPlayer(pid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, param .." have ".. getCreatureHealth(pid) .."/".. getCreatureMaxHealth(pid) .." health points. (".. (getCreatureHealth(pid) / getCreatureMaxHealth(pid)) * 100 .."%).") else doPlayerSendCancel(cid, "Player with name ".. param .." not found.") end return true end
-
Que bagunca é essa? Oo function onThink() doSendAnimatedText({x=2498, y=2492, z=6},"Come on",198) doSendAnimatedText({x=2504, y=2492, z=6},"Trainer",198) return true end Isso é uma Globalevent.
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.