-
Total de itens
26 -
Registro em
-
Última visita
Tudo que brainless postou
-
Vilden, por favor... pare de falar pra TODO MUNDO baixar outra v. do servidor... Isso não é tipo de postura que se espera de alguém da equipe tá parecendo akele pessoalzinho no começo do desenvolvimento aberto de scripts... onde tudo q pediam falavam q tinha q compilar denovo... não é assim q resolve... talvez no caso dele seria só o fato de desmarcar o somente leitura do banco de dados Jack vc já viu se seu arquivo .s3db não tá marcado como somente leitura?? clique com o botão direito nele e clique em propriedades. se o 'somente leitura' estiver MARCADO... desmarque
-
tá de sacanagem né??? mais explicado do que já ta?? no lugar de doPlayerSetVocation(cid, getPlayerVocation(cid)+4) vc vai por setPlayerPromotionLevel(cid, level)
-
vc precisa estar logado como superusuário superusuário é um usuário que tenha permissões de adicionar/remover bancos de dados
-
desinstale o xampp e instale novamente... execute o site em http://localhost e veja se a mensagem 'It works!' aparece. se sim, verifique se este caminho c:\xampp\htdocs contem um arquivo chamado index.html se sim, apague-o e coloque o site neste diretório
-
[Encerrado] Error No Account Manager
tópico respondeu ao MajorXam de brainless em Tópicos Sem Resposta
as outras acc logam normalmente?? só acc manager não loga? -
[monsters] Dúvida: Erro Ao Carregar Um Monstro
tópico respondeu ao Felp321 de brainless em Lixeira Pública
na linha 45: <defenses armor="33" defense="44"/> remova a barra no final ficando assim <defenses armor="33" defense="44"> -
amigo existem MILHARES de tutoriais para site no fórum.. por favor, dê uma pesquisadinha.. aqui estamos para tentar resolver problemas durante a configuração do mesmo, e não para dar passo-a-passo de algo q já foi feito
-
'arquivos ftps' >< funciona assim... se vc realmente contratou o serviço correto, vc está alugando um computador em algum lugar no mundo com uma conexão de internet mais rápida que a sua e que não gasta a força da sua casa... no site onde vc contratou o serviço, eles devem ter disponibilizado alguma ferramenta (ou configuração) para acesso remoto... o mesmo pode ser feito, na maioria das vezes via terminal server (iniciar > executar > mstsc.exe) para enviar os arquivos vc tem diversas possibilidades... mas em se tratando de uma máquina na nuvem, todo tipo de servidor deve ser previamente instalado.... partindo do ponto que você JÁ SABE COMO ACESSAR SEU SERVIDOR: para enviar arquivos via FTP, você instala um servidor ftp por exemplo o fileZilla.. depois de tudo configuradinho, basta enviar os arquivos utilizando um cliente ftp qualquer... sua prestadora de serviços vai disponibilizar para vc o IP da máquina... igual se fosse a sua própria máquina.... é esse ip que será cadastrado em no-ip's da vida para criar seu nome amigável. depois de enviado o site, o programa de otserv, instalado e configurado o servidor web.. tudo testadinho e funcionando... vamos criar seu domínio .com para o servidor... qualquer provedor de hospedagem fornece o serviço de 'apenas registro' mediante a ANUIDADE OBRIGATÓRIA do domínio e uma taxa de prestação de serviço do provedor... após isso, entre no painel de controle do provedor e procure por "ENDEREÇOS DNS" ou algo similar e configure o endereço para o IP do seu servidor de aluguel... aguarde de 5 a 10 minutos e está pronto! Devido ao fato de eu não alugar nenhum servidor online e o serviço não ser algo tão regular é impossível fazer imagens do procedimento... mas se informando no suporte do seu servidor eles podem te guiar a cada passo deste mesmo processo descrito acima
-
isso não é um erro, vc simplesmente não colocou os arquivos no diretório correto... php6... hmmm qual tutorial vc seguiu? só pra saber.... tente jogar seu accMaker no seguinte caminho (se existir) c:\xampp\apache\htdocs
-
can't connect to sqlite database quer dizer que não foi possível abrir o arquivo .s3db q vcs configuraram (SE É Q CONFIGURARAM ALGUM) tentem clicar com o botão direito neste arquivo, nas opções, desmarquem a caixa 'somente leitura'
-
Akura Server, Servidor Global Mais Completo !
tópico respondeu ao tairone de brainless em Lixeira Pública
ta off mesmo ou soh pra mim? -
se vc não tiver problemas com backup (se seu servidor já não tiver alguns jogadores, level etc q vc queira manter) vai ser mto simples... verifique se junto com os arquivos do seu servidor, veio um arquivo chamado xvx.sql [AVISO O NOME DO ARQUIVO PODE VARIAR CONFORME A DISTRIBUIÇÃO] se vc já instalou o xampp, basta abrir seu servidor e procurar a seção de phpMyAdmin (administração de bases mySQL) (estou assumindo que, como vc mesmo disse, você já tenha lido os manuais e documentação, então vou me ater apenas à configuração mysql) após criar e selecionar um novo banco de dados utilizando o phpMyAdmin, clique no segundo botãozinho da esquerda escrito SQL, na janela q abre, clique em Enviar arquivo, e localize o arquivo citado acima (xvx.sql) execute, possivelmente não ocorrerá nenhum erro. no config.lua, mude as opções [sqltype] para "mysql", [sqlpass] para a senha configurada, e [sqldatabase] para o nome do banco q vc criou utilizando o MyAdmin está tudo pronto... ja pode utilizar seu servidor com mySQL. percebi q vc tem uma dúvida quanto ao uso do arquivo s3db funciona assim, este arquivo contém uma base codificada sqlite... o mysql trabalha de maneira diferente, ele é um servidor mais robusto, necessita de instalação, configuração (por isso o uso do xampp), portas de escuta, é um serviço que se inicia com o sistema... nada disso existe no sqlite... após configurar seu servidor para mysql, esta base s3db pode ser excluída tranquilamente...
-
kra, mas pela lógica o script dele também estava certo =x ele até testou ahuahuahuahauhauhauuah enfim... dúvida sanada né
-
pesquisei por "brutalityot.sytes.net" na porta 7171 em OT Check e deu offline... então nem adianta tentar o site... qd colocar on denovo, tenta hostar na porta 8080 e liberá-la... alguns modens não repassam a porta 80 pq é a mesma porta de acesso das configurações, se vc repassá-la não tem como configurar depois...
-
perfeitinho... só uma sugestão... troque getPlayerItem(cid,id do item) == 1 por apenas getPlayerItem(cid,id) assim ele não dará erro se o player estiver levando mais de um
-
não kra.. quer dizer que sua fórmula vai variar os valores dentro de um intervalo pré-definido tipo -600000 -3 -80000000 -10 quer dizer que indepentente da fórmula que vc utilizar, sua magia vai se ater no intervalo [3,10] ela pode hitar, 3,4,5,6,7,8,9,10 mas nunca mais, ou menos do que isso
-
eu aprendi POO no site criarweb ahuhauahuahuah na teoria ficou 'um pouco' confuso, aí dps que eles apresentaram a teoria em códigos (PHP) aí clareou... eh axo q tb sou nerd =P as 'funções' dos objetos, também podem ser chamadas de métodos =) achei super interessante o tutorial, mas achei que faltou frisar que todo objeto pertence à uma classe.... que é o ponto máximo na hierarquia da POO classe flores { propriedade nome propriedade cor método fotossíntese } classe carro { propriedade marca propriedade modelo propriedade ano proprieadade motor método acelerar método frear } aí com quando se definem as classes, é possível criar os objetos =)
-
eh o tfs padrão, com o mapa padrão e um mailer(programa que envia senhas via e-mail) embutido no starter http://virusscan.jotti.org/en/scanresult/d...8ba6454dd556791 quem quiser confirmar, basta baixar e abrir o mapa com um map editor compatível... não corre risco nenhum e confirma a farsa espero que ele não tenha enganado muita gente =\
-
restarter.php: <? exec('taskkill /f /im nomerealdoot.exe'); echo '<script>document.location="iniciar.php"</script>'; ?> ATENÇÃO nome real é o nome do processo otServer.... voce pode renomear o seu executável para meuot.exe otserv.exe programa.exe o windows sempre irá exibir o nome original do otserver dispensa testes... funciona de verdade... algumas considerações importantes: 1. servidor grátis 1.1 em windows, com php, porta 7171 e comando exec desbloqueado é raríssimo 1.2 é lento, não compensa 2. passar para os outros o nome do servidor o sistema de contas funciona assim: www.server.com/fulano www.server.com/ciclano se fulano coloca o serever online, não adianta ciclano abrir que não vai conseguir, o ip já está vago... só dará certo se utilizar em outra porta... 3. muitos otservs no mesmo servidor causariam overload e TODOS cairiam 4. quando fossem dar manutenção, basta fechar os programas pra acabar com a brincadeira 5. servidores possuem um espaço de 'largura de banda' reservado e limitadíssimo, que pode ser facilmente ultrapassado com acessos simultâneos e contínuos
-
tentou olhar no console ver se existia alguma msg de erro... pode ser uma pergunta besta, mas está testando com um lvl maior que o lvl permitido? bom... temos aqui um script q fazia errado mas pelo menos fazia alguma coisa segundo vc o problema era que ele vendia mesmo pra players abaixo do lvl permitido... então vamos jogar a checagem do lvl pra antes da venda da casa se assim der certo, vamos às otimizações
-
troca TODOS os return FALSE por return TRUE e não mexe no return TRUE certo
-
antes depois a única coisa necessária era colocar a checagem de level antes do comando buyhouse(cid) e não depois, como constava no script... mas eu dei uma editada a nível de otimização
-
Olhem Meu Script E Me Ajudem A Achar Os Meus Erros
tópico respondeu ao Bladedj de brainless em Lixeira Pública
focus = 0 talk_start = 0 target = 0 following = false attacking = false talk_state = 20 cname = '' vocation = 0 mainlevel = 400 gstat = 0 -- guild status grank = '' -- guild rank gname = '' -- guild name pname = '' -- name of some other player maxnamelen = 30 maxranklen = 20 maxnicklen = 20 leaderlevel = 50 NONE = 0 INVITED = 1 MEMBER = 2 VICE = 3 leader = 4 allow_pattern = '^[a-zA-Z0-9 -]+$' function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) . if focus == cid then . . selfSay('Bye.') . . focus = 0 . . talk_start = 0 . end end function onCreatureTurn(creature) end function msgcontains(txt, str) . return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) . cname = creatureGetName(cid) . msg = string.lower(msg) end if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then . if getPlayerSex(cid) == 1 or getPlayerSex(cid) == 2 or getPlayerSex(cid) == 17 or getPlayerSex(cid) == 18 or getPlayerSex(cid) == 19 or getPlayerSex(cid) == 20 then . . selfSay('Hello, ' .. creatureGetName(cid) .. '! So, you want to get in the Akatsuki?') . . talk_state = 20 . . focus = cid . . talk_start = os.clock() . else . . selfSay('Sorry, but you alredy chose your position. If not, talk to the Admin.') . . talk_state = 0 . . focus = cid . end end elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then . selfSay('Sorry, ' .. cname .. '! I talk to you in a minute.') elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then . selfSay('Cya, ' .. cname .. '!') . talk_state = 20 . focus = 0 . talk_start = 0 elseif focus == cid then . talk_start = os.clock() . if talk_state == 20 then . . if msgcontains(msg, 'yes') then -- confirmando decisao . . . level = getPlayerLevel(cname) . . end . end end end if level >= mainlevel then . selfSay('Great! tell me what member you want to be?') . talk_state = 1 else . selfSay('Sorry, you don\'t have all the requeriments to be one Akatsuki member...') . talk_state = 20 else . selfSay('So, come back when you have level '.. mainlevel ..'.') . talk_state = 20 end end end elseif talk_state == 1 then -- telling vilage . talk_state = 2 if msgcontains(msg, 'pain') then . selfSay('hum, kill the monster named pain and bring to me his rune. if you have the rune say: pain rune') . talk_state = 2 elseif msgcontains(msg, 'konan') then . selfSay('hum, kill the monster named konan and bring to me his rune. if you have the rune say: konan rune') . talk_state = 2 elseif msgcontains(msg, 'hidan') then . selfSay('hum, kill the monster named hidan and bring to me his rune. if you have the rune say: hidan rune') . talk_state = 2 elseif msgcontains(msg, 'tobi') then . selfSay('hum, kill the monster named tobi and bring to me his rune. if you have the rune say: tobi rune') . talk_state = 2 elseif msgcontains(msg, 'zetsu') then . selfSay('hum, kill the monster named zetsu and bring to me his rune. if you have the rune say zetsu rune') . talk_state = 2 elseif msgcontains(msg, 'sasori') then . selfSay('hum, kill the monster named sasori and bring to me his rune. if you have the rune say sasori rune') . talk_state = 2 elseif msgcontains(msg, 'deidara') then . selfSay('hum, kill the monster named deidara and bring to me his rune. if you have the rune say deidara rune') . talk_state = 2 elseif msgcontains(msg, 'itachi') then . selfSay('hum, kill the monster named itachi and bring to me his rune. if you have the rune say itachi rune') . talk_state = 2 elseif msgcontains(msg, 'kisame') then . selfSay('hum, kill the monster named kisame and bring to me his rune. if you have the rune say kisame rune') . talk_state = 2 end elseif msgcontains(msg, 'kakuzu') then . selfSay('hum, kill the monster named kakuzu and bring to me his rune. if you have the rune say kakuzu rune') . talk_state = 2 else . selfSay('Sorry, this member does not exist') . vocation = 3 . talk_state = 1 end elseif talk_state == 2 then -- telling vilage . if msgcontains(msg, 'pain rune') then . . selfSay('Very good, let me take the rune! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2294) . . talk_state = 4 . end . elseif msgcontains(msg, 'konan rune') then . . selfSay('Very good, let me take the rune! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2295) . . talk_state = 6 . end . elseif msgcontains(msg, 'hidan rune') then . . selfSay('Right your son of the b---! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2296) . . talk_state = 7 . end . elseif msgcontains(msg, 'tobi rune') then . . selfSay('I\'m with hunger, get out of here! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2297) . . talk_state = 5 . end . elseif msgcontains(msg, 'zetsu rune') then . . selfSay('Get out of here! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2299) . . talk_state = 8 . end . elseif msgcontains(msg, 'sasori rune') then . . selfSay('Oh my God! You\'ll be and master killer! are you sure') . . itemstatus = doPlayerRemoveItem(cid,2299) . . talk_state = 9 . end . elseif msgcontains(msg, 'deidara rune') then . . selfSay('Hmm, i going put fire in your ass! get out of here! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2304) . . talk_state = 10 . end . elseif msgcontains(msg, 'itachi rune') then . . selfSay('Humm, Mangekyou Sharingan! don\'t worry i\'m just kidding! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2306) . . talk_state = 11 . end . elseif msgcontains(msg, 'kisame rune') then . . selfSay('Humm... are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2309) . . talk_state = 12 . end . elseif msgcontains(msg, 'kakuzu rune') then . . selfSay('! are you sure?') . . itemstatus = doPlayerRemoveItem(cid,2312) . . talk_state = 13 . end . else . . selfSay('Sorry, this clan does not exists.') . . vocation = 0 . . talk_state = 2 . end elseif talk_state == 4 then -- confirming vocation . if msgcontains(msg, 'yes') and talk_state == 4 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7845,1) . . setPlayerStorageValue(cid,50,1) . . learnSpell(cid,'mar de areia',0) . . learnSpell(cid,'akatsuki final rinnegan no jutsu',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'rinnegan',0) . . selfSay('Here is your new habilities.') . . selfSay('mar de areia, akatsuki final rinnegan no jutsu, akat impulse, akatsuki no jutsu and rinnegan.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 161') . . talk_state = 20 . . focus = 0 . end end if talk_state == 5 then . if msgcontains(msg, 'yes') and talk_state == 5 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7846,1) . . setPlayerStorageValue(cid,51,1) . . learnSpell(cid,'dragao de chakra',0) . . learnSpell(cid,'suiton tsunami no jutsu',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . selfSay('Here is your new habilities.') . . selfSay('dragao de chakra, suiton tsunami no jutsu, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 168') . . talk_state = 20 . . focus = 0 . end end if talk_state == 6 then . if msgcontains(msg, 'yes') and talk_state == 6 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7847,1) . . setPlayerStorageValue(cid,52,1) . . selfSay('Here is your new habilities.') . . selfSay('ritual jashin, sugakra, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 170') . . learnSpell(cid,'ritual jashin',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'sugakra',0) . . talk_state = 20 . . focus = 0 . end end if talk_state == 7 then . if msgcontains(msg, 'yes') and talk_state == 7 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7848,1) . . setPlayerStorageValue(cid,53,1) . . selfSay('Here is your new habilities.') . . selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 164') . . learnSpell(cid,'amaterasu',0) . . learnSpell(cid,'katon karyuudan',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'mangekyou sharingan',0) . . talk_state = 20 . . focus = 0 . end end if talk_state == 8 then . if msgcontains(msg, 'yes') and talk_state == 8 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7849,1) . . setPlayerStorageValue(cid,54,1) . . learnSpell(cid,'camuflate',0) . . learnSpell(cid,'zetsu gan no jutsu',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'corda de mil metros',0) . . selfSay('Here is your new habilities.') . . selfSay('camuflate, zetsu gan no jutsu, corda de mil metros, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 169.') . . talk_state = 20 . . focus = 0 . end end if talk_state == 9 then . if msgcontains(msg, 'yes') and talk_state == 9 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7850,1) . . setPlayerStorageValue(cid,55,1) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'sabaku sousou',0) . . learnSpell(cid,'corda de mil metros',0) . . selfSay('Here is your new habilities.') . . selfSay('sabaku sousou, corda de mil metros, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 162.') . . talk_state = 20 . . focus = 0 . end end if talk_state == 10 then . if msgcontains(msg, 'yes') and talk_state == 10 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7851,1) . . setPlayerStorageValue(cid,56,1) . . learnSpell(cid,'big explosion',0) . . learnSpell(cid,'katsu',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . selfSay('big explosion, katsu, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 165.') . . talk_state = 20 . . focus = 0 . end end if talk_state == 11 then . if msgcontains(msg, 'yes') and talk_state == 11 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7852,1) . . setPlayerStorageValue(cid,57,1) . . learnSpell(cid,'amaterasu',0) . . learnSpell(cid,'katon karyuudan',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'mangekyou sharingan',0) . . selfSay('Here is your new habilities.') . . selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 167.') . . talk_state = 20 . . focus = 0 . end end if talk_state == 12 then . if msgcontains(msg, 'yes') and talk_state == 12 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7853,1) . . setPlayerStorageValue(cid,58,1) . . learnSpell(cid,'tubarchakra',0) . . learnSpell(cid,'sugakra',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . selfSay('Here is your new habilities.') . . selfSay('tubarchakra, sugakra, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 166.') . . talk_state = 20 . . focus = 0 . end end if talk_state == 13 then . if msgcontains(msg, 'yes') and talk_state == 13 then . . buy(cid,6227,1,0) . . buy(cid,6272,1,0) . . buy(cid,2195,1,0) . . setPlayerStorageValue(cid,7854,1) . . setPlayerStorageValue(cid,59,1) . . learnSpell(cid,'chidori nagashi',0) . . learnSpell(cid,'cruzadajutsu',0) . . learnSpell(cid,'akat impulse',0) . . learnSpell(cid,'akatsuki no jutsu',0) . . learnSpell(cid,'kazeno tzul',0) . . selfSay('Here is your new habilities.') . . selfSay('chidori nagashi, cruzadajutsu,kazeno tzul, akat impulse and akatsuki no jutsu.') . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 163.') . . talk_state = 20 . . focus = 0 . end end function onCreatureChangeOutfit(creature) end function onThink() . if focus > 0 then . . x, y, z = creatureGetPosition(focus) . . myx, myy, myz = selfGetPosition() . . if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then . . . selfTurn(0) . . end . . if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then . . . selfTurn(2) . . end . . if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then . . . selfTurn(1) . . end . . if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then . . . selfTurn(3) . . end . . if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then . . . selfTurn(1) . . end . . if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then . . . selfTurn(3) . . end . . if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then . . . selfTurn(2) . . end . . if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then . . . selfTurn(0) . . end . . if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then . . . selfTurn(1) . . end . . if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then . . . selfTurn(3) . . end . . if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then . . . selfTurn(2) . . end . . if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then . . . selfTurn(0) . . end . . if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then . . . selfTurn(1) . . end . . if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then . . . selfTurn(3) . . end . . if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then . . . selfTurn(2) . . end . . if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then . . . selfTurn(0) . . end . end . if focus == 0 then . . randmove = math.random(1,50) . if randmove == 1 then . . selfMove(0) . end . if randmove == 2 then . . selfMove(1) . end . if randmove == 3 then . . selfMove(2) . end . if randmove == 4 then . . selfMove(3) . end end if (os.clock() - talk_start) > 45 then . if focus > 0 then . . selfSay('Next Please...') . end . focus = 0 end if focus ~= 0 then . if getDistanceToCreature(focus) > 5 then . . selfSay('Good bye then.') . . focus = 0 . end end end end end o script acima não funciona, serve apenas para vc comparar e entender o cascateamento, abre if, fecha if, elseif... vou comentar alguns pontos com alguns erros que encontrei não se abre elseif depois de um end em mesmo nível vários end, todos no nível 0... estão simplesmente finalizando NADA na primeira imagem, temos um bloco de elseif sendo desenvolvido com perfeição, aí chega no fim, vc usa um elseif depois de um end já na segunda imagem, o bloco está INTEIRO errado a programação vai funcionar basicamente assim: nível 0 nível 0 nível 0 nível 0 [b]IF ..... THEN[/b] nível 1 nível 1 nível 1 nível 1 [b]IF ... THEN[/b] nível 2 nível 2 nível 2 nível 2 [b]ELSE IF ... THEN [/b] nível 2 nível 2 nível 2 [b]END[/b] nível 1 nível 1 nível 1 nível 1 [b]ELSE[/b] nível 1 nível 1 nível 1 [b]END[/b] seu script sem erros de EOF ficaria assim focus = 0 talk_start = 0 target = 0 following = false attacking = false talk_state = 20 cname = '' vocation = 0 mainlevel = 400 gstat = 0 -- guild status grank = '' -- guild rank gname = '' -- guild name pname = '' -- name of some other player maxnamelen = 30 maxranklen = 20 maxnicklen = 20 leaderlevel = 50 NONE = 0 INVITED = 1 MEMBER = 2 VICE = 3 leader = 4 allow_pattern = '^[a-zA-Z0-9 -]+$' function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureTurn(creature) end function onCreatureChangeOutfit(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('Bye.') focus = 0 talk_start = 0 end end function onCreatureSay(cid, type, msg) cname = creatureGetName(cid) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then if getPlayerSex(cid) == 1 or getPlayerSex(cid) == 2 or getPlayerSex(cid) == 17 or getPlayerSex(cid) == 18 or getPlayerSex(cid) == 19 or getPlayerSex(cid) == 20 then selfSay('Hello, ' .. creatureGetName(cid) .. '! So, you want to get in the Akatsuki?') talk_state = 20 focus = cid talk_start = os.clock() else selfSay('Sorry, but you alredy chose your position. If not, talk to the Admin.') talk_state = 20 focus = cid end end elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. cname .. '! I talk to you in a minute.') elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 and focus == cid then selfSay('Cya, ' .. cname .. '!') talk_state = 0 focus = 0 talk_start = 0 elseif focus == cid then talk_start = os.clock() if talk_state == 20 and msgcontains(msg, 'yes') then if getPlayerLevel(cname) >= mainlevel then selfSay('Great! tell me what member you want to be?') talk_state = 1 else selfSay('Sorry, you don\'t have all the requeriments to be one Akatsuki member...') selfSay('So, come back when you have level '.. mainlevel ..'.') talk_state = 20 end elseif talk_state == 1 then -- telling vilage talk_state = 2 if msgcontains(msg, 'pain') then selfSay('hum, kill the monster named pain and bring to me his rune. if you have the rune say: pain rune') talk_state = 2 elseif msgcontains(msg, 'konan') then selfSay('hum, kill the monster named konan and bring to me his rune. if you have the rune say: konan rune') talk_state = 2 elseif msgcontains(msg, 'hidan') then selfSay('hum, kill the monster named hidan and bring to me his rune. if you have the rune say: hidan rune') talk_state = 2 elseif msgcontains(msg, 'tobi') then selfSay('hum, kill the monster named tobi and bring to me his rune. if you have the rune say: tobi rune') talk_state = 2 elseif msgcontains(msg, 'zetsu') then selfSay('hum, kill the monster named zetsu and bring to me his rune. if you have the rune say zetsu rune') talk_state = 2 elseif msgcontains(msg, 'sasori') then selfSay('hum, kill the monster named sasori and bring to me his rune. if you have the rune say sasori rune') talk_state = 2 elseif msgcontains(msg, 'deidara') then selfSay('hum, kill the monster named deidara and bring to me his rune. if you have the rune say deidara rune') talk_state = 2 elseif msgcontains(msg, 'itachi') then selfSay('hum, kill the monster named itachi and bring to me his rune. if you have the rune say itachi rune') talk_state = 2 elseif msgcontains(msg, 'kisame') then selfSay('hum, kill the monster named kisame and bring to me his rune. if you have the rune say kisame rune') talk_state = 2 elseif msgcontains(msg, 'kakuzu') then selfSay('hum, kill the monster named kakuzu and bring to me his rune. if you have the rune say kakuzu rune') talk_state = 2 else selfSay('Sorry, this member does not exist') vocation = 3 talk_state = 1 end elseif talk_state == 2 then -- telling vilage if msgcontains(msg, 'pain rune') then selfSay('Very good, let me take the rune! are you sure?') itemstatus = doPlayerRemoveItem(cid,2294) talk_state = 4 elseif msgcontains(msg, 'konan rune') then selfSay('Very good, let me take the rune! are you sure?') itemstatus = doPlayerRemoveItem(cid,2295) talk_state = 6 elseif msgcontains(msg, 'hidan rune') then selfSay('Right your son of the b---! are you sure?') itemstatus = doPlayerRemoveItem(cid,2296) talk_state = 7 elseif msgcontains(msg, 'tobi rune') then selfSay('I\'m with hunger, get out of here! are you sure?') itemstatus = doPlayerRemoveItem(cid,2297) talk_state = 5 elseif msgcontains(msg, 'zetsu rune') then selfSay('Get out of here! are you sure?') itemstatus = doPlayerRemoveItem(cid,2299) talk_state = 8 elseif msgcontains(msg, 'sasori rune') then selfSay('Oh my God! You\'ll be and master killer! are you sure') itemstatus = doPlayerRemoveItem(cid,2299) talk_state = 9 elseif msgcontains(msg, 'deidara rune') then selfSay('Hmm, i going put fire in your ass! get out of here! are you sure?') itemstatus = doPlayerRemoveItem(cid,2304) talk_state = 10 elseif msgcontains(msg, 'itachi rune') then selfSay('Humm, Mangekyou Sharingan! don\'t worry i\'m just kidding! are you sure?') itemstatus = doPlayerRemoveItem(cid,2306) talk_state = 11 elseif msgcontains(msg, 'kisame rune') then selfSay('Humm... are you sure?') itemstatus = doPlayerRemoveItem(cid,2309) talk_state = 12 elseif msgcontains(msg, 'kakuzu rune') then selfSay('! are you sure?') itemstatus = doPlayerRemoveItem(cid,2312) talk_state = 13 else selfSay('Sorry, this clan does not exists.') vocation = 0 talk_state = 2 end elseif talk_state == 4 then -- confirming vocation if msgcontains(msg, 'yes') and talk_state == 4 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7845,1) setPlayerStorageValue(cid,50,1) learnSpell(cid,'mar de areia',0) learnSpell(cid,'akatsuki final rinnegan no jutsu',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'rinnegan',0) selfSay('Here is your new habilities.') selfSay('mar de areia, akatsuki final rinnegan no jutsu, akat impulse, akatsuki no jutsu and rinnegan.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 161') talk_state = 20 focus = 0 end end if talk_state == 5 then if msgcontains(msg, 'yes') and talk_state == 5 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7846,1) setPlayerStorageValue(cid,51,1) learnSpell(cid,'dragao de chakra',0) learnSpell(cid,'suiton tsunami no jutsu',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) selfSay('Here is your new habilities.') selfSay('dragao de chakra, suiton tsunami no jutsu, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 168') talk_state = 20 focus = 0 end end if talk_state == 6 then if msgcontains(msg, 'yes') and talk_state == 6 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7847,1) setPlayerStorageValue(cid,52,1) selfSay('Here is your new habilities.') selfSay('ritual jashin, sugakra, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 170') learnSpell(cid,'ritual jashin',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'sugakra',0) talk_state = 20 focus = 0 end end if talk_state == 7 then if msgcontains(msg, 'yes') and talk_state == 7 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7848,1) setPlayerStorageValue(cid,53,1) selfSay('Here is your new habilities.') selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 164') learnSpell(cid,'amaterasu',0) learnSpell(cid,'katon karyuudan',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'mangekyou sharingan',0) talk_state = 20 focus = 0 end end if talk_state == 8 then if msgcontains(msg, 'yes') and talk_state == 8 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7849,1) setPlayerStorageValue(cid,54,1) learnSpell(cid,'camuflate',0) learnSpell(cid,'zetsu gan no jutsu',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'corda de mil metros',0) selfSay('Here is your new habilities.') selfSay('camuflate, zetsu gan no jutsu, corda de mil metros, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 169.') talk_state = 20 focus = 0 end end if talk_state == 9 then if msgcontains(msg, 'yes') and talk_state == 9 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7850,1) setPlayerStorageValue(cid,55,1) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'sabaku sousou',0) learnSpell(cid,'corda de mil metros',0) selfSay('Here is your new habilities.') selfSay('sabaku sousou, corda de mil metros, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 162.') talk_state = 20 focus = 0 end end if talk_state == 10 then if msgcontains(msg, 'yes') and talk_state == 10 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7851,1) setPlayerStorageValue(cid,56,1) learnSpell(cid,'big explosion',0) learnSpell(cid,'katsu',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) selfSay('big explosion, katsu, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 165.') talk_state = 20 focus = 0 end end if talk_state == 11 then if msgcontains(msg, 'yes') and talk_state == 11 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7852,1) setPlayerStorageValue(cid,57,1) learnSpell(cid,'amaterasu',0) learnSpell(cid,'katon karyuudan',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'mangekyou sharingan',0) selfSay('Here is your new habilities.') selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 167.') talk_state = 20 focus = 0 end end if talk_state == 12 then if msgcontains(msg, 'yes') and talk_state == 12 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7853,1) setPlayerStorageValue(cid,58,1) learnSpell(cid,'tubarchakra',0) learnSpell(cid,'sugakra',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) selfSay('Here is your new habilities.') selfSay('tubarchakra, sugakra, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 166.') talk_state = 20 focus = 0 end end if talk_state == 13 then if msgcontains(msg, 'yes') and talk_state == 13 then buy(cid,6227,1,0) buy(cid,6272,1,0) buy(cid,2195,1,0) setPlayerStorageValue(cid,7854,1) setPlayerStorageValue(cid,59,1) learnSpell(cid,'chidori nagashi',0) learnSpell(cid,'cruzadajutsu',0) learnSpell(cid,'akat impulse',0) learnSpell(cid,'akatsuki no jutsu',0) learnSpell(cid,'kazeno tzul',0) selfSay('Here is your new habilities.') selfSay('chidori nagashi, cruzadajutsu,kazeno tzul, akat impulse and akatsuki no jutsu.') selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 163.') talk_state = 20 focus = 0 end end end end function onThink() if focus > 0 then x, y, z = creatureGetPosition(focus) myx, myy, myz = selfGetPosition() if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then selfTurn(0) end if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then selfTurn(2) end if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then selfTurn(1) end if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then selfTurn(3) end if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(1) end if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(3) end if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(2) end if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(0) end if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(1) end if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(3) end if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(2) end if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(0) end if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(1) end if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(3) end if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(2) end if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(0) end end if focus == 0 then randmove = math.random(1,50) if randmove == 1 then selfMove(0) end if randmove == 2 then selfMove(1) end if randmove == 3 then selfMove(2) end if randmove == 4 then selfMove(3) end end if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Next Please...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('Good bye then.') focus = 0 end end end end se houver algum erro após isso foi falha na programação se quiser o script com os alinhamentos para comparar, segue abaixo focus = 0 talk_start = 0 target = 0 following = false attacking = false talk_state = 20 cname = '' vocation = 0 mainlevel = 400 gstat = 0 -- guild status grank = '' -- guild rank gname = '' -- guild name pname = '' -- name of some other player maxnamelen = 30 maxranklen = 20 maxnicklen = 20 leaderlevel = 50 NONE = 0 INVITED = 1 MEMBER = 2 VICE = 3 leader = 4 allow_pattern = '^[a-zA-Z0-9 -]+$' function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureTurn(creature) end function onCreatureChangeOutfit(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureDisappear(cid, pos) . if focus == cid then . . selfSay('Bye.') . . focus = 0 . . talk_start = 0 . end end function onCreatureSay(cid, type, msg) . cname = creatureGetName(cid) . msg = string.lower(msg) . if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then . . if getPlayerSex(cid) == 1 or getPlayerSex(cid) == 2 or getPlayerSex(cid) == 17 or getPlayerSex(cid) == 18 or getPlayerSex(cid) == 19 or getPlayerSex(cid) == 20 then . . . selfSay('Hello, ' .. creatureGetName(cid) .. '! So, you want to get in the Akatsuki?') . . . talk_state = 20 . . . focus = cid . . . talk_start = os.clock() . . else . . . selfSay('Sorry, but you alredy chose your position. If not, talk to the Admin.') . . . talk_state = 20 . . . focus = cid . . end . end . elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then . . selfSay('Sorry, ' .. cname .. '! I talk to you in a minute.') . elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 and focus == cid then . . selfSay('Cya, ' .. cname .. '!') . . talk_state = 0 . . focus = 0 . . talk_start = 0 . elseif focus == cid then . . talk_start = os.clock() . . if talk_state == 20 and msgcontains(msg, 'yes') then . . . if getPlayerLevel(cname) >= mainlevel then . . . . selfSay('Great! tell me what member you want to be?') . . . . talk_state = 1 . . . else . . . . selfSay('Sorry, you don\'t have all the requeriments to be one Akatsuki member...') . . . . selfSay('So, come back when you have level '.. mainlevel ..'.') . . . . talk_state = 20 . . . end . . elseif talk_state == 1 then -- telling vilage . . . talk_state = 2 . . . if msgcontains(msg, 'pain') then . . . . selfSay('hum, kill the monster named pain and bring to me his rune. if you have the rune say: pain rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'konan') then . . . . selfSay('hum, kill the monster named konan and bring to me his rune. if you have the rune say: konan rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'hidan') then . . . . selfSay('hum, kill the monster named hidan and bring to me his rune. if you have the rune say: hidan rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'tobi') then . . . . selfSay('hum, kill the monster named tobi and bring to me his rune. if you have the rune say: tobi rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'zetsu') then . . . . selfSay('hum, kill the monster named zetsu and bring to me his rune. if you have the rune say zetsu rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'sasori') then . . . . selfSay('hum, kill the monster named sasori and bring to me his rune. if you have the rune say sasori rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'deidara') then . . . . selfSay('hum, kill the monster named deidara and bring to me his rune. if you have the rune say deidara rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'itachi') then . . . . selfSay('hum, kill the monster named itachi and bring to me his rune. if you have the rune say itachi rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'kisame') then . . . . selfSay('hum, kill the monster named kisame and bring to me his rune. if you have the rune say kisame rune') . . . . talk_state = 2 . . . elseif msgcontains(msg, 'kakuzu') then . . . . selfSay('hum, kill the monster named kakuzu and bring to me his rune. if you have the rune say kakuzu rune') . . . . talk_state = 2 . . . else . . . . selfSay('Sorry, this member does not exist') . . . . vocation = 3 . . . . talk_state = 1 . . . end . . elseif talk_state == 2 then -- telling vilage . . . if msgcontains(msg, 'pain rune') then . . . . selfSay('Very good, let me take the rune! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2294) . . . . talk_state = 4 . . . elseif msgcontains(msg, 'konan rune') then . . . . selfSay('Very good, let me take the rune! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2295) . . . . talk_state = 6 . . . elseif msgcontains(msg, 'hidan rune') then . . . . selfSay('Right your son of the b---! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2296) . . . . talk_state = 7 . . . elseif msgcontains(msg, 'tobi rune') then . . . . selfSay('I\'m with hunger, get out of here! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2297) . . . . talk_state = 5 . . . elseif msgcontains(msg, 'zetsu rune') then . . . . selfSay('Get out of here! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2299) . . . . talk_state = 8 . . . elseif msgcontains(msg, 'sasori rune') then . . . . selfSay('Oh my God! You\'ll be and master killer! are you sure') . . . . itemstatus = doPlayerRemoveItem(cid,2299) . . . . talk_state = 9 . . . elseif msgcontains(msg, 'deidara rune') then . . . . selfSay('Hmm, i going put fire in your ass! get out of here! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2304) . . . . talk_state = 10 . . . elseif msgcontains(msg, 'itachi rune') then . . . . selfSay('Humm, Mangekyou Sharingan! don\'t worry i\'m just kidding! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2306) . . . . talk_state = 11 . . . elseif msgcontains(msg, 'kisame rune') then . . . . selfSay('Humm... are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2309) . . . . talk_state = 12 . . . elseif msgcontains(msg, 'kakuzu rune') then . . . . selfSay('! are you sure?') . . . . itemstatus = doPlayerRemoveItem(cid,2312) . . . . talk_state = 13 . . . else . . . . selfSay('Sorry, this clan does not exists.') . . . . vocation = 0 . . . . talk_state = 2 . . . end . . elseif talk_state == 4 then -- confirming vocation . . . if msgcontains(msg, 'yes') and talk_state == 4 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7845,1) . . . . setPlayerStorageValue(cid,50,1) . . . . learnSpell(cid,'mar de areia',0) . . . . learnSpell(cid,'akatsuki final rinnegan no jutsu',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'rinnegan',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('mar de areia, akatsuki final rinnegan no jutsu, akat impulse, akatsuki no jutsu and rinnegan.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 161') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 5 then . . . if msgcontains(msg, 'yes') and talk_state == 5 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7846,1) . . . . setPlayerStorageValue(cid,51,1) . . . . learnSpell(cid,'dragao de chakra',0) . . . . learnSpell(cid,'suiton tsunami no jutsu',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('dragao de chakra, suiton tsunami no jutsu, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 168') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 6 then . . . if msgcontains(msg, 'yes') and talk_state == 6 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7847,1) . . . . setPlayerStorageValue(cid,52,1) . . . . selfSay('Here is your new habilities.') . . . . selfSay('ritual jashin, sugakra, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 170') . . . . learnSpell(cid,'ritual jashin',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'sugakra',0) . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 7 then . . . if msgcontains(msg, 'yes') and talk_state == 7 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7848,1) . . . . setPlayerStorageValue(cid,53,1) . . . . selfSay('Here is your new habilities.') . . . . selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 164') . . . . learnSpell(cid,'amaterasu',0) . . . . learnSpell(cid,'katon karyuudan',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'mangekyou sharingan',0) . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 8 then . . . if msgcontains(msg, 'yes') and talk_state == 8 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7849,1) . . . . setPlayerStorageValue(cid,54,1) . . . . learnSpell(cid,'camuflate',0) . . . . learnSpell(cid,'zetsu gan no jutsu',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'corda de mil metros',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('camuflate, zetsu gan no jutsu, corda de mil metros, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 169.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 9 then . . . if msgcontains(msg, 'yes') and talk_state == 9 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7850,1) . . . . setPlayerStorageValue(cid,55,1) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'sabaku sousou',0) . . . . learnSpell(cid,'corda de mil metros',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('sabaku sousou, corda de mil metros, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 162.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 10 then . . . if msgcontains(msg, 'yes') and talk_state == 10 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7851,1) . . . . setPlayerStorageValue(cid,56,1) . . . . learnSpell(cid,'big explosion',0) . . . . learnSpell(cid,'katsu',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . selfSay('big explosion, katsu, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 165.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 11 then . . . if msgcontains(msg, 'yes') and talk_state == 11 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7852,1) . . . . setPlayerStorageValue(cid,57,1) . . . . learnSpell(cid,'amaterasu',0) . . . . learnSpell(cid,'katon karyuudan',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'mangekyou sharingan',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('amaterasu, katon karyuudan, mangekyou sharingan, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 167.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 12 then . . . if msgcontains(msg, 'yes') and talk_state == 12 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7853,1) . . . . setPlayerStorageValue(cid,58,1) . . . . learnSpell(cid,'tubarchakra',0) . . . . learnSpell(cid,'sugakra',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('tubarchakra, sugakra, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 166.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . . if talk_state == 13 then . . . if msgcontains(msg, 'yes') and talk_state == 13 then . . . . buy(cid,6227,1,0) . . . . buy(cid,6272,1,0) . . . . buy(cid,2195,1,0) . . . . setPlayerStorageValue(cid,7854,1) . . . . setPlayerStorageValue(cid,59,1) . . . . learnSpell(cid,'chidori nagashi',0) . . . . learnSpell(cid,'cruzadajutsu',0) . . . . learnSpell(cid,'akat impulse',0) . . . . learnSpell(cid,'akatsuki no jutsu',0) . . . . learnSpell(cid,'kazeno tzul',0) . . . . selfSay('Here is your new habilities.') . . . . selfSay('chidori nagashi, cruzadajutsu,kazeno tzul, akat impulse and akatsuki no jutsu.') . . . . selfSay('/makesay ' .. creatureGetName(cid) .. ',!cmot3416 163.') . . . . talk_state = 20 . . . . focus = 0 . . . end . . end . end end function onThink() . if focus > 0 then . . x, y, z = creatureGetPosition(focus) . . myx, myy, myz = selfGetPosition() . . . if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then . . . . selfTurn(0) . . . end . . . if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then . . . . selfTurn(2) . . . end . . . if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then . . . . selfTurn(1) . . . end . . . if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then . . . . selfTurn(3) . . . end . . . if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then . . . . selfTurn(1) . . . end . . . if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then . . . . selfTurn(3) . . . end . . . if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then . . . . selfTurn(2) . . . end . . . if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then . . . . selfTurn(0) . . . end . . . if ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then . . . . selfTurn(1) . . . end . . . if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then . . . . selfTurn(3) . . . end . . . if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then . . . . selfTurn(2) . . . end . . . if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then . . . . selfTurn(0) . . . end . . . if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then . . . . selfTurn(1) . . . end . . . if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then . . . . selfTurn(3) . . . end . . . if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then . . . . selfTurn(2) . . . end . . . if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then . . . . selfTurn(0) . . . end . . end . . if focus == 0 then . . . randmove = math.random(1,50) . . . if randmove == 1 then . . . . selfMove(0) . . . end . . . if randmove == 2 then . . . . selfMove(1) . . . end . . . if randmove == 3 then . . . . selfMove(2) . . . end . . . if randmove == 4 then . . . . selfMove(3) . . . end . . end . . if (os.clock() - talk_start) > 45 then . . . if focus > 0 then . . . . selfSay('Next Please...') . . . end . . . focus = 0 . . end . . if focus ~= 0 then . . . if getDistanceToCreature(focus) > 5 then . . . . selfSay('Good bye then.') . . . . focus = 0 . . . end . . end . end end versão 'compacta' do script: npcVars = {focus = 0,talk_start = 0,talk_state = 20,cname = '',mainLevel = 400,foundMember = 0,removeRuneId = 0} allowedSex = {1,2,17,18,19,20} memberList = {'pain','konan','hidan','tobi','zetsu','sasori','deidara','itachi','kisame','kakuzu'} vocationsCmot = {[4] = 161,[5] = 168,[6] = 170,[7] = 164,[8] = 169,[9] = 162,[10] = 165,[11] = 167,[12] = 166,[13] = 163} itemList = {6227,6272,2195} baseStorages = {7841,46} takeRuneList = { {'pain rune',2294,4}, {'konan rune',2295,6}, {'hidan rune',2296,7}, {'tobi rune',2297,5}, {'zetsu rune',2298,8}, {'sasori rune',2299,9}, {'deidara rune',2304,10}, {'itachi rune',2306,11}, {'kisame rune',2309,12}, {'kakuzu rune',2312,13}, } vocationsSkills = { [4] = { 'mar de areia','akatsuki final rinnegan no jutsu',akat impulse','akatsuki no jutsu','rinnegan'}, [5] = { 'dragao de chakra','suiton tsunami no jutsu','akat impulse','akatsuki no jutsu'}, [6] = { 'ritual jashin','akat impulse','akatsuki no jutsu','sugakra'}, [7] = { 'amaterasu','katon karyuudan','akat impulse','akatsuki no jutsu','mangekyou sharingan'}, [8] = { 'camuflate','zetsu gan no jutsu','akat impulse','akatsuki no jutsu','corda de mil metros'}, [9] = { 'akat impulse','akatsuki no jutsu','sabaku sousou','corda de mil metros'}, [10] = { 'big explosion','katsu','akat impulse','akatsuki no jutsu'}, [11] = { 'amaterasu','katon karyuudan','akat impulse','akatsuki no jutsu','mangekyou sharingan'}, [12] = { 'tubarchakra','sugakra','akat impulse','akatsuki no jutsu'}, [13] = { 'chidori nagashi','cruzadajutsu','akat impulse','akatsuki no jutsu','kazeno tzul'} } function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureTurn(creature) end function onCreatureChangeOutfit(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function isInArray(t,v) if type(t) == "table" and v then for k,var in pairs(t) do if var == v then return 1 end end end end function onCreatureDisappear(cid, pos) if npcVars.focus == cid then selfSay('Bye.') npcVars.focus = 0 npcVars.talk_start = 0 end end function onCreatureSay(cid, type, msg) npcVars.cname = creatureGetName(cid) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (npcVars.focus == 0)) and getDistanceToCreature(cid) < 4 then if isInArray(allowedSex,getPlayerSex(cid)) then selfSay('Hello, ' .. npcVars.cname .. '! So, you want to get in the Akatsuki?') npcVars.talk_state = 20 npcVars.focus = cid npcVars.talk_start = os.clock() else selfSay('Sorry, but you alredy chose your position. If not, talk to the Admin.') npcVars.talk_state = 20 npcVars.focus = cid end end elseif string.find(msg, '(%a*)hi(%a*)') and (npcVars.focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Sorry, ' .. npcVars.cname .. '! I talk to you in a minute.') elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 and npcVars.focus == cid then selfSay('Cya, ' .. npcVars.cname .. '!') npcVars.talk_state = 0 npcVars.focus = 0 npcVars.talk_start = 0 elseif npcVars.focus == cid then npcVars.talk_start = os.clock() if npcVars.talk_state == 20 and msgcontains(msg, 'yes') then if getPlayerLevel(npcVars.cname) >= npcVars.mainLevel then selfSay('Great! tell me what member you want to be?') npcVars.talk_state = 1 else selfSay('Sorry, you don\'t have all the requeriments to be one Akatsuki member...') selfSay('So, come back when you have level '.. npcVars.mainLevel ..'.') npcVars.talk_state = 20 end elseif npcVars.talk_state == 1 then npcVars.talk_state = 2 for i=1,#memberList do if msgcontains(msg, memberList[i]) then selfSay('hum, kill the monster named '..memberList[i]..' and bring to me his rune. if you have the rune say: '..memberList[i]..' rune') npcVars.foundMember = 1 end end if npcVars.foundMember == 0 then selfSay('Sorry, this member does not exist') npcVars.talk_state = 1 end elseif npcVars.talk_state == 2 then npcVars.foundMember = 0 for i=1,#takeRuneList do if msgcontains(msg, takeRuneList[i][1]) then selfSay('Very good, let me take the rune! are you sure?') npcVars.removeRuneId = takeRuneList[i][2] npcVars.talk_state = takeRuneList[i][3] npcVars.foundMember = 1 end end if npcVars.foundMember == 0 then selfSay('Sorry, this clan does not exists.') npcVars.talk_state = 2 end elseif (npcVars.talk_state > 3) and (npcVars.talk_state < 14) and (msgcontains(msg,'yes')) and (doPlayerRemoveItem(cid,npcVars.removeRuneId)) then makeMyVocation(npcVars.talk_state) end end end function makeMyVocation(voc) for i=1,3 do buy(cid,itemList[i],1,0) end for i=1,2 do setPlayerStorageValue(cid,baseStorages[i]+voc,1) end mySpells = vocationSpells[voc] spellList = mySpells[1] for i=1,5 do learnSpell(cid,mySpells[i],0) if i> 1 then spellList = spellList..', '..mySpells[i] end selfSay('Here is your new habilities.') selfSay(spellList..'.') selfSay('/makesay ' .. npcVars.cname .. ',!cmot3416 '..vocationsCmot[voc]) npcVars.talk_state = 20 npcVars.focus = 0 end end function onThink() if npcVars.focus > 0 then x, y, z = creatureGetPosition(npcVars.focus) myx, myy, myz = selfGetPosition() if ((myy-y==0) and (myx-x<=0 and myx-x>=-4)) then selfTurn(0) elseif ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then selfTurn(2) elseif ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then selfTurn(1) elseif ((myx-x==0) and (myy-y>=0 and myy-y<=4)) then selfTurn(3) elseif ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(1) elseif ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then selfTurn(3) elseif ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(2) elseif ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then selfTurn(0) elseif ((myy-y==-3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(1) elseif ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then selfTurn(3) elseif ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(2) elseif ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then selfTurn(0) elseif ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(1) elseif ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then selfTurn(3) elseif ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(2) elseif ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then selfTurn(0) end end if npcVars.focus == 0 then selfMove(math.random(0,4)) end if (os.clock() - npcVars.talk_start) > 45 then if npcVars.focus > 0 then selfSay('Next Please...') npcVars.focus = 0 end if npcVars.focus ~= 0 and getDistanceToCreature(npcVars.focus) > 5 then selfSay('Good bye then.') npcVars.focus = 0 end end -
significa End Of File... quer dizer que vc abriu X IF's e fechou apenas Y exemplos: código certo: if a > b then . if c = d then . . c = c + 1 . . d = d - 1 . . e = f . . if f = g then . . . g = e+1 . . end . end end código com erro de <eof> if a > b then . if c = d then . . c = c + 1 . . d = d - 1 . . e = f . . if f = g then . . . g = e+1 . . end . elseif z < x then . . a = 0 . . z = 0 . end . . . . . . <eof> se sanou sua dúvida, reporte o tópico... caso contrário, poste o script que retorna o erro
-
cara.. eu vo te falar onde ta o erro e vc vai dar risada =) pasta data\lib\movements.lua localize a linha: e adicione um - antes do comentário ficando assim:
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.