Ir para conteúdo

dalvorsn

Conde
  • Total de itens

    750
  • Registro em

  • Última visita

  • Dias Ganhos

    8

Tudo que dalvorsn postou

  1. dalvorsn

    For _, pid

    Como o vodkart disse, se a globalstorage tiver o nome da guild funcionará sim mas não foi por conta disso que postei, e apenas uma dica, um bom costume eu diria, no caso ali parece que você usa storage para alguma habilidade especifica do seu servidor, seria mais interessante você ao invés de usar números de storages pra adicionar pontos a essa habilidade, criar funções especificas e usar de constants para definir essas coisas setPlayerStorageValue(pid, 215548, GetStorage + 50) function adicionarPontosDeDestruicao(pid, count) return setPlayerStorageValue(pid, 215548, getPlayerStorageValue(pid, 215548) + count) end Botei o nome da função em português so pra ficar claro a ideia, mas pode muito bem ser em inglês, como e de costume ser feito na maioria dos casos. Isso e importante na hora de corrigir bugs, ou ate mesmo quando quiser fazer uma alteração no script, pois mesmo que já tenha esquecido exatamente como funciona, ele é flexível e de fácil leitura.
  2. dalvorsn

    Piso Por Vocation

    é só usar um onStepIn, e da pra fazer em um script só, dai tu pega pela vocation sendo o índice de uma tabela. Nessa tabela cada índice será a vocação e o valor um numero correspondente ao tile, seja la qual identificador queira usar, itemid, actionid e etc. Dai é so fazer algo similar a isso: "if getPlayerLevel(cid) >= 200 and tabela[getPlayerVocation(cid)] == item.itemid then return true end"
  3. não sei se da, nem tenho como testar agora, mas tenta ancorar no root.top
  4. dalvorsn

    [Pedido]Clima OtClient

    tem uma função implementada no otclient que chama shaders, tu faz por la teve uma ver que tinha um modulo com exemplos, da uma olhada no github que tu acha
  5. dalvorsn

    Duvida sobre função

    Olha no modulo do game_battle, deve ter la, se não me engano ele usa
  6. dalvorsn

    Duvida Facil

    ^ Eu coloquei um valor para testar somente... ele deve modificar este valor pro valor que ele quiser - naturalmente - @Dalvorsn, não irá funcionar. Como eu já disse, o jogador deve deslogar para o cap ficar com o valor colocado. Sem modificações maiores, a minha solução foi deslogar o player. Para maior facilidade da instalação do script. Além de não atrapalhar a jogabilidade, já que a mensagem é enviada ao player e há um limite de (se não me engano) 5 segundos para poder atacar/ser atacado. @@Shadow Eu não chamei a db. Então não sei o porquê do erro. E o 'deslogamento' não é um bug. É a solução para o script funcionar corretamente. Cara, a capacidade só vai ser salva na database quando deslogar, mas ela altera logo que seta, se tu olhar nas sources quando tu usa a função, ele manda um sendStats pro cliente, isso quer dizer que atualiza no momento do uso da função. E se não me engano a capacidade e calculada de acordo com o level e a vocação no momento do login, então quando você remove ele fazendo-o relogar, e como se zerasse ela. Ou seja, tira o addEvent que vai funcionar
  7. dalvorsn

    Duvida Facil

    Qual a intenção desse script? Não compreendo o porque de retornar o cap a 5000 quando ele for superior ou igual a 7130 De todo modo, basta remover o addEvent que ele colocou que creio que vá funcionar normalmente, não há necessidade dele, pois a cada vez que o player logar será verificado o cap
  8. Eu faria algo assim: local equation = "1x2+2x+1" pattern = "(%d-)x2[+]?[-]?(%d-)x[+]?[-]?(%d-)$" local a, b, c = string.match(equation, pattern) local delta = b^2 - 4 * a * c if delta >= 0 and a ~= 0 then x1 = (- b + math.sqrt(delta))/ (2 * a) x2 = (- b - math.sqrt(delta))/ (2 * a) print(x1, x2) else print("error") end
  9. http://www.vivaolinux.com.br/dica/Conexao-remota-com-rdesktop
  10. muito bom cara, isso e muito util esse exemplo que tu deu e apenas um dos muitos que podem ser usados merecido rep+
  11. Então o que eu devo fazer? Pode ajudar? e so voce ir no github, baixar a versao mais recente do otclient e usar, ou entao retirar apenas o modulo e colocar no seu
  12. Não precisa do extended, tem um callback que chama onOpenNpcTrade, pelo menos nas versoes mais recentes tem e ele ja recebe como parametro a lista de items do trade
  13. dalvorsn

    Limite de efeitos

    Cara, cada tipo de variavel tem um numero especifico de bytes, quando voce troca o numero de bytes pro client ler, no seu caso de int8 pra int16, voce ta mudando de um pra dois bytes, mas o erro esta no seguinte, voce nao alterou no protocolgame.cpp/h o tipo da variavel, dai o server envia um byte e o cliente tenta ler dois, obvio que vai dar erros
  14. Lembrei a função getTileInfo(pos).things -- isso e uma tabela com todos os things que tem no tile
  15. Ele quer pro sistema do kydrai, se nao me engano ele possui funcoes proprias para adicionar os dias de vip, voce so precisa fazer uma action e usar as funcoes da lib, nada mais
  16. Tem uma funcao que pega todos os stacks ocupados do tile, nao me lembro bem o nome e algo como getTileThings, algo assim dai ele te retorna uma lista delas, vai ser a melhor forma de fazer isso, pois nao vai precisar iterar mais do que o numero existente de things no tile.
  17. dalvorsn

    Opcode Duvida

    quando se trata de rede quanto mais resumido for a mensagem melhor, quando se tratam de numero entao, a melhor opcao e usar bytes o proprio client ja tem suporte para reeceber nesse formato discordo disso, nao precisa ser uma baita gambiarra nao, voce precisaria somente de duas coisas, um onthink para quando o pokemon nao esta summonado e um onstatschange para quando esta summonado
  18. da proxima ver use um connect para entergame, funciona bem
  19. so existe protocol se existir conexao, entao voce tem que vincular esse tipo de funcao para poder ser usada so quando o cliente esta conectado a um servidor, um simples if protocol then pode resolver seu problema dependo do caso, mostre o codigo para que possamos ajudar
  20. Não seria assim...? <action itemid="2408" event="script" value="nomedoarquivo.lua"/> Isso varia da versao do servidor, existem ambas formas, algumas versoes aceitam as duas, outras apenas uma delas, so vendo nas sources mesmo ou testando pra saber
  21. Foi feito similar ao account manager, no protocol game ele bloqueia o packets pra quando estiver "assistindo" outro player, basicamente isso. Mas ainda assim, acho que com otc compensa mais estudar um pouco mais a fundo as sources e fazer sem essa gambiarra de teleportar, porque teoricamente voce so tem que setar o followcamera no target, enviar os mapdescriptions pro player que esta assistindo da posiçao do target e por ultimo mandar todos os spectators do target pro player que ta assistindo
  22. Interessante é que foi postado como tutorial kk
  23. Ta errado seu exemplo cara, Isso também vai dar erro cara, tu ta usando addevent dentro da função auxiliar, voce ta verificando se é criatura e executando a função addeventVoce tem que usar o addevent, com a função nele contida verificando e teleportando, ou fazendo a ação que for imediatamente, ou seja sem usar addEvent dentro da função auxiliar function doTeleportThing2(cid, toPos, time) if isCreature(cid) then doTeleportThing(cid, toPos) end return true end function onSay(cid, words, param) local pos = {x = 1, y = 2, z = 3} local time = 10 if getPlayerStorageValue(cid, 12345) > 0 then addEvent(doTeleportThing2, time * 1000, cid, pos, 10) setPlayerStorageValue(cid, 12345, 0) end return true end Assim que deveria ser
  24. Isso ai da erro, 'then' deve ser usado apenas finalizando a condicional do 'if' ou 'elseif', esse ai ta todo perdido
  25. Bom, posso ver que tens melhorado bem em nivel de scripting, está no caminho certo, continue assim. Agora que está melhor em scripting, precisa começar a se atentar a tempo de processamento, quanto menos gasto de memoria melhor. Por exemplo, voce pega varias vezes o thing da cfg.pos, ficaria mais leve salvar esse thing numa variavel, sendo assim usaria a função getThingFromPos apenas uma vez. Identação e organização também são de suma importancia, e não misture portugues com ingles nos seus scripts, ou faça em ingles ou portugues, como 'minerioTo' por exemplo. De qualquer maneira, meus parabéns, e continue estudando. Cya
  • Quem Está Navegando   0 membros estão online

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