-
Total de itens
26 -
Registro em
-
Última visita
Tudo que brainless postou
-
Nao Cosigu Entrar No Http://localhost/
tópico respondeu ao cleabarde de brainless em Lixeira Pública
tópico errado =) pra aproveitar o post... bom.. particularmente não gosto muito do apache... prefiro o abyss web server... mas pra eu explicar como configura tudo vai ser uma trabalheira do car****... faça assim... desinstala o xampp... reinicia a máquina... apaga a pasta c:\xampp e instala denovo... reinicia a máquina e verifica -
pelo menos vc teve a sensibilidade de trocar o AddHealth por CreatureAddHealth... tem gente q travaria e n saberia nem onde tentar. quanto às actions dos barris, sinceramente nunca fiz... mas vai ser um estudo legal a function onUse ^^, logo logo te posto alguma coisa... quanto à qtd de life recuperado... o valor em recupera e punicao podem ser tanto fórmulas quanto valores fixos... colocar "local recupera = 1000000" não vai dar pau no script... pode aumentar o fator multiplicativo à vontade.. mas não era pra ter dado problema não.. como te mostrei no exemplo... pro life não encher... o player tem q estar abaixo da metade do life... 800/1000 = enche 500/1000 = enche 499/1000 = 998 300/1000 = 600 dentro do if de cura adicione a linha doSendMagicEffect(getCreaturePosition(cid), 12) dentro do if de ataque, adicione a linha doSendMagicEffect(getCreaturePosition(cid), 0) se não houverem posts intrometidos até q eu aprenda como usar o actionId eu edito este post aqui mesmo =)
-
desisti de ficar só no imaginativo e parti pro prático... comecei a testar exaustivamente aqui e cheguei à uma conclusão... sua(nossas) distros não possuem as funções getPlayerHealth e getPlayerMaxHealth, aí eu fui criar pra você testei, testei, testei e consegui fazer com que ela retornasse um resultado PORÉM.... como o script que eu fiz faz acesso ao banco sql e o mesmo só é atualizado no Logout, o que acontece.... suponhamos que o player tá lvl 8 - 185 de life se ele upar 2 lvl como sorc - 195 de life só que ele não logou ainda... então nessa função que eu criei, ele retornaria sempre 185 de life tem duas saídas 1 - criar um event onKill que sempre q o player mata um monstro, verifica se subiu de lvl e atualiza o banco de dados.. é extenso mas eu faria de bom grado pra você... ponto negativo... você não poderia fazer, por ex quests de AddExp 2 - modificar na source e criar as funções PlayerHealth e PlayerMaxHealth HAUHAUHAUHAUHAUHAUHAUAHUAHUAHUAHAUHAUHAUHAUHAUHAUAHU esquece TUDO que eu falei abre o globals.lua e apaga a nossa getPlayerMaxHealth() tudo q foi editado agora vai no script do porquinho e troca onde tá getPlayerHealth(cid) e getPlayerMaxHealth(cid) por: getCreatureHealth(cid) e getCreatureMaxHealth(cid) cara.. vc n imagina o qto eu ri qnd achei essas funções no lua_functions ahuhauahua script final: function onUse(cid, item, frompos, item2, topos) --PIGGY BANK DIZIMO BY SYPHOS-- local vidaMaxima = getCreatureMaxHealth(cid) local vidaAgora = getCreatureHealth(cid) local diferenca = vidaMaxima - vidaAgora local recupera = vidaAgora * 2 local punicao = vidaAgora - 1 if recupera > diferenca then recupera = diferenca end if item.uid == 6007 then semdinheiro = doPlayerRemoveMoney(cid,10000) if semdinheiro == 1 then doPlayerSendTextMessage(cid,22,"Obrigado! Deus te abençôe!") doPlayerAddHealth(cid,recupera) else doPlayerSendTextMessage(cid,21,"Sem dinheiro!? Sinta a ira de Deus!") doPlayerAddHealth(cid,-punicao) end end return 0 end
-
resumindo, só não faço design e edição final de mapa =) (bordas, pedras, luzes de parede) 7 anos em html 5 anos em javascript 4,5 anos em flash, dreamweaver (animação e diagramação) 4 anos em php/mysql 2,5 anos em OT'serv - tive um 7.5 1 ano em css 8 meses em actionScript 3.0 (flash 9/10) boa criatividade noção intermediária de scripting (colando faço qualquer criação/adaptação) IP real fixo com upstream de 2MB 24/7 semi-dedicado (é o pc q eu uso no trabalho ) disponibilidade de 3 hrs dedicado ou até 9hrs diárias tudo que fiz até hoje foi a nível de aprendizado. não possuo portifólio (trabalhos para mostrar) antes mesmo de colocar as idéias no papel, gostaria de ter uma equipe. é o principal fator motivador para levar as idéias adiante contato inicial via PM
-
>>>>> Ele é realmente gratuito? R: Sim. Mas optando pela versão paga você obtém uma série de vantagens e outras terminações de domínio >>>>> Ele vai substituir o meu IP atual? R: Não. IP é IP, só é trocado quando você desconecta da internet e não possui um endereço IP fixo. O que você vai criar é um domínio que, com a ajuda de um servidor DNS, redireciona para o seu IP atual. Um teste? digite no seu navegador: 200.17.203.29 . agora digite www.ufpr.br 200.17.203.29 - este é o IP www.ufpr.br - este é o domínio servidor DNS é quem transforma www.ufpr.br em 200.17.203.29 você NUNCA cria um IP fixo... você cria um domínio. >>>>> Só poderei usar-lo para OTserv? R: Não. Poderá utilizá-lo para qualquer servidor de alguma coisa que abra uma porta de escuta (liberada) em seu computador. Como por exemplo servidores de e-mail [sMTP porta 25], servidor de arquivos [FTP porta 21], servidor web [HTTP porta 80/8080], servidor de TEAMSPEAK, servidor de Counter-Strike, Mu, Ragnarok uma grande lista de portas e programas conhecidos você pode conferir neste link http://portforward.com/cports.htm >>>>> Ele e feito no no-ip? R: Também. Outro site conhecido que oferece o mesmo tipo de serviço é o www.dyndns.com
-
vamo lá amiguinho... por partes =) todos os [21/01/2009 03:31:21] Duplicate uniqueId NNNN são do mapa... na hora de fazer quests vc colocou o mesmo UNIQUEID para várias chests.... logo.. não é do executável todos os [21/01/2009 03:31:23] [Notice - XXX:XXX] XXX - autowalk has been deprecated, use walkinterval. você deve refazer todos os NPC's trocando a função autowalk por walkinterval... logo... não é do executável [21/01/2009 03:31:23] [spawn::addMonster] Can not find Ferrumbras você deve criar o arquivo ferumbras.xml dentro da pasta data\monsters logo... não é do executável... o mesmo para os monsters Assassin e Blue Demon dica... refaça os scripts dos NPC'S e revise seu mapa
-
tipow... vc tentou apagar APENAS a linha query:close() ??? xeu explicar.. essa funciton getPlayerMaxHealth que a gnt criou... lê no banco de dados, a coluna HEALTHMAX de determinado player... e joga no RETURN.. da função, o valor encontrado... MAAAAAAAAAAAS... pra montar essa função.. eu fiz um mix de uma função que vi aqui no xtibia com a função que aprendi extermanente... pra resumir.. na function que vi no xtibia, não é necessário fechar a query:close() na função externa é.... por isso que pedi que vc apagasse apenas essa linha. explicação dos erros... várias functions como isPlayer, isSorcerer, isDruid, isPremmium, isPromoted fazem referência direta ou indiretamente à base de dados, seja por comandos declarados dentro destas funções, ou por comandos externos exemplo de isSorcerer: quando vc não fecha as conexões com o banco de dados (apagando as env:close con:close), quando alguma outra função que precisar ler o banco for chamada, retornará um erro... que o banco já está em uso por outra função por isso que eu pedi o primeiro passo, que apagasse APENAS a query:close() para consertar... volte as linhas: con:close() env:close() e não desista antes de tentar mais um pouco =) a função getPlayerMaxHealth pode ser necessária no futuro, quem sabe
-
cara... se for isso eu me mato hauhauhauhauhauha apague a linha "query:close()" se não der certo, apague as duas acima também... (tudo q termina com close()) PS.: SOMENTE se funcionar apagando todos os close(), adicione um local antes de env e con ficando assim local env = assert bla bla bla local con = assert bla bla bla assim evita que, se algum outro script precisar acessar a base sql dê conflitos por uma variável ja aberta
-
merchant podia ter aproveitado o move e respondido a pgnt né? amigo... ta na pasta SPELLS o arquivo chama SPELLS.XML você abre ele com o bloco de notas, e nas magias vão ter os seguintes parâmetros: <rune name="Fireball" id="2302" allowfaruse="1" charges="5" lvl="27" maglv="4" exhaustion="2000" needtarget="1" blocktype="solid" script="attack/fireball.lua"/> mude os valores lvl= e maglv= para os valores desejados
-
é aí q tá... um bom script, programa, extensão planeja todas as falhas e arestas que possam vir a ocorrer... se um ot não necessita da proteção para o script não matar, e outro necessita, deixamos o script com a proteção, assim o script se torna mais flexível e abrange uma gama maior de distros. é um hábito que, quem tem deve manter e quem não tem deve adquirir.
-
Não Consigo Compra [b]premium Account[/b]!
tópico respondeu ao maligno de brainless em Lixeira Pública
é pq a P.A. eh por account, não por char... para testar, faça uma nova account... e teste... outra account... e teste... -
Não Consigo Compra [b]premium Account[/b]!
tópico respondeu ao maligno de brainless em Lixeira Pública
no arquivo "config.lua", procure por freePremium = "yes" troque o yes por no -
Não Consigo Usar As Magia Com Os Char,so Com O God!
tópico respondeu ao maligno de brainless em Lixeira Pública
abra o arquivo spells\spells.xml com o bloco de notas clique em editar > substituir (ctrl + h) deixe como na figura a seguir clique em "Substituir tudo" salve e reinicie o OT -
sua função getPlayerMaxHealth não existe =( vamos criá-la ^^ abra o global.lua e, lá embaixo, depois de tudo... adicione o código a seguir dofile("./config.lua") function getPlayerMaxHealth(cid) if sqlType == "mysql" then env = assert(luasql.mysql()) con = assert(env:connect(mysqlDatabase, mysqlUser, mysqlPass, mysqlHost, mysqlPort)) else -- sqlite env = assert(luasql.sqlite3()) con = assert(env:connect(sqliteDatabase)) end local query = assert(con:execute("select `healthmax` from `players` where `id`="..cid)) local resp = query:fetch({},"a") con:close() env:close() query:close() return resp.healthmax end se meu código estiver certinho, o erro vai parar... se não vão aparecer 2 só lembrando que a gente desenvolve as idéias no próprio campo de respostas e, portanto, não foram testadas
-
ele postou na sessão correta SIM! o erro ta na linha: setCombatCondition(combat, condition)addDamageCondition(condition, 1, 0, -5000) que deve ser substituída por addDamageCondition(condition, 1, 0, -5000) agora.. se alguém puder me explicar, na area(array) quando se utiliza 2 e quando se utiliza 3 eu ficaria muito agradecido
-
dica inválida =) na certa seu otServ é SQL, e as informações das houses estão guardadas no arquivo bancodedados.s3db
-
sinto um tom de ironia na sua msg =P e abra um tpc pra sua dúvida =P[2] for sintaxe for variável = valor inicial, valor final do {...} end traduzindo: para cada variável = valor inicial, valor final faça {...} próximo/fim assim que o for encontra um end, adiciona automaticamente +1 à variável na prática: for a = 1, 3 do "oi xtibia" end saída: para cada a = iniciando em 1, terminando em 3 faça "oi xtibia" fim é mais utilizado quando se precisa encher uma bp ou bag de items o comando acima seria executado 20 vezes, adicionando 20 vezes o mesmo item à backpack o valor da variável também pode ser utilizado dentro da subrotina for quando estivermos trabalhando com índices(arrays) local items = {2463, 2465, 2466} local backpack = doPlayerAddItem(cid, 1998, 1) for a = 1, 3 doAddContainerItem(backpack, items[a], 1) end o código acima adiciona uma plate armour, brass armour e golden armour à uma backpack que será entregue ao player
-
eeeeiii!!! fugiu das aulas de matemática pra ficar jogando tibia??? vidaAgora = 3 punicao = 3 - 1 = 2 com esse script vai sobrar SEMPRE com 1 de life e eu fiz uma correçãozinha agora pq antes a punição tb tava adicionando life, agora ta certo =)
-
Encantar Joias 90% Igual Rl (funcionando Pra Vale) Para Poder Encantar Armas
tópico respondeu ao mixteen de brainless em Actions e Talkactions
créditos 70% seus??? então vc fala polonês???? pq vc usou a palavra pozycja q segundo o google translate significa item =o só um comentário a parte -
vc tem q baixar as sources do otserv para editar com um programa de c++ o mais recomendado é o dev cpp que é grátis e pode ser baixado clicando aqui
-
certifique-se de, no map editor, ter indicado as novas coordenadas do templo e uma TOWN_ID pra sua cidade.... após ter feito isso, deixe a coluna "town_id" no banco de dados sql com o valor igual a TOWN_ID do map editor
-
é ridículo ler 'eu invado pelo ip' ' a única maneira de vc trocar informações com algum computador, seja invadindo ou não é pelo ip... se vc invade via msn... vc ta usando o ip, se vc invade via trojan, backdoor, ou falha de segurança, vc invade via ip, se vc derruba um ot... vc derruba via ip... ip é o NOME (mesmo numericamente) na internet de um computador.. é a identificação dele na www....
-
Bp Ou Alavanca De Runa Funciona Em 7.6?
tópico respondeu ao Terereko de brainless em Lixeira Pública
ahuhauhauhauhauhauha noobinho... ele não criou o script... ele quer saber se funciona huahauhau tipo.. não ta dando erro AINDA pq ele não fez entendeu... é aquela dúvida q td mundo tem de versão sql e versão xml sendo q isso n tem nada a haver pq lua eh lua, xml eh xml e sql eh sql =P agora qto ao amiguinho criador do tpc.. vc já tem o script??? testa lá... a gente não sabe a distro, versão, compilação e sequer qual server vc usa... SE der algum erro... vc explica tudo detalhadinho... olha... fiz uma alavanca de runa assim assim assado, o script eh esse... e o erro q dá ta no print aqui embaixo [imagem com o print do erro] aí... QUEM SABE... a gnt te ajuda -
hauhauhauhau syphos e suas idéias mirabolantes.... espero q o ot fique legal com essas suas invenções malucas... o script não dá erro nenhum no console??? simplesmente não faz o q vc qr q faça?? duas coisas q eu notei... não chegam a ser erros... mas dariam um certo bug no seu ot: suponhamos q meu char esteja life full com 1000 de life hp = 1000 doPlayerAddHealth(cid, 2000) eu iria levar uma bela buggada de 3000 de life... em ots melhor desenvolvidos, protegidos, isso não aconteceria... mas um bom script tem que barrar o máximo de falhas possível. Vamos ao reparo local vidaMaxima = getPlayerMaxHealth(cid) local vidaAgora = getPlayerHealth(cid) local diferenca = vidaMaxima - vidaAgora local recupera = vidaAgora * 2 if recupera > diferenca then recupera = diferenca end explicando caso1: 1000 de life, máximo 1000 de life vidaAgora = 1000 vidaMaxima = 1000 diferenca = 0 recupera = 2000 if 2000 > 0 then recupera = 0 end caso2: 600 de life, máximo 1000 de life vidaAgora = 600 vidaMaxima = 1000 diferenca = 400 recupera = 1200 if 1200 > 400 then recupera = 400 end caso3: 300 de life, máximo 1000 de life vidaAgora = 300 vidaMaxima = 1000 diferenca = 700 recupera = 600 if 600 > 700 (pula, recupera continua sendo 600) o erro no caso de não ter dinheiro, é um pouco mais grave.. uma vez que você mata o char, antes de deixá-lo com 1 de life... para isso... o 0+1 deve ser feito antes da function addHealth local punicao = vidaAgora - 1 doPlayerAddHealth(cid, punicao) complementando else só é necessário, quando há uma alternativa de escape.... em português pode ser traduzido como "se não" explicação se (1+1 = 2) então "vc é bom em matemática" senão "você foi reprovado! fim em negrito estão as traduções das expressões dentro de um if se não houver um "se não", ele pode ser descartado se (1+1 = 2) então enviar para área de bons em matemática fim acho que é isso.. espero ter ajudado em alguma coisa... caso não tenha solucionado o problema, fica alguma coisa pra aprendizado leve edição... dei uma 'enxugada' no seu código... pode ser até que dê certo.. quem sabe =D function onUse(cid, item, frompos, item2, topos) --PIGGY BANK DIZIMO BY SYPHOS-- local vidaMaxima = getPlayerMaxHealth(cid) local vidaAgora = getPlayerHealth(cid) local diferenca = vidaMaxima - vidaAgora local recupera = vidaAgora * 2 local punicao = vidaAgora - 1 if recupera > diferenca then recupera = diferenca end if item.uid == 6007 then semdinheiro = doPlayerRemoveMoney(cid,10000) if semdinheiro == 1 then doPlayerSendTextMessage(cid,22,"Obrigado! Deus te abençôe!") doPlayerAddHealth(cid,recupera) else doPlayerSendTextMessage(cid,21,"Sem dinheiro!? Sinta a ira de Deus!") doPlayerAddHealth(cid,-punicao) end end return 0 end
-
kara... na área de dúvidas e suporte é que não vai tah =P se era um TUTORIAL mesmo.. tente na sessão de tutoriais > scripting http://www.xtibia.com/forum/Tutoriais-Scripting-f222.html
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.