-
Total de itens
750 -
Registro em
-
Última visita
-
Dias Ganhos
8
Tudo que dalvorsn postou
-
Um erro genérico assim precisava de um debugger, porém para usar o debugger precisaria compilar as sources com a flag -g. O que tu pode fazer é procurar por algum source de pokemon que se assemelhe com o seu e ir adaptando ate ficar funcional novamente, rodar um server sem ter suas sources é doideira, porque quando acontecem erros assim, tu fica de mãos atadas
-
Tu tem as sources do servidor pelo menos?
-
Quando o problema iniciou?
-
O hit corpo a corpo é determinado pelo melee, no xml do monstro. Para reduzi-lo basta reduzir ai, o que provavelmente esta acontecendo é que a formula que calcula isso no stats change(que é como o pda regula os damages, efetividade e etc) está multiplicando esse valor e tornando-o muito alto
-
[Encerrado] Oque Preciso pra criar um wodbo do 0
tópico respondeu ao zude96 de dalvorsn em Tópicos Sem Resposta
Quando se diz "do zero" entende-se que fará desde as bibliotecas ate o mais alto nível, o que claramente nao deve ser o que tentou dizer. Diz partindo de uma distro de tfs padrão certo? Partindo dessa premissa, você precisa de ter conhecimento em todas as areas: mapping, spriting, scripting, programming, web e sql Fazer algo do zero sozinho é burrice, desculpe a sinceridade, mas é muito trabalho para uma pessoa só, reuna uma equipe e terá mais chances de terminar. -
Tem algumas funções especificas da classe miniwindow sendo usadas, tu vai ter que fazer algumas modificações, o primeiro é ir no init skillsWindow:disableResize() e skillsWindow:setup() Caso isso não resolva completamente, teremos de mecher nesse miniwindowcontents
-
Muda de MiniWindow para UIWindow, dai ele fica sem image source
-
compila com flag de debug "-g" e habilite para gerar coredump, em linux basta o seguinte comando pra ele começar a gerar o dump: # ulimit -c unlimited Dai é só reproduzir o crash, e abrir o core quando gerar, algo assim: # gdb ./tfs core Isso vai dar um detalhamento do crash Não perca tempo tentando descobrir lendo o code, é mais rapido com o coredump Quanto ao código, se é para retornar a quantidade de pokemons, pra que raios usa double? Bom, não sei como é a implementaçao desse pokeball, mas acredito que esteja tentando fazer algo assim: double PlayerpokemonCountIn(const Item* item) const{ double count = 0.0f; if(item->getPokeball() >= 1.0f) count += 1.0f; const Container* container; if(container = item->getContainer()) for(ContainerIterator it = container->begin(), end = container->end(); it != end; ++it) if(Item* tmp = (*it)->getItem()) if(tmp->getPokeball() >= 1.0f) count++; return count;}
- 2 respostas
-
- poketibia
- tfs0.4 rev3777
- (e 1 mais)
-
Na source do seu servidor obviamente, isso so pode ser feito por la.
-
#status.cpp Procure por: p = xmlNewNode(NULL,(const xmlChar*)"players");sprintf(buffer, "%d", g_game.getPlayersOnline()); Deixe assim: p = xmlNewNode(NULL,(const xmlChar*)"players");sprintf(buffer, "%d", 0); E em seguida procure por: if(requestedInfo & REQUEST_PLAYERS_INFO) { output->put<char>(0x20); output->put<uint32_t>(g_game.getPlayersOnline()); output->put<uint32_t>(g_config.getNumber(ConfigManager::MAX_PLAYERS)); output->put<uint32_t>(g_game.getPlayersRecord()); } Deixe: if(requestedInfo & REQUEST_PLAYERS_INFO) { output->put<char>(0x20); output->put<uint32_t>(0); output->put<uint32_t>(g_config.getNumber(ConfigManager::MAX_PLAYERS)); output->put<uint32_t>(g_game.getPlayersRecord()); }
-
action Script de Action (Premiações em porcentagem)
pergunta respondeu ao Magraozinho de dalvorsn em Scripts
Basicamente isso, em moldes de action local items = {6548, 6547, 6549}local choosed = items[math.random(#items)]local bag_id = 2120doAddContainerItem(doPlayerAddItem(cid, choosed, 1), bag_id, 1) -
Contagem aonde? no status? se for, é só bloquear o pacote no status.cpp, ai ninguem acessa essa info
-
Exatamente como eu tinha dito: local config = { ids = {5926, 3940, 11119, 10518, 10521}, --ID do item. drop_effect = true --Efeito que aparecerá em cima da corpse (apenas para o dono da corpse). OPCIONAL! Se não quiser, coloque false.} function examine(cid, position, corpse_id, name) if not isPlayer(cid) then return true end local corpse = getTileItemById(position, corpse_id).uid if corpse <= 1 or not isContainer(corpse) then return true end for slot = 0, getContainerSize(corpse) - 1 do local item = getContainerItem(corpse, slot) if item.uid <= 1 then return true end if isInArray(config.ids, item.itemid) then doBroadcastMessage("[LOOT MENSAGEM]: O jogador ("..getCreatureName(cid)..") dropou um item exclusivo de um ("..name..").", 19) if config.drop_effect then doSendMagicEffect(position, config.drop_effect, cid) end end endend function onKill(cid, target) if not isMonster(target) then return true end local monster_name = getCreatureName(target) local corpse_id = getMonsterInfo(monster_name).lookCorpse addEvent(examine, 5, cid, getThingPos(target), corpse_id, monster_name) return trueend
-
Tu precisa transformar o id em uma tabela, e mudar a verificação de "item.itemid == config.itemid" para isInArray(config.items, item.itemid)
-
tfs 0.3.6 Problem Lubuntu + Elfbot - Shift+F12 [20 REPS]
pergunta respondeu ao gmstrikker de dalvorsn em Infraestrutura
Isso sim, mas não necessariamenté algo trivial, o esconder que tu diz é fechar o programa? ou tem mais alguma função, se for eu sei que tem como tu fazer bind de hotkeys no linux, com alguns programas, um deles se nao me engano seria o xtools(algo assim), dai faria um shell pra matar, e outro pra ligar, mas não é bem isso que tu quer ne? -
tfs 0.3.6 Problem Lubuntu + Elfbot - Shift+F12 [20 REPS]
pergunta respondeu ao gmstrikker de dalvorsn em Infraestrutura
Provavelmente o elf usa o hook do windows pra ouvir as teclas, pode ser que o bug seja por isso, ai nao tem muito o que fazer, é incompatibilidade do wine -
tfs 0.3.6 Problem Lubuntu + Elfbot - Shift+F12 [20 REPS]
pergunta respondeu ao gmstrikker de dalvorsn em Infraestrutura
Rapaz, normalmente eu rodo programas no wine e os atalhos funcionam normalmente, deve ter algo bloqueando isso, ja tentou usar diretamente pelo wine sem o playonlinux? Quanto ao elfbot especificamente eu nao sei dizer, não jogo tibia em si, e nunca usei ele, menos ainda no linux -
Principalmente o items.otb, e para descrições e configurações o items.xml
-
Muda esse cap pra 6, as balls vao funcionar de boas, mas depois provavelmente vai ter um problema quando tiver com todas as balls equipadas, nao vai dar pra pegar mais item nenhum, dai tu muda o peso das balls pra 99. ps.: esse valor ai do items.xml nas sources é dividido por 100.0f
- 37 respostas
-
- bug bag
- poketibia 8.54
-
(e 1 mais)
Tags:
-
Qual o cap dos players na database? E qual o peso das balls?
- 37 respostas
-
- bug bag
- poketibia 8.54
-
(e 1 mais)
Tags:
-
Voce pode fazer na mão o calculo, como o @Night Wolf fez. Porém se for usar em uma tabela muito grande isso pode ser bem massivo e desgastante. Para resolver tu pode fazer um algoritimo que leva como base a soma das rates, e vai somando-as até que se chegue no numero sorteado. Em lua quando se usa a função math.random() sem parametros ela retorna um numero flutuante de 0.0 a 1.0 Genericamente poderia ser escrita uma função assim: function randomItemsTable(itemsTable) local total = 0 for _, it in ipairs(itemsTable) do total = total + it.rate end table.sort(itemsTable, function(a, b) return a.rate < b.rate end) local rand = math.random() local sum = 0 for _, it in ipairs(itemsTable) do sum = sum + it.rate/total if sum > rand then return it.id end endend Exemplo de uso, com estatistica pra tu ver a precisão: function randomItemsTable(itemsTable) local total = 0 for _, it in ipairs(itemsTable) do total = total + it.rate end table.sort(itemsTable, function(a, b) return a.rate < b.rate end) local rand = math.random() local sum = 0 for _, it in ipairs(itemsTable) do sum = sum + it.rate/total if sum > rand then return it.id end endendlocal items = { {id = 50, rate = 1}; {id = 60, rate = 2}; {id = 51, rate = 1}; {id = 80, rate = 3}; {id = 123, rate = 8}}local results = {}for _, it in ipairs(items) do results[it.id] = 0endlocal tries = 500000math.randomseed(os.time())for i = 0, tries do id = randomItemsTable(items) results[id] = results[id] + 1endprint("Number of tries: ".. tries)for _, it in ipairs(items) do print(string.format("ID: %d\t\tRate: %d\t\tRate percent: %.2f%%\tSorted times: %d", it.id, it.rate, 100 * results[it.id]/tries, results[it.id]))end
-
Bota no github, fica melhor de te ajudarem nas edições, e bem mais organizado
-
Faz so nos samplers pra testar primeiro se é esse o problema, se for, deleta em todos
- 37 respostas
-
- bug bag
- poketibia 8.54
-
(e 1 mais)
Tags:
-
Deleta eles, esses 12k e etc, deixa so os que deveriam estar e cria um novo char pra testar o cap
- 37 respostas
-
- bug bag
- poketibia 8.54
-
(e 1 mais)
Tags:
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.