Tudo que Lyu postou
-
[Ajuda] Arrumar Scripts !
Você precisa postar o seu script para nós tentarmos arrumar para você.
-
ME AJUDEM POR FAVOR
vai em config.lua e procure por encryptionType, em seguida veja se está em "sha1", se estiver é porque você terá que mudar na database, não lembro mt como faz mas vou ver se vejo aqui.
-
Somente 1 jogador na sala, tipo a Arena do global
cara fiz aqui um mas não testei, adicione a uniqueid : 5000 no teleport (id 1387) pelo remeres e crie um arquivo lua na pasta movements/scripts dps coloca isso ai : function onStepIn(cid, item, fromPosition, itemEx, toPosition) position = {x = 0, y = 0, z = 0) if getGlobalStorageValue(55554) == -1 then doTeleportThing(cid, position) doSendMagicEffect(getThingPos(cid), 10) addEvent(overTime, 30 * 1000, cid) setGlobalStorageValue(55554, 1) end return true end function overTime(cid) if isCreature(cid) then if getGlobalStorageValue(55554) == 1 then doTeleportThing(cid, getTownTemplePosition(1)) doSendMagicEffect(getThingPos(cid), 10) setGlobalStorageValue(55554, -1) end end return true end depois adicione a tag no movements.xml : <movevent type="StepIn" uniqueid="5000" event="script" value="arquivo.lua"/> lembrando que você terá que colocar no-logout para não cancelar o addevent e criar outro teleport via script com storageglobal para o player sair da sala manualmente, faça assim : function onStepIn(cid, item, fromPosition, itemEx, toPosition) position = {x = 0, y = 0, z = 0) doTeleportThing(cid, position) doSendMagicEffect(getThingPos(cid), 10) setGlobalStorageValue(55554, -1) return true end esse script é pra cancelar o addevent e outro player entrar. abraço!
-
SPELLS PARA RESET
Players com 1 reset, é isso? Se for, o sistema de reset é via dababase sem valor de storage? Se for, eu acho q consigo fazer.
-
(Resolvido)mudar o Level
nunca mechi com poketibia mas creio que seja igual aos não derivados, vai em config.lua e procure por : newPlayerLevel, em seguida mude lá!
- Ticket Medals
-
(Resolvido)Como deixar a life do player menor ?
Como o Adriano disse, explique melhor como você quer que funcione este método mal explicado por você EAHUEA! :/ SEM OFENÇAS!
-
[ACTION] Alavanca
tenta assim, não testei ;/ ----------------------------------- ---------SCRIPT por PC98------------ NAO REMOVA OS CREDITOS ----------------------------------- function onUse(cid, item, frompos, item2, topos) ------------------ Inicio das Config ------------ local castle_one_name = "Baiakuda" -- Nome do castelo 1 local storages = {154154,54321,123123} -- Storages ( se vc eh iniciante, deixe como está...) -------PREMIOs I N D I V I D U A L --------- local premio_por_vezes = 0 -- Premio por vezes de conquista de castelo. (1) = Ativo (0) = Desativa. local premio_vezes = 13 -- Caso ativo, a quantidade de conquista que o player tem, para ganhar PREMIO. local premio = 2160 -- ID do Premio local premio_cont = 1 -- Quantidade do Premio local premio_reset = 1 -- Resetar o contador do premio depois que atingir a meta?? (1) = SIM (0) = NAO -------FIM PREMIOs I N D I V I D U A L --------- ----------------- FIM DAS CONFIG ----------------- local sto_ativ = getGlobalStorageValue(storages[2]) position = getCreaturePosition(cid) if isPlayerGuild(cid) == TRUE then if sto_ativ == 1 or sto_ativ == -1 then guildname = getPlayerGuildName(cid) guild = getPlayerGuildId(cid) guild_sto = getGlobalStorageValue(storages[3]) if guild ~= guild_sto then setPlayerStorageValue(cid,guild_sto,guild) if getPlayerStorageValue(cid,storages[1]) <= os.time() then setPlayerStorageValue(cid,storages[1],0) end sto_vezes = getPlayerStorageValue(cid,storages[1]) setGlobalStorageValue(storages[3],getPlayerGuildId(cid)) setPlayerStorageValue(cid,storages[1], sto_vezes+1, os.time()+10) sto_vezes_total = getPlayerStorageValue(cid,storages[1]) doBroadcastMessage("O(a) "..getCreatureName(cid).." acabou de conquistar o castelo "..castle_one_name.." para a guild \""..guildname.."\" pela "..sto_vezes_total.."ª vez(s).", 22) doSendMagicEffect(position, 39) if premio_por_vezes == 1 then if getPlayerStorageValue(cid,storages[1]) == premio_vezes then if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doBroadcastMessage("O "..getCreatureName(cid).." ganhou uma(o) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!", 21) doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") ----------------------------------------------- -- if premio_reset == 1 then -- setPlayerStorageValue(cid,storages[1],0) -- Resetar a contagem end -- ----------------------------------------------- -- else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Vamos verificar novamente em 10 segundos!") addEvent(additem,10000,cid,premio,premio_cont,premio_reset) end end end else doPlayerSendCancel(cid,"Este castelo ja foi conquistado pela sua guild!") doSendMagicEffect(position, 2) end else doPlayerSendCancel(cid,"O sistema está desativado") end else doPlayerSendCancel(cid,"É nescessario ter guild para dominar o castelo!") doSendMagicEffect(position, 2) end end ------------------------- por pc98 function additem(cid,premio,premio_cont,premio_reset) if getItemWeightById(premio,1) <= getPlayerFreeCap(cid) then doPlayerAddItem(cid, premio,premio_cont) doPlayerSendTextMessage(cid, 18, "Voce recebeu o(a) "..getItemNameById(premio).." como recompensa das suas "..premio_vezes.." conquistas!") if premio_reset == 1 then setPlayerStorageValue(cid,storages[1],0) end stopEvent(additem) else doPlayerSendTextMessage(cid, 18, "Voce nao tem capacidade para ganhar o item. Verificando novamente em 10 segundos!") addEvent(additem,10000,cid) end end ------------------------- por pc98 function isPlayerGuild(cid) if getPlayerGuildName(cid) ~= "" then return TRUE else return FALSE end end
-
[Duvida] Tp com action
sim você está indo no caminho certo parceiro, pelo o que você disse a sua quest vai ficar muito boa, vai em frente
-
[Duvida] Tp com action
Cara, se você for usar mais de 1 teleport com a mesma uniqueid, use actionid pelo motivo de não duplicar e para os outros não poderem usar o teleport sem está na quest adicione um valor de storage naqueles que passaram a participar da quest, não consegui ler o script direito pq to pelo cel, abraço!
-
Erro OT - Distro 0.4 Rev 3777
O ataque atinge algum monstro ou player? Ja tive algo parecido, no meu lagava tudo.
- CHANGEGOLD
-
Ticket Medals
Olá pessoal, como eu não tinha nada pra fazer resolvi criar este sistema que será bem útil para usar como premiações. Como funciona? - Simplesmente você clica em um item chamado ticket medal e em seguida você receberá uma quantia em medalhas mas esta quantia será aleatória. Tabela de porcentagem abaixo : 49% == chances de cair nada. 20% == chances de cair 3 medalhas. 15% == chances de cair 5 medalhas. 10% == chances de cair 7 medalhas. 5% == chances de cair 10 medalhas. 1% == chances de cair 25 medalhas. vamos instalar o sistema [..] 1º - execute este código em sua database : ALTER TABLE `players` ADD medals INT(11) NOT NULL DEFAULT 0; 2º - crie um arquivo lua chamado 016-ticket na pasta data/lib e insira o seguinte código : --[[ functions by Ladyazaleia with love. ]]-- function getPlayerMedals(cid) -- function get medals. local qr = db.getResult("SELECT `medals` FROM `players` WHERE `id`= "..getPlayerGUID(cid)..";") medals = qr:getDataInt("medals", getPlayerGUID(cid)) if medals < 0 then medals = 0 end return medals end function doPlayerRemoveMedals(cid, count) -- function remove medals. if getPlayerMedals(cid) < count then return false else return db.query("UPDATE `players` SET `medals` = "..getPlayerMedals(cid)-count.." WHERE `players`.`id`= "..getPlayerGUID(cid)..";") end return true end function getTableWild() -- function get percent in randomtable. tablewild = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, -- 49 % 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3, -- 20 % 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, -- 15 % 7,7,7,7,7,7,7,7,7,7, -- 10 % 10,10,10,10,10, -- 5 % 25, -- 1 % } return tablewild end 3º - abra o seu items.xml e adicione esta tag la no final : <item id="12427" article="a" name="ticket medal" plural="ticket medals"> <attribute key="weight" value="10" /> <attribute key="description" value="ticket medal is an item that when used will become worthless random medals that can be used to purchase items." /> </item> 4º - abra o seu actions.xml e insira esta tag : <action itemid="12427" event="script" value="ticket.lua"/> 5º - crie um arquivo lua chamado ticket na pasta data/actions/scripts e insira o seguinte código : --[[ script by Ladyazaleia with love. ]]-- function onUse(cid, item, fromPosition, itemEx, toPosition) rand = math.random(1, #getTableWild()) query = 'UPDATE `players` SET `medals` = '..getPlayerMedals(cid)+getTableWild()[rand]..' WHERE `players`.`id`= '..getPlayerGUID(cid)..';' if doPlayerRemoveItem(cid, 12427, 1) then db.query(query) doSendMagicEffect(getThingPos(cid), 13) doPlayerPopupFYI(cid, 'You received : ['..getTableWild()[rand]..'] medal coins.\n\nTo learn more about the system, type /medals.') end return true end 6º - abra o seu talkactions.xml e adicione esta tag la no final : <talkaction words="!medals;/medals" event="script" value="ticket.lua"/> 7º - crie um arquivo lua chamado ticket na pasta data/talkactions/scripts e insira o seguinte código : --[[ script by Ladyazaleia with love. ]]-- function onSay(cid) doPlayerPopupFYI(cid, 'Ticket medal is an item that promises to present you with medals\nfor you to purchase items available in the store medals.\n\nYou have ['..getPlayerMedals(cid)..'] medals coins.') return true end Observações : Caso você queira mudar as porcentagens, checar o arquivo 016-ticket.lua na pasta data/lib e fazer as alterações na tabela, só faça se souber. Se o item 12427 já estiver registrado, mude-o! mas se não estiver registrado meu conselho é : "deixe tudo do jeito que está". Você poderá usar as funções : getPlayerMedals(cid) para pegar o valor de medalhas do player & doPlayerRemoveMedals(cid, count) para remover uma quantidade de medalhas do player, count é a quantidade. Desculpe pela tabela constrangedora, só consegui porcentar assim. exemplo de uso : function onSay(cid, words, param) local count = 10 if doPlayerRemoveMedals(cid, count) then doPlayerAddItem(cid, 2160, 100) doSendMagicEffect(getThingPos(cid), 12) else doPlayerPopupFYI(cid, 'Você não possui '..count..' medal coins.') end return true end este exemplo faz com que o player possa comprar 100 crystal coins se ele tiver 10 medal coins. até mais pessoal, um grande abraço e se gostou, rep+ créditos : Halls Santos or Ladyazaleia.
- Teleport Scroll System
- CHANGEGOLD
- sign zed
-
Ajuda Player perder vocation ao morrer!
Acho que é o playerKill, poste o script para eu dá uma olhada.
-
Equipe para Ot profissional.
Desde o começo de 2013 venho mechendo com otserver, nunca cheguei a terminar um pois vi que eu poderia melhorar bastante e até hoje eu fuço por ai aprendendo bastante mas o meu foco mesmo é scripting, estou estudando bastante lua e evoluindo rapidamente, bom eu acho! Caso você queira alguma ajuda pode contactar comigo, nunca formei equipe nenhuma mas eu gosto de ajudar.. Facebook : fb.com/wustehs
-
CHANGEGOLD
Olá humanos, tudo certo? estou maior tempão sem frequentar o fórum devido a falta de internet em meu humilde notebook então resolvi entrar esses últimos dias para postar este CHANGEGOLD que acho bem legal e útil, principalmente para quem vende itens de preços altíssimos em seus servidores. Como usar? : fácil, apenas clique nos seus 100 crystal coins e em seguida se tornará 1 rare coin ou qualquer nome que você escolher pois no padrão está rare coin. 1º - abra o seu items.xml e digite CTRL+F, em seguida procure pelo id : 9971 e troque esta tag : <item id="9971" article="a" name="gold ingot"> <attribute key="weight" value="1800" /> </item> por esta : <item id="9971" article="a" name="rare coin" plural="rare coins"> <attribute key="weight" value="10" /> <attribute key="worth" value="1000000" /> </item> 2º vai em actions/actions.xml e digite CTRL+F, em seguida procure por : changegold e adicione esta tag em baixo : <action itemid="9971" event="script" value="other/changegold.lua"/> 3ª vai em actions/scripts/others e abra o ficheiro changegold.lua em seguida apague tudo que tem dentro e coloque isto : local coins = { [2148] = { to = 2152, effect = 210 }, [2152] = { from = 2148, to = 2160, effect = 130 }, [2160] = { from = 2152, to = 9971, effect = 65 }, [9971] = { from = 2160, effect = 198 } } function onUse(cid, item, fromPosition, itemEx, toPosition) if(getPlayerFlagValue(cid, PLAYERFLAG_CANNOTPICKUPITEM)) then return false end local coin = coins[item.itemid] if(not coin) then return false end if(coin.to ~= nil and item.type == ITEMCOUNT_MAX) then doChangeTypeItem(item.uid, item.type - item.type) doPlayerAddItem(cid, coin.to, 1) doSendAnimatedText(fromPosition, "+ $$$", coins[coin.to].effect) elseif(coin.from ~= nil) then doChangeTypeItem(item.uid, item.type - 1) doPlayerAddItem(cid, coin.from, ITEMCOUNT_MAX) doSendAnimatedText(fromPosition, "- $$$", coins[coin.from].effect) end return true end pronto meu caro amigo, tudo funcionará perfeitamente lembrando que você poderá depositar os seus rare coins, comprar itens no NPC e etc.. tudo porque cada rare coin tem um valor de 1,000,000 gold coins. creditos : Halls Santos
-
Ajuda Player perder vocation ao morrer!
Poste o seu creaturescripts.xml por favor.
- [PEDIDO] URGENTE
-
[HELP] BUG no templo!
Os players estão sendo salvos? Faz um char você mesmo e note quando re-logar se vai salvar level, itens e etc..
-
[URGENTE] Monster
To pelo celular mas vo tentar fazer aqui perai, vai em creaturescripts/scripts crie um arquivo.lua e dentro coloque isto : function onKill(cid, target, lastHit) if isPlayer(cid) then return true end if getCreatureName(target) == 'Baiakuda Earth Elemental' then doBroadcastMessage(''..getCreatureByName(cid)..' [Level : '..getPlayerLevel(cid)..'] acabou de derrotar o monstro '..getCreatureName(target)..'.', 21) end return true end depois em creaturescripts.xml coloque a seguinte tag : <event type="kill" name="MonsterDeath" event="script" value="arquivo.lua"/> depois na mesma pasta abra o arquivo login.lua e procure por "registerCreatureEvent" em seguida coloque no ultimo da fila o seguinte código : registerCreatureEvent(cid, "MonsterDeath") pronto lek, qualquer erro me desculpe, digitar pelo celular dói os dedos ahsusju celular de teclado :/
-
{Pedido} Ring que aumenta ataque de espada
Pelo o que eu saiba, "hitChance" é para ammo, "arrows" mas caso funcione em outras armas, tudo bem :v estou pelo celular mas quando eu entrar no pc se ninguém tiver te respondido, faço um script pra você.
- Armazenar Tabelas em Storages (setGlobalTableStorage)