Tudo que Storm postou
- [OLD CLIENT] Servidor NTOUnLiMiTeD e NTOStorm
-
[OLD CLIENT] Servidor NTOUnLiMiTeD e NTOStorm
@lllllllllllll Eu passei um pente procurando a função doRemoveCreature() na pasta creaturescripts. Não achei nenhuma função que pareça se referir ao account manager, então tenho algumas suspeitas: Tem algum sistema que está removendo o account manager ao logar que não seja no creaturescripts (Tenho suspeita de que seja no globalevents, algum onThink talvez?) O cara que fez os sistemas do servidor trocou a função doRemoveCreature() para outro nome. Algum problema na source. (Por que a source impediria o Account Manager de logar???? Se o problema for nela, justifica ainda mais não usar nada desse servidor.) Possíveis soluções: Trocar a distro Desativar todas as funções doRemoveCreature() no creaturescripts (É o que eu faria). Passar um pente fino em cada sistema do servidor, procurando algo relacionado a remover criaturas ou algo relacionado ao account manager (vai levar muito tempo). @M ustang Infelizmente na comunidade hoje em dia tem muita gente assim. O que você pode fazer para ajudar a comunidade é denunciar as pessoas que fizeram isso e postar os trabalhos deles que sejam úteis, mesmo que eles sejam comprados.
-
[OLD CLIENT] Servidor NTOUnLiMiTeD e NTOStorm
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 e também com falhas. O máximo que você deve retirar desse servidor é o mapa, o resto não é recomendável.
-
[AJUDA PVP] Level alto atacando lvl baixo
@dbofurie Vou fazer o código mais tarde e posto aqui.
-
erro sistema de surf poketibia
@GaspaR1 Sim, é só você falar o que quer que mude, mas é muito mais fácil você adicionar as funções que faltam na lib.
-
Script
@Lokyskiller Me manda os erros que aparecem.
-
Script
@Lokyskiller
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@Bepovi Faz o que eu disse acima, talvez dê certo em seu servidor. Printa o que aparecer na distro e me manda.
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@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.
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@Bepovi Tenta assim:
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@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"/>
-
erro sistema de surf poketibia
@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.
-
[AJUDA PVP] Level alto atacando lvl baixo
@One Punch Man @dbofurie Atualizei o código, porém testem antes de colocar no servidor principal de vocês.
-
[AJUDA PVP] Level alto atacando lvl baixo
@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 doPlayerSendTextMessage(cid, 27, "Voce nao pode atacar jogadores de ".. limit .." leveis a menos que você.") return false end end end end return true end tag no XML: <event type="combat" name="LevelCheck" event="script" value="levelcheck.lua"/> Registra no login.lua: registerCreatureEvent(cid, "LevelCheck")
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@Bepovi Manda o código completo.
-
erro sistema de pesca
@GaspaR1 A função isWatchingTv não foi encontrada no seu servidor, é o mesmo caso do outro tópico que você criou.
-
erro sistema de surf poketibia
@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.
-
[AJUDA] Definir level minimo e máximo em creaturescript POKETIBIA
@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).
-
Pequeno Erro nos teleportes que vão aos trainers
@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:sendTextMessage(MESSAGE_INFO_DESCR, "No available treiner slots.") end return true end
-
(Resolvido)getItemAttribute retornando null
@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)) / factor) return min, max end
-
(Resolvido)getItemAttribute retornando null
@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
-
(Resolvido)getItemAttribute retornando null
@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 * 0.06)) / factor) return min, max end
-
(Resolvido)Check party item
@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
-
(Resolvido)Check party item
@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
-
Slot System
@bellatrikz Tenta mudando apenas esta parte: