Ir para conteúdo
  • Cadastre-se

Protocolo de arquivos da system


BanidoForever

Posts recomendados

Eu aprendi isso hoje depois de fuçar com a l2 a muito tempo. Nunca dei bola para isso também mas aprendi hoje.

Sabe quando você vai salvar algum arquivo e o filedit pede a versão do protocolo para você salvar ai você vai lá e coloca 413 e nunca salva a forma de descobrir isso é muito fácil.

Você vai precisar de 2 programas filedit e bloco de notas.

Ao tentar abrir qualquer arquivo com o bloca de notas sempre aparecera isso.

 

Lineage2Ver413㕏䕘罻㚳双꾶㺳ׄ鮀ꛛ䧗賫⶘稔™皋㌲᮱頗ഗ뢆耰᷿뢤鹘⺇뢦냷Ớ鉗鄽࢙퓧狟嫪흚е罷뢓뜨ꦌ瘺╴⠳Ꞗ୛掤尐㨬뽦㚻듪┇힖臵ꁞ匎굹퐛嵏헨၊ꂨⰗ➜꿼蘯侳˝沽쉶퓚䚇碓㴐涣련証Ꮚ젰꺣擨㣜煁瑮⣮Bֵ됳˙⨣㴊ꇉ搽읔唌왈ޣ붨꿅⊖榁׸젎措ꀌຒ긇ꔵာ墍Ṉ褷恨䢚⥸홊Ṛ敓ṋᯩ蟆遰┶᪄㍖㴂쵑軵끪廱桦잿뜶颊광娖ẕ쏋救勆偝Ձల펯Ꞑ叁칫씎ྶ圬삎ॕ뮟톈음̕ᖫ斺䞩한痈⡒췜䔆✧損뒕廃穭꒫䮌皎璸歾ᶬ촏඀뭹뭝繿쳌掫윃颤钩쮈䓢鱲䈬쮙㥡雾ꊷ縢棵霸ቼ莲辭྽᥅嗕臭䋩幹瞓虿㑝䘀뫟鋔⢤ᵨ吮Ⰸ⵮苀썙캠뵫튽瓾셮ℛ䠂₩鋄ḛʕ술揳ꍔ陎ᶫꚉ㵍爝↶ꔿ뵞⾐焆킾꾻硓ƭ㴣貂픙廆퟉೻ⷯ푽⋪଎᥈듿ꕚ岿䈙䅼⅘㾚ۘ桰鐎㙅뤖劙雍瘽햫벳ꍤ廇᳓ꂔ䲉璽ꚫ퀤㋯莱噂鍇뺂᫯n㉙饾훈⨣꾧많使Ѷ緥₄瀉砡꽴␈칰囷堋䕅죮Ⲱꔣ蜩騤鴃ౄ揔樝阜树䴃㏟ꎪ団Ꜳ杌๧菓홱쉈验㢸ผ㧝汥혩ॲ▀냈䌏ꢐ閃䍨첤ꛖ芮쒢㰃⨭쒊㜄⒚⃇浐耟嫇⿻ቦ㍶폫᜔ꪹㆇ퀩鸉✜Ꚁ別犖Ὄ뭈첷髓鹝셍ᏼ謐蕩嘐ⰛᲬ柃쭒릏꬗캾弲ꗻ컩耩팈਼軈ᘅ孺䪽큹疬鬰䍃⢜鏱쵑怘ꉛ硓뤡츔ɱᾐ쁴쪵䷺㢡蒟錭⺡䇢쟕쭟裥뎊♋ẙ㥔橷및Ⳮ끑⍌慑Ɏ蚅唼뀓葢鰚鷳뾬땮鲹왺旃⣕摼Ꟗ派寝쨒◱쑄⑳溁钔㒝瑎낝ۭݱ묂ꞅ腪쨧㑛௔͍ᝎᝅ㉨ገ鄄ᶠ奵횡떉녈鈨캔ꩈ烣൬慴돍纈轏覰㴻ᑼ⇎閧榼嵒ꁶ铵륻鵘鹶ො䃴톱쪎耖뿃䩕垟ꗁ磤㍟槰៣⮝뚚彪㗽ꢱ鴤ġ䮿㦔끬Ⲓ냜⍹䔠츼硙睲尽퉑鷭凪螋ꍝ怨馘쿐匴ἰ缤鍰ꁛತ켜㴯乆豽騫蕊褣쏗嫴닛豝貉钦⎮釔Ը᜔凫층ロ䶔䪠䔤쬐ꠈ醛㨢꬝抝鵑⽆ᴵ恩ʎ㶯䲥ꉫ賖恬ᥔ파녔䦡塧쿷⽜둉ఊ볤༙熝襏吠㹪캵棾ꋇᲫ؏Ự肘㹆뿦຾礃쁞⽠⧬菘䥏㊡羿旔䐞臛၂㔞휑奂雅ꒃ셬郢☷킍銘䝮ⶉ뾾죙睮䄌碦坧ᵅ俿솗崔㫦㜿풏臟볌閤뜈ҡ볿壿퉠䉀ຯ胕鲥㍉睾劐톅힤睃䝎ॣ퉦慚麹묬巡瑌஭솧៩孹繙戁㽷전㫭蕰㴾꒵縁瑜醯虹㑴琵慯縀歟醠髣뫶仔躇垊掣届㮠浕뽵總ꥣ㦆诪邀漑贷䫛䝾嵾裣졒桤忡Ι凳♜ߔ庳㽢勱⌾은Ꮖᬥ轞髕鴽뒒츥実㱟౞舜쵲阒ꘔッ餃冈푄┉넇鮅졯퐑儦詥ꎲ徲㌵০틐俅㧚뛊჏礑쿤勰蕈妐㺬ꡥ릏渷─踍媇ýᢋ邼랾䃟읖✮㿌궩娩ᆶǍ液㿬讬趇禽皣蓲箸瀢甤⥲㠚䫽嗯珍穁䱶鉭ᔗ㬐㢞굊튕삖몽㵊履䚑መ獀խꝜ즟쭳铤ト헤蘆ᅜ흈洍ꤶ얡齭꡴ൂ翃ᐟ좬㐡㆝땑鰣⤺塊꛸鳍潮톭쫙젞洀屸㌑䔋◃崤螦ⶻ圻ᨦ麃槨텢茘衃䏀띆춝쏤䱎椶杅鑱⥨艉樻驉㼽尻᧬ሧ薏媣⒐蟼૤ꚙ覘彦적ꋵ岾䆮ꆍ谺隉≳罷힖䧧ᤞḐ曗칝䥳튿뛞⏗ɳ₻軄뼛䯰⇏剴ểො燭뚧㵹䯜渔춇歪켢䭢췘䂾∶催꫇ვ製蒧뤁컯ῃ⡛ꡍ윗숛⍴ඪ꺵令梪㶝뼺惸↵嵬ⷌଯ䘥낆᧞葜鸠ઢ뽪誹䝩ꄩ碀䪺ࠖ狡䳠⛥ᐃ띱䥹⚯ꢒ괣仿鍷꿞垃쥲随倾⩟럧侅ጔ㧉뻙Ʂᖀ●㞰뵾䱙䋏폭鲾侊킒ꡚ泏૚록욂晻ⲩⅠ蔜觾뢯ܿ쐲龾䒺࡞쨤饨⦣ꮧ⏭蟽繥趶䒓䒒빪⥢驓ꭇ쉴栆ű釰ໜ腓柨处̜삦牅컵䏟ῡ밸⭅엙蚑ᵞꑹ氊ꍨ쟐䇫賡鈫腽奟ᗃ寇퀩싵曆暷⒴བ睊魰鰭ꐅ풒㼻ꄀ麭洼撔ጘ㋆睏媎溛幟兴왦거㵏ꞧ蝢ꡥට峏昲蠬Ⱌ鈸瓇玛簃䦱䡟ꎶᤫ筣㢯氜옩Ᾰ䓵꺨绩㬢䌰跨៿觯ჩ㹽蹾粀䧺얍玩灀蠳봈塛䢋胼zᤍ⫓Լ稂⹻㖎鼊མᒌ々嘼컷䦩陵ဏ䈋궵䎄貟戈橀譠쎡鿈肞傁⒑椋쎜혵쐗뾺앺㋙醔ኾ抾¨墙幧ꁿ낾ꇼ븽꒗᧭嵜ᮿ솃䧈誛좢辮ɀᤙ奖鵜獴壊뫑껄츫墠ꂸ恓㻧潋൛͝鮱Ა適᷑㘧砦橌뚒ꟿ苠勿庇匁튶린蚊ᦩ찳㗬쨃̒圳圤テ韚麬杆ᇃ㑄ს薠ꀕꌥ캆ီᡸ颡奡䩌ᾢ嚸⯰膔畕᣶퍼ꏤ紻靤ᖡ㭙ා埚ᤋキ솶挰魖䐐䍉ᓱ⁸蠉빡稜噋ⶓ潊ਂ넲脓로쌏骕빞箮ꤾ塼⽏恦넠䶂ꀆꈯ납甂⇄뒰鳔욻䨴泓耉頁쫛ꢿ籷閚ꈌ㗱⁋둝㕗此綩띏볽羡䲏牢ҕ஼岊犨⼅郡⻃胼▼쫎쮷恫껻岰̔据뉧겁ⷚꃑ㹦곻㜊䃷楻貥칫澔㵀쐿熌瞻˨㭷㑐芀赓풎씊뢻確쩘昡啣ޕᘥꤪ下汕붮槹묞腆䉑ἃ푿邻겘䖄엌榛䍆佇썆壷簞䌕ᵭ븱韌ƺ뗭㡱齍ℴ韭贄쯙ɰʜᾗ坋᤬㕋㡁쳸뮰̱嗍Κ࡛魽о큳⓿틈확⮒鋨皩儥鋀雇狵㡉畄旅竾㌃ᕏᡌ翦햲㒊̢䒷ཥⷭ㎹옯崳韥妸馑큤路荇⫬ꓳ∠쉐猪閃㖓䆬ꉨᔅ봣骱쉛鈫嚊⮊ࠝ㓑㨚凥홃坬꣺䮂煭쒎⠿ᓻ䴥ፈ亅蹕橸禧Ꙃ່㣆ꡓ謡扙퀇岟㧦槯̴ࣛⵏᨒ꙽孃엓ĕ늇簅榿굋抨逊險럭禥㒔Ῐ뫟槫娿뀕儸ᢍꝿ鬏骑鋛预䵘쓖摛䰲⮅刼鼼♠ၵ옩牵矖ᥛꃦ鹝萶ꓩ䌍䐖덳ㅵᡠ䊡夻㩮菇氖娨别䣵ⷉ≗뜦稧틅鉠㬔靲❻ⳮ뢢꺎竳䦅駇㴳ꎼ뵟䶻꒥⻌愆묬寋菅仌硲踥頸笹䂎켏艉뭉૖牢ꏪ篡㵚ּ턦쥨왉꾃䕺컜첧籌㜻匃찎䊫捼젌檾移뉡쭷솆䥑č陰洺鋈먷顏綈빎饿䛤豖뮣樱烀滝ऒ깂⯏蠰퓮䣏ẓ뀷姩釛옎蹧૶ↆ鋐婦햱캧ዔ撌瀸뺊䘜냃聧쐫槱杬짓呢ꃡ碧⣀簵嘋૞恙䥇ແẌꭺꗧ䀡༩᲌㶙䣗犺䗧䂊鄪Ĺಅ깟蝽ဃ땐酛ࠁ퐏ܥ罰醻ೞ謨⎙ꥍ껖硒㶠㶧흡約ၓ桧㇩綼⢱ᦏꬱ୛穢쎄た䅕娎㨊枠뺸䣢➀恬⫆穱쥂㹫雰騿줃ᷢ諵ϥ溪哃䍾᝱⅃凅ㅐ➌枛㽉뷱걧血꜉뙃뷏ҭ폈ᶌ䂯쁰詅啮⭁ꎁ뫦ᣄ됅䗉㔐㼉ꈵ돥⫨ꌙꣿ㬒ጣ䡧捖鈝 螃볬韜䛦Ⴇ迮衃悿ꓔ뼒렭ス⸓ْ㧗ꓒ庨ẍᑐ鎨滗䎤浻猱ⱊ뜡㯺囐㮕䵴尀翃힦햛᧹⍝ݧ੭充環虸ꦦ젱쒔⡉ᬬẬ쮺쏋㛡龮螖ꇶԀ띴嘫삖쥛桷癁雹̶ꍟ蒟ꇐ꿒ഃ莴ꊠ鶽籠㼐綰⟇襺㨪ꟶꚟ᪓숆മ抟↝㺘ꏣ澨斜ꁜ뎓騮檯儑㫩媢濴倕ꦷ鿧웈フ왍;䄏왜壻沙ⶏ⾌൳೔槜㻜岚縞㟯揣૲謿䣿殸뛰駽ᆭྻ䋖他嫞빞綋튦⾍⑽᳏࣊猸㔐໭጗叅짅乒Η퉮鄟쩐悢멥⟞쟋紂絑㐱⯋ć슳賉쐚᧎⼽⬎龓घ賻얖秪豹禳悜骜蠏ࢵந蔉汵赽ᘡ鑚ᦁꀣ叽岌㪑戋䍥矞帣ᠴ튗ఖ뉾霔ꝏ능ߌ⌱䨝붫␝弜刎̘퉖꘰蕁꯿쥐皬漥銨슗꓋㽺폤嬀祪䯘䍜㖤뵰쯹삲쏊剒ǒ䳷鈳ԙ㒕月ᵤ갶둓ꁺ曬ೣ趵셩쒋╦蔙ᩨ钑椏셅쑥婾褄槛᳑㈻㇉ٺ꛼᫐쓋宛촸疆嶆ɯླ㆒‱ꐹ˫뷖唵材槚褂닪ሁ㡚裇유谁෴鶳砖᳟쎆刁塾멱笘쯳胺翿쁫찕뒷ⶸ㥃蚯纅䑗袏횻倗깺䴒糬拕觟䆯䖮悙잤޾颥撊溂ᷰ镦矚Þ얚鴥㏄顶궙Ԯ㺲鑁幭囚꤬仜⤐㭸鰲鹦緫잿徙ᦹꠅ뵠㴽床ꃿ䰮챁ꙑ禰܈鉀崗叭擮喟싏᫩⢬럵䶃늅㘂㦐䴜脻樝ꡎ㕩灯깋)샀뵲纛鰩顿柱癁쵞梣쩸㏌꺊䤵ཤḰ忋࿥垄呶鐆枏띁樭轩먷夳鮉鳓ퟚ씖ੵ䅃埸囅ꮴṗ穮뤕Ξக峒ׇ␡灋쿑Ȳ츼㸵繦ࡍ䃊杲܇ⱖ쪯滭₯伙ꀆꑟ䳮慸莿蔫鷠艦ᩚ昡㦱ተफ़뙇⫤躀싦ウ㤪润⦕碪㟱楇ና㊎졐⷟⭳ᱼ萅폕ⵌ䇞䗶鸯ᷬ醺諙ඩ럶砿Ừ䩞ʐ⢪癅⸓歝刜㌶ꃷ찭╩馣 ㅲ킵錋꣇⯎玍乾宻᧿ڥⱇ岌嶊譒鮿㇝뾓녹㣡䎻㏩ḅȪ鲦뙟덖硨덪刄峯涶䑗䜲鷼姍膸꒷㩷ࠧ⭿맏䰍⡼옋븀ᫍㅘ澛구ౠ䓟乆១ꁐ헆䳯잡仐Ǫ뙓헭춦毭诀ո홒⵮営뺐쀤馚웬◕㊋瑇ꦐ⚤Ήᔙ賜㹂였䘑ꅒ쭿⇉쑲哼ꞹ빌ᦉ겂湘呩ⶮ徴軘鑽昢巊쎎焥⥰ㅤ❡毬ᨦ閎쀐ⴞ栍퀽붆悂ึꢇᲫ럻섋턉䡘瑅빙콟ϛἨꀠ執ꥸ鷟鿶ᏂퟞꎩႫ㜎ឺ顨뚦ꁻ 鞳讦

 

Se você percebeu eu selecionei de outra cor um "Lineage2Ver413" esse 413 pode estar:412, 111 e etc.

Agora quando você for salvar antes de por qualquer protocolo você abre com o bloco de notas e vê qual número está ali para você salvar.

Se tiverem alguma duvida ainda faço um vídeo tutorial qualquer dia.

Editado por BanidoForever
Link para o comentário
Compartilhar em outros sites


Isso é um tutorial para a pessoa salvar da maneira certa , sem cometer erros , ou tem outra finalidade ? n entendi muito bem .

"A criança cresceu, o sonho acabou e eu fiquei confortavelmente entorpecido"

Link para o comentário
Compartilhar em outros sites

Isso é um tutorial para a pessoa salvar da maneira certa , sem cometer erros , ou tem outra finalidade ? n entendi muito bem .

É justamente pra isso. Assim à pessoa, salva os arquivos no formato certo, sem risco de salvar errado e acabar perdendo o arquivo.

Link para o comentário
Compartilhar em outros sites

Desencriptografia da system (413) é uma coisa .... protocolo da system é outra completamente diferente...

 

99% das system usa versão 413 para desencriptografar... e protocolo varia de acordo com as crônicas (atualizações)...

Editado por BossForever

Projeto privado Lindvior - Ertheia


Source Godworld.



Ertheia -- > http://www.l2jbrasil.com/index.php?/topic/107157-l2-beta-ertheia/&do=findComment&comment=673397

Link para o comentário
Compartilhar em outros sites

Desencriptografia da system (413) é uma coisa .... protocolo da system é outra completamente diferente...

 

99% das system usa versão 413 para desencriptografar... e protocolo varia de acordo com as crônicas (atualizações)...

e como acha o protocolo? que arquivo fica e que programa tem que usar, eu me interesso nisso, se puder responder.

Link para o comentário
Compartilhar em outros sites

e como acha o protocolo? que arquivo fica e que programa tem que usar, eu me interesso nisso, se puder responder.

facil... so criar arquivo .bat dentro da system e por para L2.bin ou L2.exe ( que tb pode ser o mesmo bin) ... sempre faço pelo .bin que vem na system limpa do oficial.......

 

 

@echo off

start L2.bin -L2ProtocolVersion

exit

 

 

OU

 

 

@echo off

start L2.exe -L2ProtocolVersion

exit

Editado por tlutino

Projeto privado Lindvior - Ertheia


Source Godworld.



Ertheia -- > http://www.l2jbrasil.com/index.php?/topic/107157-l2-beta-ertheia/&do=findComment&comment=673397

Link para o comentário
Compartilhar em outros sites

  • Registre-se

    Faça parte da maior e  mais antigas comunidades sobre Lineage2 da América Latina.





  • Patrocinadores

  • Quem Está Navegando

    • Nenhum usuário registrado visualizando esta página.
  • Posts

    • Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?     Teria como fazer do dusk shield e do zombie shield dessa maneira?    
    • muchas gracias muy lindos NPC 🙂
    • relaxa jovem gafanhoto, testa as quests. e posTa os erros indesejaveis.  
    • Se alguém pudesse me ensinar como codificar as missões, eu ficaria feliz em fazer isso sozinho ou pelo menos ajudar. Eu realmente quero jogar em um servidor onde todas as quests funcionem bem e melhor ainda se você puder fazer quests customizadas!
    • mas no interlude, nem todas as quests de class,  vai mostrar onde tem que ir, ate o reborn nao mostrava quando era interlude, só mostrou depois que eles colocaram client classic pra rodar, e ficou melhor ainda quando virou hellbound em diante, mas ha sim alguma chance de modificar isso direto no script para fazer igualmente, só basta te um pouco de paciencia e persistencia exato
    • 408_PathToElvenwizard dá Orion eu tive que mexer tbm, até modifiquei e consegui deixar ela igual do Classic, com a seta e a marcação no mapa. (não retail IL) Dá pra importar py de várias revs, o foda é que não da regular as quest py através do debug em tempo real, pelo menos eu não consegui rsrs
    • Hasta el momento todas las QUESTS son completables si te guias con un tutorial de youtube. El problema es que tienen bugs de locacion y de subquests que no avanzan o no te marcan correctamente a donde ir en el mapa, cosa que en Retail si se ve como corresponde.
    • estranho, mas pelo menos a galera nunca reclamo das quests quando tinha aberto 5x, geral fez class primeira e segunda job, poucos que compraram a class
    • en RUSaCis-3.5 data pack, las Quests estan en formato .java y son diferentes a como estan redactadas en jOrion y jFrozen 1.5 (ProyectX) package net.sf.l2j.gameserver.scripting.quest; import net.sf.l2j.commons.random.Rnd; import net.sf.l2j.gameserver.enums.Paperdoll; import net.sf.l2j.gameserver.enums.QuestStatus; import net.sf.l2j.gameserver.enums.actors.ClassId; import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.Player; import net.sf.l2j.gameserver.network.serverpackets.SocialAction; import net.sf.l2j.gameserver.scripting.QuestState; public class Q224_TestOfSagittarius extends SecondClassQuest { private static final String QUEST_NAME = "Q224_TestOfSagittarius"; // Items private static final int BERNARD_INTRODUCTION = 3294; private static final int HAMIL_LETTER_1 = 3295; private static final int HAMIL_LETTER_2 = 3296; private static final int HAMIL_LETTER_3 = 3297; private static final int HUNTER_RUNE_1 = 3298; private static final int HUNTER_RUNE_2 = 3299; private static final int TALISMAN_OF_KADESH = 3300; private static final int TALISMAN_OF_SNAKE = 3301; private static final int MITHRIL_CLIP = 3302; private static final int STAKATO_CHITIN = 3303; private static final int REINFORCED_BOWSTRING = 3304; private static final int MANASHEN_HORN = 3305; private static final int BLOOD_OF_LIZARDMAN = 3306; private static final int CRESCENT_MOON_BOW = 3028; private static final int WOODEN_ARROW = 17; // Rewards private static final int MARK_OF_SAGITTARIUS = 3293; // NPCs private static final int BERNARD = 30702; private static final int HAMIL = 30626; private static final int SIR_ARON_TANFORD = 30653; private static final int VOKIAN = 30514; private static final int GAUEN = 30717; // Monsters private static final int ANT = 20079; private static final int ANT_CAPTAIN = 20080; private static final int ANT_OVERSEER = 20081; private static final int ANT_RECRUIT = 20082; private static final int ANT_PATROL = 20084; private static final int ANT_GUARD = 20086; private static final int NOBLE_ANT = 20089; private static final int NOBLE_ANT_LEADER = 20090; private static final int BREKA_ORC_SHAMAN = 20269; private static final int BREKA_ORC_OVERLORD = 20270; private static final int MARSH_STAKATO_WORKER = 20230; private static final int MARSH_STAKATO_SOLDIER = 20232; private static final int MARSH_STAKATO_DRONE = 20234; private static final int MARSH_SPIDER = 20233; private static final int ROAD_SCAVENGER = 20551; private static final int MANASHEN_GARGOYLE = 20563; private static final int LETO_LIZARDMAN = 20577; private static final int LETO_LIZARDMAN_ARCHER = 20578; private static final int LETO_LIZARDMAN_SOLDIER = 20579; private static final int LETO_LIZARDMAN_WARRIOR = 20580; private static final int LETO_LIZARDMAN_SHAMAN = 20581; private static final int LETO_LIZARDMAN_OVERLORD = 20582; private static final int SERPENT_DEMON_KADESH = 27090; public Q224_TestOfSagittarius() { super(224, "Test Of Sagittarius"); setItemsIds(BERNARD_INTRODUCTION, HAMIL_LETTER_1, HAMIL_LETTER_2, HAMIL_LETTER_3, HUNTER_RUNE_1, HUNTER_RUNE_2, TALISMAN_OF_KADESH, TALISMAN_OF_SNAKE, MITHRIL_CLIP, STAKATO_CHITIN, REINFORCED_BOWSTRING, MANASHEN_HORN, BLOOD_OF_LIZARDMAN, CRESCENT_MOON_BOW); addQuestStart(BERNARD); addTalkId(BERNARD, HAMIL, SIR_ARON_TANFORD, VOKIAN, GAUEN); addMyDying(ANT, ANT_CAPTAIN, ANT_OVERSEER, ANT_RECRUIT, ANT_PATROL, ANT_GUARD, NOBLE_ANT, NOBLE_ANT_LEADER, BREKA_ORC_SHAMAN, BREKA_ORC_OVERLORD, MARSH_STAKATO_WORKER, MARSH_STAKATO_SOLDIER, MARSH_STAKATO_DRONE, MARSH_SPIDER, ROAD_SCAVENGER, MANASHEN_GARGOYLE, LETO_LIZARDMAN, LETO_LIZARDMAN_ARCHER, LETO_LIZARDMAN_SOLDIER, LETO_LIZARDMAN_WARRIOR, LETO_LIZARDMAN_SHAMAN, LETO_LIZARDMAN_OVERLORD, SERPENT_DEMON_KADESH); } @Override public String onAdvEvent(String event, Npc npc, Player player) { String htmltext = event; QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; // BERNARD if (event.equalsIgnoreCase("30702-04.htm")) { st.setState(QuestStatus.STARTED); st.setCond(1); playSound(player, SOUND_ACCEPT); giveItems(player, BERNARD_INTRODUCTION, 1); if (giveDimensionalDiamonds39(player)) htmltext = "30702-04a.htm"; } // HAMIL else if (event.equalsIgnoreCase("30626-03.htm")) { st.setCond(2); playSound(player, SOUND_MIDDLE); takeItems(player, BERNARD_INTRODUCTION, 1); giveItems(player, HAMIL_LETTER_1, 1); } else if (event.equalsIgnoreCase("30626-07.htm")) { st.setCond(5); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_1, 10); giveItems(player, HAMIL_LETTER_2, 1); } // SIR_ARON_TANFORD else if (event.equalsIgnoreCase("30653-02.htm")) { st.setCond(3); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_1, 1); } // VOKIAN else if (event.equalsIgnoreCase("30514-02.htm")) { st.setCond(6); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_2, 1); } return htmltext; } @Override public String onTalk(Npc npc, Player player) { String htmltext = getNoQuestMsg(); QuestState st = player.getQuestList().getQuestState(QUEST_NAME); if (st == null) return htmltext; switch (st.getState()) { case CREATED: if (player.getClassId() != ClassId.ROGUE && player.getClassId() != ClassId.ELVEN_SCOUT && player.getClassId() != ClassId.ASSASSIN) htmltext = "30702-02.htm"; else if (player.getStatus().getLevel() < 39) htmltext = "30702-01.htm"; else htmltext = "30702-03.htm"; break; case STARTED: int cond = st.getCond(); switch (npc.getNpcId()) { case BERNARD: htmltext = "30702-05.htm"; break; case HAMIL: if (cond == 1) htmltext = "30626-01.htm"; else if (cond == 2 || cond == 3) htmltext = "30626-04.htm"; else if (cond == 4) htmltext = "30626-05.htm"; else if (cond > 4 && cond < 8) htmltext = "30626-08.htm"; else if (cond == 8) { htmltext = "30626-09.htm"; st.setCond(9); playSound(player, SOUND_MIDDLE); takeItems(player, HUNTER_RUNE_2, 10); giveItems(player, HAMIL_LETTER_3, 1); } else if (cond > 8 && cond < 12) htmltext = "30626-10.htm"; else if (cond == 12) { htmltext = "30626-11.htm"; st.setCond(13); playSound(player, SOUND_MIDDLE); } else if (cond == 13) htmltext = "30626-12.htm"; else if (cond == 14) { htmltext = "30626-13.htm"; takeItems(player, BLOOD_OF_LIZARDMAN, -1); takeItems(player, CRESCENT_MOON_BOW, 1); takeItems(player, TALISMAN_OF_KADESH, 1); giveItems(player, MARK_OF_SAGITTARIUS, 1); rewardExpAndSp(player, 54726, 20250); player.broadcastPacket(new SocialAction(player, 3)); playSound(player, SOUND_FINISH); st.exitQuest(false); } break; case SIR_ARON_TANFORD: if (cond == 2) htmltext = "30653-01.htm"; else if (cond > 2) htmltext = "30653-03.htm"; break; case VOKIAN: if (cond == 5) htmltext = "30514-01.htm"; else if (cond == 6) htmltext = "30514-03.htm"; else if (cond == 7) { htmltext = "30514-04.htm"; st.setCond(8); playSound(player, SOUND_MIDDLE); takeItems(player, TALISMAN_OF_SNAKE, 1); } else if (cond > 7) htmltext = "30514-05.htm"; break; case GAUEN: if (cond == 9) { htmltext = "30717-01.htm"; st.setCond(10); playSound(player, SOUND_MIDDLE); takeItems(player, HAMIL_LETTER_3, 1); } else if (cond == 10) htmltext = "30717-03.htm"; else if (cond == 11) { htmltext = "30717-02.htm"; st.setCond(12); playSound(player, SOUND_MIDDLE); takeItems(player, MANASHEN_HORN, 1); takeItems(player, MITHRIL_CLIP, 1); takeItems(player, REINFORCED_BOWSTRING, 1); takeItems(player, STAKATO_CHITIN, 1); giveItems(player, CRESCENT_MOON_BOW, 1); giveItems(player, WOODEN_ARROW, 10); } else if (cond > 11) htmltext = "30717-04.htm"; break; } break; case COMPLETED: htmltext = getAlreadyCompletedMsg(); break; } return htmltext; } @Override public void onMyDying(Npc npc, Creature killer) { final Player player = killer.getActingPlayer(); final QuestState st = checkPlayerState(player, npc, QuestStatus.STARTED); if (st == null) return; switch (npc.getNpcId()) { case ANT: case ANT_CAPTAIN: case ANT_OVERSEER: case ANT_RECRUIT: case ANT_PATROL: case ANT_GUARD: case NOBLE_ANT: case NOBLE_ANT_LEADER: if (st.getCond() == 3 && dropItems(player, HUNTER_RUNE_1, 1, 10, 500000)) st.setCond(4); break; case BREKA_ORC_SHAMAN: case BREKA_ORC_OVERLORD: if (st.getCond() == 6 && dropItems(player, HUNTER_RUNE_2, 1, 10, 500000)) { st.setCond(7); giveItems(player, TALISMAN_OF_SNAKE, 1); } break; case MARSH_STAKATO_WORKER: case MARSH_STAKATO_SOLDIER: case MARSH_STAKATO_DRONE: if (st.getCond() == 10 && dropItems(player, STAKATO_CHITIN, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, REINFORCED_BOWSTRING)) st.setCond(11); break; case MARSH_SPIDER: if (st.getCond() == 10 && dropItems(player, REINFORCED_BOWSTRING, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case ROAD_SCAVENGER: if (st.getCond() == 10 && dropItems(player, MITHRIL_CLIP, 1, 1, 100000) && player.getInventory().hasItems(MANASHEN_HORN, REINFORCED_BOWSTRING, STAKATO_CHITIN)) st.setCond(11); break; case MANASHEN_GARGOYLE: if (st.getCond() == 10 && dropItems(player, MANASHEN_HORN, 1, 1, 100000) && player.getInventory().hasItems(REINFORCED_BOWSTRING, MITHRIL_CLIP, STAKATO_CHITIN)) st.setCond(11); break; case LETO_LIZARDMAN: case LETO_LIZARDMAN_ARCHER: case LETO_LIZARDMAN_SOLDIER: case LETO_LIZARDMAN_WARRIOR: case LETO_LIZARDMAN_SHAMAN: case LETO_LIZARDMAN_OVERLORD: if (st.getCond() == 13) { if (((player.getInventory().getItemCount(BLOOD_OF_LIZARDMAN) - 120) * 5) > Rnd.get(100)) { playSound(player, SOUND_BEFORE_BATTLE); takeItems(player, BLOOD_OF_LIZARDMAN, -1); addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } else dropItemsAlways(player, BLOOD_OF_LIZARDMAN, 1, 0); } break; case SERPENT_DEMON_KADESH: if (st.getCond() == 13) { if (player.getInventory().getItemIdFrom(Paperdoll.RHAND) == CRESCENT_MOON_BOW) { st.setCond(14); playSound(player, SOUND_MIDDLE); giveItems(player, TALISMAN_OF_KADESH, 1); } else addSpawn(SERPENT_DEMON_KADESH, player, false, 300000, true); } break; } } }  
×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.