

meleca
Campones-
Total de itens
18 -
Registro em
-
Última visita
Tudo que meleca postou
-
o nao funciona perfeitamente no windows 98 =/// tipo fazer o mapa tudo bem.. mas ai qnd quero fazer quests.. ai tenhu q ir nas propriedades no bau e botar lá só q em qualquer lugar q eu tente entrar nas propriedades da erro e fecha o mapeditor.. fazendo assim para os q usam win98 nao podem fazer quests =/
-
Ta rox o ot.. xD --Aprovado-- Cya~~
-
Muito bom , baixei e estou usando. --Testado e Aprovado-- Cya~~
-
Comandos Gm(gamemaster) Em Otserver
tópico respondeu ao GuilhermeBalbino de meleca em Tutoriais para Iniciantes
:getlost: Sei la.. na minha opinião topico meio inutil pq depende do Ot muda os comandos.. e tb é muito facil é só abrir o arquivo commands da pasta do ot e tera todos os comandos do Server. Porem.. tem gente q é GM de 1 ot e nao é o hoster e nunca baixou 1 server pra ver o arquivo commands entao esse topico ajuda bastante a galera q nunca teve ot e esta tento a chance de ser GM em algum servidor. //Gellerzin reportado por flood , cara 3 mensagens seguidas q isso ? Cya~~ -----EDIT:--- Sem kerer foi 2 mensagens.. erro do meu Firefox.. foi mal.. podem olhar pelos horarios 20:42 e 20:43 em 1 segundo eu n teria xance de escrever novamente.. -
Comandos Gm(gamemaster) Em Otserver
tópico respondeu ao GuilhermeBalbino de meleca em Tutoriais para Iniciantes
:getlost: Sei la.. na minha opinião topico meio inutil pq depende do Ot muda os comandos.. e tb é muito facil é só abrir o arquivo commands da pasta do ot e tera todos os comandos do Server. Porem.. tem gente q é GM de 1 ot e nao é o hoster e nunca baixou 1 server pra ver o arquivo commands entao esse topico ajuda bastante a galera q nunca teve ot e esta tento a chance de ser GM em algum servidor. Cya~~ -
Muito bom tuto , eu ainda sou da velha guarda ehuehue prefiro usar o windows 98 e eu testei e funcionou certinho.. vlw. --Testado e Aprovado-- Cya~~
-
Servfull 0.9 Poi Concluida, Update Ab'dendriel, Port Hope.
tópico respondeu ao Natanael Beckman de meleca em Lixeira Pública
Mano , muito bom esse ot.. baxei liguei pra olha e fiko rox.. Só a pena q n posso liga q meu pc é 1 lixo hehe mas to jogando num ot q ta usando esse seu ot , mas axo q u cara q ligou fes ##### pq as vezes qnd tento entra da Debug e fiko horas i horas sem consegui entrar.. =P -
Aee zorzin , agora o 1.1 ta perfeito mano , liguei por 1 hora com 2 players eu i meu rl só pra ve se u mapa era bom e u ot tb , nota 10 mano.. agora vo testa com mais players e mais tempo on.. o 1.0 tava com bug , caia toda hora qnd eu ia demon helmet quest ou anihi.. testei na 1.1 e nao caiu \o/ Gratzz ot perfect.. continue assim :* ~~Cya~~ Go Go 1.2 plx xD
-
Zorzin ot ta 99% perfeito ! 1% é q eu sozinho no ot fui testa antes de ligar é claro , fui solar demon helmet quest , com lvl 200 knight , ai em 1 minuto dentro da quest eu matando os demons o server cai .. n sei se acontece nos outros respaws , só testei anihi e demon helmet e caiu .. ja testei 5 vezes da dh e todas cairam o server.. se nao fosse isso o server seria perfeito.. pois adorei o sistema de addons igual global ;D era só isso vlw ~~Cya~~
-
Tutorial Criando Quests - Com Imagens
tópico respondeu ao x9kill de meleca em Tutoriais de Scripting
muito bom tutorial ----Aprovado---- -
muito bom u tutorial , ja to ate baxando o photoshop pra começa a edita meu spr xD Assinatura desabilitada por UNDER.
-
eu ja sei fazer quests mas esse tutorial ta otimo Aprovado e Recomendo.
-
tp primero vc abre o npc.lua q se localiza na pasta do seu ot/data/npc/scripts/lib ai vc abre esse arkivo o npc.lua e no final add isso : function moveRandom(ox,oy,max)maxx = ox + maxmaxy = oy + maxminx = ox - maxminy = oy - maxcx, cy, cz = selfGetPosition()randmove = math.random(1,50)if randmove == 1 thennx = cx + 1ny = cyendif randmove == 2 thennx = cx - 1ny = cyendif randmove == 3 thenny = cy + 1nx = cxendif randmove == 4 thenny = cy - 1nx = cxendif randmove >= 5 thennx = cxny = cyendif((nx < maxx) and (ny < maxy) and (nx > minx) and (ny > miny)) thenmoveToPosition(nx, ny, cz)endend ai depois q vc add isso no npc.lua vc vai no arkivo do seu npc e add isso: ox = 400oy = 400oz = 7max = 5 ox, oy e oz é a posição de respaw do seu NPC, altere de acordo com cada NPC. o MAX é a quantidade maxima de SQMs que o NPC vai poder se afastar do ser respaw. Ainda no arquivo do NPC dentro da função onThink() (use procura para achar onde está), coloque isso aki... if(focus == 0) thenmoveRandom(ox,oy,max)end Agora é so salvar tudo e abrir seu ot i ver seus npcs andarem xD
-
vlw rafix pelo comment , to ai pra colquer coisa xD ai glr comentem plxx ...... Daki alguns dias vou estar postandu u meu ot nus downloads MeLeCa Team !! melecaserv.servegame.com :laughing:
-
Criando Accounts Manualmente
tópico respondeu ao Rafael Medeiros de meleca em Tutoriais de Scripting
tp bom topico mas ja existe muito tutorial ensinando isso então pra q posta otro :getlost: n perdi tempo postandu isso e vai posta algo melhor :grin: MeLeCa SeRveR FoReVeN ! :w00t: -
Aew, quando eu tava jogando em OT pela primeira vez eu sempre dizia pros NPCs: hi / sd ... mas naum pra comprar e sim pra ver o preço... mas acabava comprando... Bom, dei um jeito pra eles falarem alguma coisa do tipo: "vc quer comprar uma sd por 10gp?" ou melhor ainda: "vc quer uma sd de 1, 10, 50 ou 100 cargas?"... Ah, eu uso yurots 7.5, intaum naum sei se vai funfar pra otro ot... vo pegar como exemplo o vendedor de runas padrão do yurots que eu baxei... esse código ta dentro de data/npc/scripts no arquivo runes.lua: -- Respawn position set--ox = 44--oy = 5--oz = 6focus = 0talk_start = 0target = 0following = falseattacking = falsefunction onThingMove(creature, thing, oldpos, oldstackpos)endfunction onCreatureAppear(creature)endfunction onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 talk_start = 0 endendfunction onCreatureTurn(creature)endfunction msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))endfunction onCreatureSay(cid, type, msg) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 3 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell hmms (40gps), uhs (10gps), gfbs (10gps), explosions (60gps), sds (10gps) and blank runes (5gps). You can also buy more runes, just say "10 uh" or "100 sd".') focus = cid talk_start = os.clock() elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 3 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')elseif msgcontains(msg, '100 hmm') and focus == cid then buy(cid,3136,100,500) talk_start = os.clock() elseif msgcontains(msg, '10 hmm') and focus == cid then buy(cid,3136,10,50) talk_start = os.clock() elseif msgcontains(msg, 'hmm') and focus == cid then buy(cid,3136,5,5) talk_start = os.clock()elseif msgcontains(msg, '100 uh') and focus == cid then buy(cid,3098,100,600) talk_start = os.clock()elseif msgcontains(msg, '10 uh') and focus == cid then buy(cid,3098,10,60) talk_start = os.clock() elseif msgcontains(msg, 'uh') and focus == cid then buy(cid,3098,1,6) talk_start = os.clock() elseif msgcontains(msg, '100 gfb') and focus == cid then buy(cid,3129,100,600) talk_start = os.clock()elseif msgcontains(msg, '10 gfb') and focus == cid then buy(cid,3129,10,60) talk_start = os.clock() elseif msgcontains(msg, 'gfb') and focus == cid then buy(cid,3129,3,6) talk_start = os.clock()elseif msgcontains(msg, '100 explosion') and focus == cid then buy(cid,3138,100,900) talk_start = os.clock()elseif msgcontains(msg, '10 explosion') and focus == cid then buy(cid,3138,10,90) talk_start = os.clock() elseif msgcontains(msg, 'explosion') and focus == cid then buy(cid,3138,3,9) talk_start = os.clock()elseif msgcontains(msg, '100 sd') and focus == cid then buy(cid,3093,100,1000) talk_start = os.clock()elseif msgcontains(msg, '10 sd') and focus == cid then buy(cid,3093,10,100) talk_start = os.clock() elseif msgcontains(msg, 'sd') and focus == cid then buy(cid,3093,1,10) talk_start = os.clock() elseif msgcontains(msg, 'blank') and focus == cid then buy(cid,3085,1,5) talk_start = os.clock() elseif string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 3 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 talk_start = 0 endendfunction onCreatureChangeOutfit(creature)endfunction onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 endend Vamos começar: nós vamos precisar de um artifício, uma espécie de contador. Todo lugar que tiver um 'focus = 0', adicione na linha de baixo um 'contador = 0', por exemplo: focus = 0contador = 0talk_start = 0target = 0following = falseattacking = false agora faça o seguinte: substitua isto tudo: elseif msgcontains(msg, '100 hmm') and focus == cid then buy(cid,3136,100,500) talk_start = os.clock() elseif msgcontains(msg, '10 hmm') and focus == cid then buy(cid,3136,10,50) talk_start = os.clock() elseif msgcontains(msg, 'hmm') and focus == cid then buy(cid,3136,5,5) talk_start = os.clock() por: elseif msgcontains(msg, 'hmm') and focus == cid then selfSay('1, 10, 50 ou 100 cargas?') contador = 1 talk_start = os.clock()elseif msgcontains(msg, '100') and focus == cid and contador == 1 then buy(cid,3136,100,500) talk_start = os.clock()elseif msgcontains(msg, '50') and focus == cid and contador == 1 then buy(cid,3136,50,250) talk_start = os.clock()elseif msgcontains(msg, '10') and focus == cid and contador == 1 then buy(cid,3136,10,50) talk_start = os.clock()elseif msgcontains(msg, '1') and focus == cid and contador == 1 then buy(cid,3136,1,5) talk_start = os.clock() Faça o mesmo para todas as outras runas, mas mudando o numero do contador, por exemplo, para SD vc poe contador = 2, para UH, cotador = 3, etc.: Jah no caso da Blank runevc faz o seguinte, o codigo original eh esse: elseif msgcontains(msg, 'blank') and focus == cid then buy(cid,3085,1,5) talk_start = os.clock() substitua tudo por: elseif msgcontains(msg, 'blank') and focus == cid then sefSay('Vc quer comprar 1 blank rune por 10gp?') contador = 6 elseif msgcontains(msg, 'sim') and focus == cid and contador == 6 then buy(cid,3085,1,5) talk_start = os.clock() Bom, eh isso, pra quem naum ta nem ai pra minha explikação e soh quer o código final de um vendedor de HMM, UH, GFB, XPL, SD e Blank. ai vai: -- Respawn position set--ox = 44--oy = 5--oz = 6focus = 0contador = 0talk_start = 0target = 0following = falseattacking = falsefunction onThingMove(creature, thing, oldpos, oldstackpos)endfunction onCreatureAppear(creature)endfunction onCreatureDisappear(cid, pos) if focus == cid then selfSay('Good bye then.') focus = 0 contador = 0 talk_start = 0 endendfunction onCreatureTurn(creature)endfunction msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))endfunction onCreatureSay(cid, type, msg) msg = string.lower(msg) if ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 3 then selfSay('Hello ' .. creatureGetName(cid) .. '! I sell hmms (5gps), uhs (10gps), gfbs (10gps), explosions (10gps), sds (10gps) and blank runes (5gps). You can also buy more runes, just say "10 uh" or "100 sd".') focus = cid talk_start = os.clock() elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 3 then selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')elseif msgcontains(msg, 'hmm') and focus == cid then selfSay('1x, 10x, 50x ou 100x?') contador = 1 talk_start = os.clock()elseif msgcontains(msg, '100') and focus == cid and contador == 1 then buy(cid,3136,100,500) talk_start = os.clock() elseif msgcontains(msg, '50') and focus == cid and contador == 1 then buy(cid,3136,50,250) talk_start = os.clock() elseif msgcontains(msg, '10') and focus == cid and contador == 1 then buy(cid,3136,10,50) talk_start = os.clock() elseif msgcontains(msg, '1') and focus == cid and contador == 1 then buy(cid,3136,5,5) talk_start = os.clock()elseif msgcontains(msg, 'uh') and focus == cid then selfSay('1x, 10x, 50x ou 100x?') contador = 2 talk_start = os.clock()elseif msgcontains(msg, '100') and focus == cid and contador == 2 then buy(cid,3098,100,600) talk_start = os.clock()elseif msgcontains(msg, '50') and focus == cid and contador == 2 then buy(cid,3098,50,300) talk_start = os.clock()elseif msgcontains(msg, '10') and focus == cid and contador == 2 then buy(cid,3098,10,60) talk_start = os.clock() elseif msgcontains(msg, '1') and focus == cid and contador == 2 then buy(cid,3098,1,6) talk_start = os.clock()elseif msgcontains(msg, 'gfb') and focus == cid then selfSay('1x, 10x, 50x ou 100x?') contador = 3 talk_start = os.clock() elseif msgcontains(msg, '100') and focus == cid and contador == 3 then buy(cid,3129,100,600) talk_start = os.clock()elseif msgcontains(msg, '50') and focus == cid and contador == 3 then buy(cid,3129,50,300) talk_start = os.clock()elseif msgcontains(msg, '10') and focus == cid and contador == 3 then buy(cid,3129,10,60) talk_start = os.clock() elseif msgcontains(msg, '1') and focus == cid and contador == 3 then buy(cid,3129,3,6) talk_start = os.clock()elseif msgcontains(msg, 'explosion') and focus == cid then selfSay('1x, 10x, 50x ou 100x?') contador = 4 talk_start = os.clock()elseif msgcontains(msg, '100') and focus == cid and contador == 4 then buy(cid,3138,100,900) talk_start = os.clock()elseif msgcontains(msg, '50') and focus == cid and contador == 4 then buy(cid,3138,50,450) talk_start = os.clock()elseif msgcontains(msg, '10') and focus == cid and contador == 4 then buy(cid,3138,10,90) talk_start = os.clock() elseif msgcontains(msg, '1') and focus == cid and contador == 4 then buy(cid,3138,3,9) talk_start = os.clock()elseif msgcontains(msg, 'sd') and focus == cid then selfSay('1x, 10x, 50x ou 100x?') contador = 5 talk_start = os.clock()elseif msgcontains(msg, '100') and focus == cid and contador == 5 then buy(cid,3093,100,1000) talk_start = os.clock()elseif msgcontains(msg, '50') and focus == cid and contador == 5 then buy(cid,3093,50,500) talk_start = os.clock()elseif msgcontains(msg, '10') and focus == cid and contador == 5 then buy(cid,3093,10,100) talk_start = os.clock() elseif msgcontains(msg, '1') and focus == cid and contadori == 5 then buy(cid,3093,1,10) talk_start = os.clock() elseif msgcontains(msg, 'blank') and focus == cid then sefSay('Vc quer comprar 1 blank rune por 10gp?') contador = 6 elseif msgcontains(msg, 'sim') and focus == cid and contador == 6 then buy(cid,3085,1,5) talk_start = os.clock() elseif string.find(msg, '(%a*)bye(%a*)') and focus == cid and getDistanceToCreature(cid) < 3 then selfSay('Good bye, ' .. creatureGetName(cid) .. '!') focus = 0 contador = 0 talk_start = 0 endendfunction onCreatureChangeOutfit(creature)endfunction onThink() if (os.clock() - talk_start) > 30 then if focus > 0 then selfSay('Next Please...') end focus = 0 contador = 0 endend ufa, eh isso... tomara que eu tenha ajudado alguém... :grin: Se 1 cara postar aki dizendo que eu ajudei jah vo fikar feliz... Eh isso ai... qq dúvida posta que eu ajudo!
-
Bem antes de começar os ots q eu testei e funciono foram : yurots,darkonia e hotserv mas em outros deve funcionar! Abra o arkivo data/npc/scripts/lib/npc.lua < e nele adicione. ( bote no meio de duas funções quaisquer ) CODE : function moveRandom(ox,oy,max) maxx = ox + max maxy = oy + max minx = ox - max miny = oy - max cx, cy, cz = selfGetPosition() randmove = math.random(1,50) if randmove == 1 then nx = cx + 1 ny = cy end if randmove == 2 then nx = cx - 1 ny = cy end if randmove == 3 then ny = cy + 1 nx = cx end if randmove == 4 then ny = cy - 1 nx = cx end if randmove >= 5 then nx = cx ny = cy end if((nx < maxx) and (ny < maxy) and (nx > minx) and (ny > miny)) then moveToPosition(nx, ny, cz) end end ------------------------------------ depois disso vc vai trabalhar no arkivo lua do seu npc lá no topo acrescente: ox = 400 oy = 400 oz = 7 max = 5 ox, oy e oz é a posição de respaw do seu NPC, altere de acordo com cada NPC. o MAX é a quantidade maxima de SQMs que o NPC vai poder se afastar do ser respaw. Ainda no arquivo do NPC dentro da função onThink() (use procura para achar onde está), coloque isso aki... if(focus == 0) then moveRandom(ox,oy,max) end Pronto agora seus npcs estão prontos para andar!! Créditos pro JTE, MeLeCa.
-
Ai glr esse é u primero action q eu to fazendu então ja vo manda pra vcs... Tp u meu server a xp é alta então a maioria é hl e uh é meio ruim então criei essa nova runa é boa para knights ;] Crie um arkivo.lua com o nome uhmax e bote isso dentro dele : --MeLeCa Incredible Hp Rune function onUse(cid, item, frompos, item2, topos) mag = getPlayerMagLevel(cid) if mag >= 3 then doSendMagicEffect(topos,1) doPlayerSay(cid,"Never Die",16) doPlayerAddHealth(cid, 1000) if item.type > 1 then doChangeTypeItem(item.uid,item.type-1) else doRemoveItem(item.uid,1) end else doSendMagicEffect(frompos,2) doPlayerSendCancel(cid,"You don't have the required magic level to use that rune.") end return 1 end -------------------------------------------------------------------------- Depois de fazer esse arkivo entre em actions.xml e bote isso em algum lugar : <action itemid="3089" script="uhmax.lua" allowfaruse="1" blockwalls="0" /> nessa rune eu usei o id 3089 mas se vc preferi use outro da sua preferencia xD. e mais 1 coisa essa runa aumenta 1k de life se vc axa muito é so ir no arkivo uhmax.lua e procure essa parte : doPlayerAddHealth(cid, 1000) <<< esse 1000 é o que vai aumentar de hp pra quem usa então se axar melhor pode diminuir ou aumentar. se kiser ver essa rune antes de por no seu ot entra nu meu ot e olha xD http://melecaserv.servegame.com:8090 Essa rune funciono no yurots-darkonia mas deve funcionar em outros ots xD
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.