Ir para conteúdo

Wirgulino

Membro
  • Registro em

  • Última visita

  1. Wirgulino alterou sua foto pessoal
  2. Wirgulino postou uma resposta no tópico em Suporte Bots
    Para sua aplicação manipular outro programa,você deve ter em mãos a Interface de Programação de Aplicações(API) do programa. Um exemplo de uso de API são os drivers de conexão a banco de dados. é um conjunto de rotinas e padrões estabelecidos por um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.(Wikipedia). São um conjunto de classes, métodos e funções, que são compactadas em um arquivo, ao qual você deve fazer referência na sua aplicação. Após fazer a referência da API, você poderá usar os métodos nela existentes, que estão na maioria das vezes ocultos. Você já deve saber usar um pacote de classes... no C# vc utiliza o prefixo using, enquanto no Java você utiliza o import, dai irá variá por linguagem, depende também da API que você baixar. Poderia por exemplo, existir uma TibiaAPI para Java. O uso das APIs são semelhantes ao uso dos drivers de banco de dados, você já deve ter usado. Você pode encontrar o tibiaAPI procurando no google, daí só pesquisar como utiliza-la. Att.
  3. Cara, muito obrigado, não era isso que eu queria fazer, mas analisando seu código eu consegui fazer o que eu estava procurando. Esse post me ajudou muito. Vlw + REP
  4. Tem como eu utilizar o SGBD da Microsoft ao invés do SQLite ou MySQL. Se sim, quais os passo para fazer essa façanha?
  5. Wirgulino reagiu a uma resposta no tópico: Remover todos itens do personagem.
  6. que coincidência, eu já tinha tentado fazer desse mesmo jeito, mas não funcionou, pois só atualiza quando serve fecha. Dai os itens não somem na mesma hora. Mas, obrigado.
  7. Comigo funcionou normal, mas só acontece com cada personagem apenas uma vez, como se fosse uma quest. Eu queria te pedir que me ajudasse, para que funcione sempre.
  8. Boa tarde galera, gostaria de um script que removesse todos os items do personagem de imediato, igual quando uma pessoa morre redskull. Pode ser utilizando um TP, um scroll, clicando em um item. Me ajudem ai please.
  9. Wirgulino postou uma resposta no tópico em Suporte Tibia OTServer
    Estou com um OT de War, cada time nasce em seu lado, o problema é que o cara pode matar alguém do mesmo time, e ainda recebe o frag. Eu quero fazer como que as pessoas do mesmo time (mesmo local que nasce) não possam se atacar (como non-pvp).
  10. Wirgulino reagiu a uma resposta no tópico: PEDIDO (deathBroadcast)
  11. Wirgulino postou uma resposta no tópico em Suporte Tibia OTServer
    Copie uma magia que já existe tipo um Firefield, dai vc troca o sprit que fica no chão pelo que vc quer, e o dano no cara.
  12. Galera, estou fazendo um OT de War de 2 times. Eu consegui colocar uma punição coso o cara mate o player do próprio time(mesmo lugar que nasce) . O problema é que mesmo com a punição o player ainda ganha um Frag e a Recompensa que todos ganha por matar. Meu pedido é que, se o player mate alguém do mesmo time(lugar que nasce(Town)), então eles não ganhe nem o Frag e nem a recompensa. Eu, poderia procurar tirar o PVP de pessoas do mesmo time, mas eu quero que fique mais real e menos No-PVP. Mas se ninguém souber como fazer essa primeira proposta, então me ajuda a tirar o PVP do mesmo time. Vou colocar o código do "deathBroadcast" pra vocês analisarem. local config = { affected = 10, -- quantos jogadores (deathAssits) da tabela Deathlist este script deve ser executado para? killStorageValue = 3943, deathStorageValue = 3944, -- commands for the texts (those inside of ||, example: |KILLS| to show skills): KILLS, KILLERNAME, TARGETNAME rewardItem = { use = true, itemid = 2160, minLevel = false, -- false if you don't want any level req minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed). }, killMessage = { use = true, text = "You owned |TARGETNAME|! You have now |KILLERKILLS| kills!", messageClass = MESSAGE_STATUS_CONSOLE_BLUE }, broadcastMessage = { use = false, minLevel = false, -- false if you don't want any level req minLevelDiff = false, -- false if you don't want any level diff req (negative numbers allowed). text = "|KILLERNAME| [|KILLERLEVEL|] just killed |TARGETNAME| [|TARGETLEVEL|]!", messageClass = MESSAGE_STATUS_WARNING }, killerAnimation = { use = true, text = "Frag!", -- Only 9 letters! No "commands" here. color = 144 }, targetAnimation = { use = true, text = "OWNED!!", -- Only 9 letters! No "commands" here. color = 180 } } function onDeath(cid, corpse, deathList) for i = 1, math.min(config.affected, getConfigInfo('deathAssistCount')) do local killer = deathList[i] if((isPlayer(killer) == TRUE) ) then local targetKills = math.max(0, getPlayerStorageValue(cid, config.killStorageValue)) + 1 local targetDeaths = math.max(0, getPlayerStorageValue(cid, config.deathStorageValue)) + 1 local killerKills = math.max(0, getPlayerStorageValue(killer, config.killStorageValue)) + 1 local killerDeaths = math.max(0, getPlayerStorageValue(killer, config.deathStorageValue)) + 1 setPlayerStorageValue(killer, config.killStorageValue, targetKills) setPlayerStorageValue(cid, config.deathStorageValue, targetDeaths) local killerLevel = getPlayerLevel(killer) local targetLevel = getPlayerLevel(cid) local levelDiff = targetLevel - killerLevel local values = { ["KILLERKILLS"] = killerKills, ["KILLERDEATHS"] = killerDeaths, ["KILLERNAME"] = getCreatureName(killer), ["KILLERLEVEL"] = killerLevel, ["TARGETKILLS"] = targetKills, ["TARGETDEATHS"] = targetDeaths, ["TARGETNAME"] = getCreatureName(cid), ["TARGETLEVEL"] = targetLevel } function formateString(str) return(str:gsub("|([A-Z]+)|", (function(a) return values[a] end))) end if(config.rewardItem.use and (not config.rewardItem.minLevel or targetLevel >= config.rewardItem.minLevel) and (not config.rewardItem.minLevelDiff or levelDiff >= config.rewardItem.minLevelDiff)) then local uid = doPlayerAddItem(killer, config.rewardItem.itemid, 1) end if(config.killMessage.use) then doPlayerSendTextMessage(killer, config.killMessage.messageClass, formateString(config.killMessage.text)) end if(config.broadcastMessage.use and (not config.broadcastMessage.minLevel or getPlayerLevel(cid) >= config.broadcastMessage.minLevel) and (not config.broadcastMessage.minLevelDiff or levelDiff >= config.broadcastMessage.minLevelDiff)) then broadcastMessage(formateString(config.broadcastMessage.text), config.broadcastMessage.messageClass) end if(config.killerAnimation.use) then doSendAnimatedText(getCreaturePosition(killer), config.killerAnimation.text, config.killerAnimation.color) end if(config.targetAnimation.use) then doSendAnimatedText(getCreaturePosition(cid), config.targetAnimation.text, config.targetAnimation.color) end end end return true end Na linha 10, tem o ID do itens da recompensa que é um Crystal coin, e na linha 77 diz quando crystals coins vou ganhar se killar alguém que nesse caso é 1. Eu quero é mudar isso, para se os player forem do mesmo time, eles não ganharão nada (nem frag, nem itens). Eu consegui punir as pessoas que matam o mesmo time com dano no life, na mana e na experiência. no arquivo onkill.lua o código ficou assim: function onKill(cid, target, lastHit) if cid ~= target and isPlayer(target) then if getPlayerTown(cid) == getPlayerTown(target) then doCreatureAddHealth(cid, -200) doCreatureAddMana(cid, -200) doPlayerAddExperience(cid, -500000) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Punido por ter matado player do mesmo time!!') else doSendAnimatedText(getPlayerPosition(cid), "Orgasmic~", 198) end end return true end Se de alguma mandei, eu pudesse, desse arquivo, diminuir a quantidade de kill e recompensa,do jogador que matou o mesmo time, seria legal. tipo assim doCreatureAddFrag(cid, -1) . Dai, o que ele fosse ganhar do outro script, ele já teria perdido nesse. Obrigado desde já, espero que possam me ajudar!
  13. Wirgulino reagiu a uma resposta no tópico: [ Pedido ] NPC DE TROCA
  14. Wirgulino postou uma resposta no tópico em Códigos C++
    Tem como colocar pra ele atacar só um tipo de pessoa? Exemplo: Duas guild em War, dai eu coloco um larva hole em um lado que só ataque o time adversário, em caso de OT de War.
  15. Cara, eu vi esse tópico quando estava tentando aprender a fazer isso também, dai eu descobri sozinho, vc tem que baixar o Remere's, dai vc no Menu "Map" e Submenu "Edit Towns". Pronto, agora é só vc mudar as corrdenadas para o lugar de ID iqual ao "newPlayerTownId = 1" da sua config.lua.
  16. Qual a senha do GOD?

Informação Importante

Confirmação de Termo