Ir para conteúdo
  • Cadastre-se

Storm

Héroi
  • Total de itens

    1045
  • Registro em

  • Última visita

  • Dias Ganhos

    43

Tudo que Storm postou

  1. Dei uma olhada bem rápida nos creaturescripts e não achei nenhum script que faça com que o Account Manager deslogue, mas enfim, tentem deixar a database no config.lua como plain: Procure isso no config.lua encryptionType = "sha1" E substitua por encryptionType = "plain" Recomendo também procurarem uma database nova e resetada, caso o método a cima não funcione. De qualquer forma, não recomendo que ninguém use esse servidor como base ou pegue sistemas do mesmo, pois enquanto eu estava procurando nos creaturescripts, achei muito sistemas mal feitos, mal otimizados
  2. @dbofurie Vou fazer o código mais tarde e posto aqui.
  3. @GaspaR1 Sim, é só você falar o que quer que mude, mas é muito mais fácil você adicionar as funções que faltam na lib.
  4. @Lokyskiller Me manda os erros que aparecem.
  5. @Bepovi Faz o que eu disse acima, talvez dê certo em seu servidor. Printa o que aparecer na distro e me manda.
  6. @Bepovi De qualquer forma, esse sistema é gambiarra pura. O certo seria ter na sua source a função onSpawn, aí sim poderiamos fazer algo bom. Faz assim, coloca esse script que vou te mandar e me manda o que vai printar na source, quando um jogador atacar um pokemon e vice e versa. Por onThink até da pra fazer, mas creio que vai pesar muito o servidor, já que na função onThink não é possível obter o id do player que está próximo ao pokemon.
  7. @Bepovi Esse sistema é meio confuso, não sei se vai funcionar de um jeito bom. Mas enfim, arrumei a callback para uma melhor, onde você consegue puxar o id do player. Arruma o nome das tabelas, desse jeito que está não vai funcionar. Outra coisa, troca a XML para isso: <event type="combat" name="Pokelvl" event="script" value="Pokelvl.lua"/>
  8. @GaspaR1 Cria qualquer arquivo .lua na pasta lib e coloca essa função dentro. Lembre-se que storages.isInDuel tem que ser uma tabela declarada também na lib do seu servidor. O complicado de trocar sistemas para servidores diferentes é isso, tem que fazer várias alterações.
  9. @One Punch Man @dbofurie Atualizei o código, porém testem antes de colocar no servidor principal de vocês.
  10. @dbofurie local limit = 300 -- Até quantos leveis a mais um jogador pode atacar um jogador level menor que ele local areas = { [1] = { fromPos = {x = 100, y = 200, z = 7}, toPos = {{x = 200, y = 100, z = 8}} }, [2] = { fromPos = {x = 500, y = 600, z = 7}, toPos = {{x = 800, y = 700, z = 7}} }, } function onCombat(cid, target) if isPlayer(cid) and isPlayer(target) then if getPlayerLevel(target) + limit <= getPlayerLevel(cid) then for _, var in pairs(areas) do if not isInArea(getCreaturePosition(target), var.fromPos, var.toPos) then d
  11. @GaspaR1 A função isWatchingTv não foi encontrada no seu servidor, é o mesmo caso do outro tópico que você criou.
  12. @GaspaR1 Seu servidor não contém a função isInDuel. Não sei se essa função é da source ou é feita por lib, então fica difícil de ajudar.
  13. @Bepovi O erro é que você está tentando comparar o level de um pokemon (que não existe), com um número. if getPlayerLevel(cid) >= 10 and getPlayerLevel(cid) <= 20 then Aquele cid ali deve ser substituído pelo id do player, pois o cid no casso desse script se refere ao pokémon(monstro).
  14. @Serpente Tenta assim: function onStepIn(creature, item, position, fromPosition) local player = creature:getPlayer() if not player then return true end if findFirstEmpty() then player:teleportTo(availableTrainingSlot) player:sendTextMessage(MESSAGE_INFO_DESCR, "LeftTopCorner: X=".. config.leftTopCorner.x .."Y=".. config.leftTopCorner.y .." RightDownCorner: X=".. config.rightDownCorner.x .." Y= ".. config.rightDownCorner.y .." pronto") --player:sendTextMessage(MESSAGE_INFO_DESCR, "Treiner stamina regeneration engaged.") else player:sendT
  15. @Balkalima Tirei aquele print(type) e mudei algumas outras coisas, tenta ai: function onGetFormulaValues(cid, level, skill, attack, factor) local arma = getPlayerSlotItem(cid, CONST_SLOT_LEFT) if getItemWeaponType(arma.uid) ~= 4 then local danoArma = getItemInfo(arma.itemid).attack else local danoArma = getItemInfo(getPlayerSlotItem(cid, CONST_SLOT_RIGHT).itemid).attack end print(danoArma) -- print apenas para ver o que é retornado (null neste caso) min = -(((attack * 5) + (skill * 0.5) + (level * 0.04)) / factor) max = -(((attack * 5) + (skill * 0.8) + (level * 0.06)) / fac
  16. @Balkalima Tenta usar aspas duplas ao invés de usar a aspa simples e vê se funciona. Tava pesquisando aqui, vê se no seu servidor existe a função getItemAttack e usa ela no lugar do getItemAttribute local danoArma = getItemAttack(arma) Se não tiver a função, aqui está ela: function getItemAttack(item) return getItemAttribute(item.uid, "attack") or getItemInfo(item.itemid).attack end
  17. @Balkalima Tenta assim: function onGetFormulaValues(cid, level, skill, attack, factor) local arma = getPlayerSlotItem(cid, CONST_SLOT_LEFT).uid if arma ~= 0 then if getItemWeaponType(arma) ~= 4 then local arma = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid end else local arma = getPlayerSlotItem(cid, CONST_SLOT_RIGHT).uid end local danoArma = getItemAttribute(arma, 'attack') print(type(danoArma)) -- print apenas para ver o que é retornado (null neste caso) min = -(((attack * 5) + (skill * 0.5) + (level * 0.04)) / factor) max = -(((attack * 5) + (skill * 0.8) + (level
  18. @esnio12 Faz mais um for para remover todos os itens, se você não quiser remover na hora da verificação for index, var2 in pairs(party_id) do doPlayerRemoveItem(var2, itemid, count) end
  19. @esnio12 Tenta assim: local itemid, count = 2155, 1 local party_id = getPartyMembers(cid) for _, var in pairs(party_id) do if getPlayerItemCount(var, itemid) <= count then doPlayerSendTextMessage(cid, 27, "O jogador ".. getPlayerNameById(var) .." nao tem a quantidade do item suficiente") return true end end
  20. @bellatrikz Tenta mudando apenas esta parte:
  21. @betofss Não adianta, não são necessárias apenas mudanças nessa script, e sim também em como o corpse surge nesse servidor. O corpse precisará levar o attributo que vai definir o level e a exp, o sexo, nome e mais algumas coisas. Será necessário mudar também o sistema de como o Nidoram funciona. Mas se quiser tentar usar o que o amigo a cima disse, é só remover o escopo: if not isCreature(item2.uid) then return doPlayerSendCancel(cid, "Voce so pode usar pokebolas em pokemons!") end E é claro, irá surgir outros erros que só serão resolvidos com um novo sistema de corpse
  22. @Calisto local config = { [1] = {item1 ={2150, 2, {x = 30, y = 30, z = 7, stackpos = 2}}, item2 = {2151, 3, {x = 30, y = 30, z = 7, stackpos = 255}}, chance = 50, result = {2160, 3, {x = 30, y = 30, z = 7, stackpos = 255}}}, [2] = {item1 ={2150, 2, {x = 30, y = 30, z = 7, stackpos = 2}}, item2 = {2151, 3, {x = 30, y = 30, z = 7, stackpos = 255}}, chance = 50, result = {2160, 3, {x = 30, y = 30, z = 7, stackpos = 255}}} } function onUse(cid, item, fromPosition, itemEx, toPosition) for _, var in pairs(config) do local item1 = getThingfromPos(var.item1[3]) local item2 = getThingf
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo