Ir para conteúdo

Antharaz

Cavaleiro
  • Total de itens

    153
  • Registro em

  • Última visita

  • Dias Ganhos

    9

Tudo que Antharaz postou

  1. Já tentei usar o doAddAccountBanishment de 2 modos mas não está banindo o player... Uso o TFS 3.6 modo1: doAddAccountBanishment(getAccountIdByName(getCreatureName(cid)),60*60,23,ACTION_BANISHMENT,'Banido.',getPlayerGUID(getCreatureByName(cid)),'Banido.') modo2: doAddAccountBanishment(getAccountIdByName(cid),60*60,23,ACTION_BANISHMENT,'Banido.',getPlayerGUID(getCreatureByName(cid)),'Banido.')
  2. sim... xD Eu vou fazer um sistema anti-bot mas um pouco mais complexo... *-* pois tem como configurar pro programa msm pegar a msg, somar os números a partir da posição tal e mandar a msg... mto bom system
  3. só um detalhe: doCreatureAddHealth(cid,-dano) Isto não irá matar o player, mesmo a variável dano sendo 28133432856328, ele ficará com 1 de life...
  4. Antharaz

    [ Reprovado ]

    o que você acha desnecessario pode sim ser muito util pra em apenas um script criar varias quests consecultivas. Mas é inútil se botar a uid do .xml pois ali já é feita a verificação... agora se fosse um actionid seria diferente. isso não é uid são meros numeros e como você pode ver no script existe varias funções especificas que pode ou não requerir o uso de tal numero. Quando eu falei uniqueid me referi ao número dela. Como ele atribuiu o mesmo número em várias partes do script achei melhor colocar em uma variável só... ja no seu script seria muito mais util usar variáveis locais do que globais dentro do escopo. Sim, verdade... é que eu fiz na pressa aquilo xD a tag.xml está correta já que isso depende da versão utilizada pelo servidor. Sim... é que como ele não colocou a versão imaginei que fosse a mais recente(8.54).
  5. @DoidinMapper Tecnicamente ele ensina a fazer, mas não pelos comandos comuns como os tutos normais tem e que eu acho absurdo, mas sim pelo que as pessoas provavelmente não sabem, como o uso do string.explode, diferença de usar ou não return true no caso, o uso do param, etc. Este tuto não foi feito para ser simplesmente maiss um tuto que fica explicando somente coisas básicas como: o doPlayerSendTextMessage vai mandar a msg para o player. Em relação aos espaços, eu tentei com eles mais juntos, mas achei q ficou ruim... agora na FAQ eu vi que o espaço está realmente grande entre a resposta e a pergunta... ^^ vou arrumar... obrigado pela crítica...
  6. @Marcryzius Como é um tuto para iniciantes imaginei que separado ficaria mais fácil de se entender... xd
  7. Antharaz

    [ Reprovado ]

    {A}chei algumas coisas desnecessárias... 1º - {S}e vc vai por o action ou uniqueid no item, não precisa verificar né... o próprio actions.xml ja faz a verificação direta... 2º - {V}ocê repetiu muito o uniqueid(2415) e o id do item(7434), poderia por uma variável para receber estes valores para não pracisar mudar todos 9595 quando mudar a uid... assim só precisaria mudar na variável 3º - {E}ssa parte de roxo pode ser substituída... imagine que ao pegar a id vc tem de olhar toda hora o nome do item para colocar no nome... fica chato apra alguns... 4º - {O} que você pos para colocar no actions.xml está errado, o correto seria: {C}omo eu faria o script: AZUL = id do item VERMELHO = storage usada Acho desse meu jeito mais simples pois não teria que ir mudando todos 9595 nem olhar nome do item que ganha na quest.
  8. @doidin a FAQ tem TUDO haver com o que foi falado no tópico... na verdade acho que você nem a leu realmente, senão não estaria falando isto... Ela explica dúvidas comuns que usuários tem em relação ao tutorial, como o Vilden... não vi nenhuma desorganização... se puder falar o que poderia melhor na organização ajudaria... @all Obrigado pelas críticas.
  9. {P}ré-requisitos: - Conhecer tables - Ter um senso mínimo de lógica de programação {I}nício Bem, muitos vêem scripts usando a função ipairs e não sabem como que ela funciona... espero tirar muitas dúvidas neste tópico... Vamos parar de enrolar e começar. Usarei a tabela abaixo nos exemplos: local nomedatabela = {"Antharaz",5,"Exemplo","asdrubadeitabebuia"} Várias vezes temos que fazer a interação sobre uma tabela inteira, seja para imprimí-la ou para outros fins, usando algum laço de repetição como for, while ou repeat. Se você não entendeu ainda o que eu disse, vou escrever de outro jeito: várias vezes temos que acessar todos os dados/valores dela. Um exemplo disto é o abaixo: for x = 1,#nomedatabela do print("O valor numero "..x.. " da tabela e: " ..nomedatabela[x] ) end ou x=1 while x ~= (#nomedatabela +1) do print("O valor numero "..x.. " da tabela e: " ..nomedatabela[x] ) x = x+1 end {A}lgumas explicações: O #nomedatabela retorna o último índice da tabela. Como o próprio nome ja diz, em nomedatabela você colocará o nome da sua tabela. Usei o x para ser o valor do índice da tabela. {V}oltando O resultado seria assim: Usando o in ipairs( nomedatabela ), o índice da tabela irá ser atribuído ao primeiro parâmetro(no caso x) e o valor do índice x para o segundo parâmetro, que no caso você o verá no exemplo a seguir: for x,a in ipairs( nomedatabela ) do print("O valor numero "..x.. " da tabela e: " ..a) end {M}ais algumas explicações: O x é a primeiro parâmetro no qual será atribuído o índice da tabela e o a será o segunda parâmetro no qual será atribuído o valor daquele índice. {V}oltando Ficando no final com o mesmo resultado: PS:.. o print fará com que seja imprimido a frase no CONSOLE e não ingame. {A} diferença entre o ipairs e o pairs é que o ipairs pega somente índices numéricos enquanto o pairs pega qualquer índice...
  10. Podem reparar que ao utilizarem a função doPlayerWithdrawMoney no console aparece um erro e o dinheiro não é transferido... Como arrumar: Abra o arquivo 050-function da pasta data/lib e reparem esta parte: Problema: O server interpreta o amount como uma string(tipo texto) e não consegue fazer a comparação com o balance que é do tipo number(número), então usamos a função tonumber() para transformar a string em number, ou seja, substitua a parte de vermelho por tonumber(amount) ficando assim: E voalá... funciona =D Se postarem em outros lugares postem os créditos
  11. Antes de tudo, se você não arrumou o bug do doPlayerWithdrawMoney, CLIQUE AQUI Abra o arquivo talkactions.xml em data/talkactions e coloque antes de </talkactions>: VERMELHO = Palavra que o player terá que dizer para executar o script AZUL = caminho para o script a partir da pasta data/talkactions/scripts Abaixo há o nome do arquivo e o script dele. Coloque-os na pasta data/talkactions/scripts: deposit.lua depositall.lua withdrawall.lua withdraw.lua balance.lua transfer.lua - = Como usar = - deposit: !deposit QUANTIA depositall: !depositall withdraw: !withdraw QUANTIA withdrawall: !withdrawall transfer: !transfer Player,QUANTIA balance: !balance - = SS's = - F.A.Q. Pergunta: Porque você colocou return true no final de cada função? Resposta: Para que a fala não apareça no default para todos verem... Pergunta: o que o string.explode(param, ",") faz? Resposta: Ele procura dentro da string o elemento que está entre aspas(no caso seria a vírgula) e retorna todos os elementos seguidos por vírgula em uma tabela. Pergunta: Então o que seria o t[1] e t[2]? Resposta: t[1] é o primeiro elemento da tabela t(no caso, a primeira parte antes da vírgula está lá) e t[2] é o segundo elemento da tabela t(que seria, no caso, a parte depois da vírgula). Pergunta: E se tivesse 4 palavras separadas por vírgulas no param? Resposta: Se tivessem 3 vírgulas no param como por exemplo em "exp,exp1,exp2,exp3" cada parte seria separada pelas vírgulas e cada uma ficaria em um elemento da tabela: t[1] -> exp t[2] -> exp1 t[3] -> exp2 t[4] -> exp4 Pergunta: O que é param? Resposta: Param é o que vai vim depois da talkaction. ex: !deposit 500 -- o param aqui é o 500 SE FOREM USAR COLOQUEM OS CRÉDITOS ¬¬
  12. se você por assim irá adicionar os 4 itens ao player, mas no sentido de atribuir valores mesmo ficará errado... como você colocou 4 valores, deveria ter 4 variáveis antes da vírgula... por exeplo, experimente por o código abaixo: item_uid = 'a', 'b', 'c', 'd' doPlayerSendTextMessage(cid,22,item_uid) a menssagem que aparecerá para o player é a string "a". Isto porque você só indicou a 1ª variável antes do igual(=). Já se colocar de acordo com o código abaixo retornará a string "d": item_uid,item_uid,item_uid,item_uid = 'a', 'b', 'c', 'd' doPlayerSendTextMessage(cid,22,item_uid)
  13. @vilden ql a finalidade de colocar 3 vezes seguidas item_uid = doPlayerAddItem(cid,2437,1)?
  14. {B}em... muitos vezes vejo nos meus e nos scripts de outras pessoas declarando várias variáveis uma embaixo da outra, como por exemplo: local stor1 = getPlayerStorageValue(cid,5551) local stor2 = getPlayerStorageValue(cid,5552) local stor3 = getPlayerStorageValue(cid,5553) local stor4 = getPlayerStorageValue(cid,5554) local stor5 = getPlayerStorageValue(cid,5555) local stor6 = getPlayerStorageValue(cid,5556) {U}ma forma de simplificar isto seria separando as variáveis por vírgula, colocando todas antes de um igual(=) e colocando, depois do igual(=), o valor atribuído a cada variável RESPECTIVAMENTE. Usando o exemplo acima, ficaria assim: local stor1, stor2, stor3, stor4, stor5, stor6 = getPlayerStorageValue(cid,5551), getPlayerStorageValue(cid,5552), getPlayerStorageValue(cid,5553), getPlayerStorageValue(cid,5554), getPlayerStorageValue(cid,5555), getPlayerStorageValue(cid,5556) {S}e você não faz assim não quer dizer que está errado, afinal cada um acha mais fácil uma maneira... meu objetivo é apenas ampliar seu conhecimento, afinal, não é porque você só faz de uma maneira que não precisa saber outras...
  15. Vá no map editor e bote a actionid do piso como 3005. Em movements.xml coloque antes de </movements>: <movevent type="StepIn" actionid="3005" event="script" value="byantharaz1.lua"/> Coloque o script abaixo em um arquivo que você criará chamado byantharaz1.lua em data/movements/scripts: function onStepIn(cid) if getPlayerStorageValue(cid,5551) ~= -1 then doTeleportThing(cid,{x = XXX, y = YYY, z = Z}) doPlayerSendTextMessage(cid,23,"Você não tem autorização para passar...") else setPlayerStorageValue(cid,5551,1) end end Em {x = XXX, y = YYY, z = Z} você coloca as coordenadas para onde o player será levado caso ele já tenha passado. Ex:.. se o player estiver indo da direita pra esquerda, bote a posição do sqm a direta do piso...
  16. Antharaz

    [ Resolvido ]

    editei o post e arrumei o erro rsrs :$ olha se funciona agora com o novo código xD
  17. Antharaz

    Forja

    Em actions.xml coloque esta linha antes de </actions>: <action itemid="2553" event="script" value="byantharaz.lua" /> Salve o código abaixo como byantharaz.lua em data/actions/scripts: local configuracoes={{id=2150,depois=2153,chance=50}, {id=2146,depois=2158,chance=45}, {id=2147,depois=2156,chance=40}, {id=2149,depois=2155,chance=30}} function onUse(cid, item, fromPosition, itemEx, toPosition) for x=1,#configuracoes do if itemEx.itemid == configuracoes[x].id then if math.random(1,100) < configuracoes[x].chance then doTransformItem(itemEx.uid, configuracoes[x].depois) return TRUE end end end return FALSE end PS:.. não testei pois n tneho ot 8.1 aqui PS2:.. Como você não falou para o ruby ou o item sumir se a tentativa for um fracasso, eu não coloquei...
  18. Antharaz

    [ Resolvido ]

    Aew: teia.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local pos = {x=toPosition.x,y=toPosition.y,z=toPosition.z,stackpos=1} if itemEx.itemid == 7538 and itemEx.uid == 5550 and doRemoveItem(itemEx.uid, 1) then doPlayerSendTextMessage(cid,22,"Você tem 1 minuto para passar, ou a teia fexará.") doRemoveItem(item.uid) addEvent(teia,60000, pos) return TRUE else doPlayerSendTextMessage(cid,22,"Nada aconteceu...") return FALSE end end function teia(pos) local iteem = doCreateItem(7538,1, pos) doItemSetAttribute(iteem, "uid", 5550) end no actions.xml bota essa linha antes de </actions>: <action itemid="5468" event="script" value="teia.lua"/> Abra o map editor e deixe o uniqueid da teia como 5550. PS:.. não testei... PS2:.. n coloquei efeito de magia pq estou com sono e já estou indo dormir... == edit == arrumei o erro de não retirar o firebug e de atribuir o uniqueid 5550 para a nova teia criada ^^
  19. isto mesmo kydrai... vlw kra... ^^ Sério msm... vc manja muito de script... não por ter respondido esta dúvida, mas já vi outros posts seus em outro forum... *_* Obrigado ^^ A finalidade disto era para alterar a storage de um player através de outro player rsrs PS:.. tentei aumentar sua reputação mas parece que o sistema não está funcionando =x
  20. Antharaz

    [ Resolvido ]

    Como eu pego a creature id pelo nome do player? PS:.. creature id = cid
  21. Powerzin o objetivo do xtibia eh ensitar TUDO aos membros, ate msm o b ásico...
  22. Bem... Antes de tudo irei colocar abaixo uma imagem com as cores e seus respectivos números... Vá na pasta do seu ot, depois abra a pasta data e finalmente a pasta npc, escolha o npc q vc quer mudar a cor da roupa e o abra no bloco de notas... IMPORTANTE:LEMBRE-SE SEMPRE DE FAZER UMA CÓPIA DO NPC CASO ALGO SAIA ERRADO E VC TENHA DE FAZER BACKUP... Neste tutorial irei usar o npc Seller: Aparecerá o seguinte: Na parte de AZUL vc colok o número da cor q vc quer para a cabeça do NPC... Na parte de VERMELHOvc colok o número da cor q vc quer para o peitoral do NPC... Na parte de ROSA vc colok o número da cor q vc quer para as calças do NPC... Na parte de LARANJA vc colok o número da cor q vc quer para os pés do NPC.... Vou editar o npc seller para q ele fique preto e branco... head="114" body="0" legs="114" feet="0" Ai ele ficará assim: ------------ Agora as ss q eu fiz testanu no meu server, pra ninguem falar q não dá certo... Antes: Depois: ^.^ Espero ter ajudado...
  23. Bem... Primeiro vá na pasta data do seu ot serv e abra o arquivo vocations.xml no bloco de notas... Lá vai ter várias vocations... Vou ensinar como modifica em uma e ai vc modifica em todas ae: Repare nas partes destacadas [gainhpamount="1" / gainmanaamount="10" / gainhp="5" / gainmana="5"] Em gainhpamount="1" vc coloca o quanto de hp o player irá almentar comendo food e em gainmanaamount="10" vc coloca o tanto de mana q o player irá ganhar comendo food... Em gainhp="5" vc coloca qnt de hp o player ganhará a cada lvl q ele passar e em gainmana="5" vc coloca o qnt de mana o player irá ganhar a cada level... ---------- Agora irei colocar aqui a msm vocação acima, porém modificada, o hp e mana aumentado de 50 em 50 a cada lvl e de 130 a 130 quando comer food ... -----------END----------- ^.^ Espero ter ajudado... Comentem e dêem nota pls...
  24. Anti-spyware 1º - Spyware Terminator Tamanho: 4,52 MB Funciona em Windows 98/Me/2000/XP. 2º - AVG Anti-Spyware Free Tamanho: 10,90 MB Funciona em Windows 2000/XP/Vista. 3º - Spybot - Search & Destroy Tamanho: 7,12 MB Funciona em Windows 98/Me/2000/XP. ----------------------- Antivírus 1º --> AVG Antivirus free Tamanho: 28,10 MB Funciona em Windows 98/Me/2000/XP/2003. 2º --> Avast! Home Edition Tamanho: 15,90 MB Funciona em Windows 98/Me/2000/XP/Vista. 3º --> Panda Quick Remover Tamanho: 1,29 MB Funciona em Windows 98/Me/2000/XP Links Anti-Spyware 1º --> Spyware Terminator 2º --> AVG Anti-Spyware free 3º --> Spybot - Search & destoy Antivírus 1º --> AVG Antivirus Free 2º --> Avast Home Edition 3º --> Panda Quick Remover PS:.. Todos os programas são totalmente gratuitos e estão todos no baixaki.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...