-
Total de itens
750 -
Registro em
-
Última visita
-
Dias Ganhos
8
Tudo que dalvorsn postou
-
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.
-
é 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"
-
não sei se da, nem tenho como testar agora, mas tenta ancorar no root.top
-
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
-
Olha no modulo do game_battle, deve ter la, se não me engano ele usa
-
^ 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
-
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
-
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
-
dúvida [Encerrado] VPS windows x Sistema Operacional Linux ~
tópico respondeu ao xXMythuszXx de dalvorsn em Tópicos Sem Resposta
http://www.vivaolinux.com.br/dica/Conexao-remota-com-rdesktop -
[CreatureEvent] onTalk(cid, type, text, position)
tópico respondeu ao meubk de dalvorsn em Linguagens de Programação
muito bom cara, isso e muito util esse exemplo que tu deu e apenas um dos muitos que podem ser usados merecido rep+ -
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
-
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
-
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
-
Lembrei a função getTileInfo(pos).things -- isso e uma tabela com todos os things que tem no tile
-
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
-
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.
-
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
-
da proxima ver use um connect para entergame, funciona bem
-
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
-
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
-
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
-
Interessante é que foi postado como tutorial kk
-
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
-
Isso ai da erro, 'then' deve ser usado apenas finalizando a condicional do 'if' ou 'elseif', esse ai ta todo perdido
-
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.