Jump to content

Ridley

Administrators
  • Content Count

    1157
  • Joined

  • Last visited

  • Days Won

    86

Reputation Activity

  1. Upvote
    Ridley reacted to Haru in [2016-04-24] Visual Studio 2015 fully supported (and Visual Studio 2010 dropped)   
    Rationale:
    This is according to our Supported Platforms policy.
     
    For an overview of supported OSes and compilers, please see the wiki page https://github.com/HerculesWS/Hercules/wiki/Supported-Platforms
     
    Contents:
    VS2015 is our primary target compiler on Windows, and this merge removes all the warnings that were present when compiling with that version of Visual Studio.
    VS2010 isn't one of our supported platforms (and hasn't been for a while), so maintaining its solution inside the repository adds unnecessary work to the dev team.
     
    Impact:
    While it's currently still possible to build on VS2010 (download the files `Hercules-10.sln` and `vcproj-10/*` from an older snapshot of the repository such as https://github.com/HerculesWS/Hercules/tree/bbcb040 and put them in your Hercules directory), we offer no support for any build issues causd by future commits, nor we'll update the project/solution files.
     
    Merge Date:
    Sun, 24 Apr 2016 13:13:19 +0200
     
    Related Pull Requests:
    - #1264 - https://github.com/HerculesWS/Hercules/pull/1264 - V2015 improved compatibility and dropped VS2010 solution [Haru]
     
    Related Commits:
     
    - a92fa36 - https://github.com/HerculesWS/Hercules/commit/a92fa36 - Sun, 17 Apr 2016 13:37:08 +0200 Updated README file [Haru]
    - e69e8c5 - https://github.com/HerculesWS/Hercules/commit/e69e8c5 - Sun, 17 Apr 2016 13:43:30 +0200 Removed VS2010 project [Haru]
    - 3af03d2 - https://github.com/HerculesWS/Hercules/commit/3af03d2 - Tue, 19 Apr 2016 11:32:04 +0200 Improved parsing of the server name/port in the irc bot configuration [Haru]
    - 2b1dce1 - https://github.com/HerculesWS/Hercules/commit/2b1dce1 - Tue, 19 Apr 2016 15:26:36 +0200 Changed map_session_data::chatID to int (and renamed to chat_id) [Haru]
    - dc23fd3 - https://github.com/HerculesWS/Hercules/commit/dc23fd3 - Tue, 19 Apr 2016 16:31:57 +0200 Corrected the type for several variables through the code [Haru]
    - e4feddf - https://github.com/HerculesWS/Hercules/commit/e4feddf - Wed, 20 Apr 2016 15:40:19 +0200 Corrected the type of the 'length' argument of various broadcast-related functions [Haru]
    - d7ffa6a - https://github.com/HerculesWS/Hercules/commit/d7ffa6a - Wed, 20 Apr 2016 17:06:18 +0200 Removed the 'len' argument from clif_disp_onlyself() and clif->disp_message() [Haru]
    - 4788c81 - https://github.com/HerculesWS/Hercules/commit/4788c81 - Thu, 21 Apr 2016 20:38:18 +0200 Removed the 'len' argument from various message-related functions [Haru]
    - f5b88f9 - https://github.com/HerculesWS/Hercules/commit/f5b88f9 - Wed, 20 Apr 2016 17:23:03 +0200 Corrected the type of the 'length' argument of other message-related functions [Haru]
    - 9e58db4 - https://github.com/HerculesWS/Hercules/commit/9e58db4 - Wed, 20 Apr 2016 17:24:37 +0200 Added some files specific to VS2015 (Update 2) to gitignore [Haru]
    - 9fdb456 - https://github.com/HerculesWS/Hercules/commit/9fdb456 - Thu, 21 Apr 2016 20:57:56 +0200 HPM Hooks Update [Haru]
    - 31e27a1 - https://github.com/HerculesWS/Hercules/commit/31e27a1 - Sun, 24 Apr 2016 13:13:19 +0200 Merge pull request #1264 from HerculesWS/vs2015 [ibrahem Hossam]
  2. Upvote
    Ridley reacted to Daifuku in [Freebies] - Facebook Banner and Profile Picture with Logo Font   
    File Name: [Freebies] - Facebook Banner and Profile Picture with Logo Font
    File Submitter: Daifuku
    File Submitted: 23 Apr 2016
    File Category: Other Graphics
     

     
    Click here to download this file
  3. Upvote
    Ridley got a reaction from Maple in Event PacPoring   
    Note ID 2506 (your custom mob) is already in use (E_KING_DRAMOH)
    I think 2126 is currently free to use
     
    //===== brAthena ============================================= //= Pac Poring //===== By: ================================================== //= Thor //===== Versão: ============================================== //= 2.0 //===== Compativél com: ====================================== //= brAthena //===== Descrição: =========================================== // // = 1.2: um nome fixo errado de NPC // = 1.3: Substituição de mobs ID // = 2.0: Alterado Nome do NPC para "Jelloping" Limpeza nos script // e corrigido bugs que me informaram por e-mail! // //===== Comentários Adicionais: ================================= // // Você é livre para modificá-lo como quiser! sem remover os // direitos do criador! // //================================================ ============ // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////// Implantação //////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // // * Em mob_db2, adicione: () // /* { Id: 2506 SpriteName: "DROPS" Name: "Aprendiz" Lv: 3 Hp: 55 Sp: 0 Exp: 4 JExp: 3 AttackRange: 1 Attack: [10, 13] Def: 0 Mdef: 0 Stats: { Str: 1 Agi: 3 Vit: 3 Int: 0 Dex: 12 Luk: 15 } ViewRange: 10 ChaseRange: 12 Size: "Size_Small" Race: "RC_Plant" Element: ("Ele_Fire", 2) Mode: { CanMove: true Looter: true CanAttack: true } MoveSpeed: 400 AttackDelay: 1372 AttackMotion: 672 DamageMotion: 480 MvpExp: 0 Drops: { Jellopy: 7500 Rod_: 80 Sticky_Mucus: 500 Apple: 1100 Empty_Bottle: 1700 Apple: 800 Orange_Juice: 20 } }, ) */ // * Em mob_avail, adicione: // // 2506,0,1,1,0,1201,0,0,0,0,0,0 // // * Em maps_athena.conf, adicione: // // map: poring_s01 // map: prontera // map: poring_s03 // // * Em map_index.txt, adicione: // // poring_s01 // prontera // poring_s03 // // * Em fogparametertable.txt, adicione: // // prontera.rsw# // 0.2# // 0.8# // 0x22ffccff# // 0.5# // poring_s01.rsw# // 0.23# // 0.9# // 0xffffffff# // 0.3# // poring_s03.rsw# // 0.1# // 0.1# // 0xffAA7755# // 0.1# // // * Em mapnametable.txt, adicione: // // poring_s01.rsw#PacPoring # // prontera.rsw#PacPoring # // poring_s03.rsw#PacPoring # // /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// poring_s01,21,224,4 script Jelloping#pacporing 4_PORING,{ if (getgmlevel() >= .pacpopogmlevel) { mes "^BF0073[Jelloping]^000000"; mes "O que você faz?"; next; menu "Modo Player",-,"Resetar Ranking",L_reset; } mes "^BF0073[Jelloping]^000000"; mes "O Jellopy gigantes! O Jellopy gigantes em toda parte!"; next; mes "^BF0073[Jelloping]^000000"; mes "Eu não sei o que eu daria para voltar para aquele lugar ... Se apenas não havia todos estes monstros ..."; next; menu "Regras",L_regles,"Ranking",L_scores,"Prêmios",L_reward,"Sair",L_leave; close; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////// Configuração //////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// OnInit: $@pacporingSpeedD = 100; // Base de velocidade para mover multidões (que automaticamente aumenta em 3% por nível) .pacpopogmlevel = 60; // O nível mínimo para acessar o menu GM. $@pacpopotradeID = 7539; // ID do objeto para trocar os contras de résompenses (padrão: Poring Coin: 1, ganhou em cada nível) $@pacpopotradeNom$ = "Poring Coin"; // Nome do objeto .pacpopotradeNum = 3; // Numeros de $@pacpopotradeID necessários para trocar uma recompensa .recomp[1] = 0; // ID do primeiro prêmio .recomp$[1] = ""; // nome do prêmio .recomp[2] = 0; // ID do segundo prêmio .recomp$[2] = ""; // etc... .recomp[3] = 0; .recomp$[3] = ""; .recomp[4] = 0; .recomp$[4] = ""; .recomp[5] = 0; .recomp$[5] = ""; .recomp[6] = 0; .recomp$[6] = ""; .recomp[7] = 0; .recomp$[7] = ""; .recomp[8] = 0; .recomp$[8] = ""; .recomp[9] = 0; .recomp$[9] = ""; .recomp[10] = 0; .recomp$[10] = ""; end; /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// L_leave: warp "prt_fild08",158,325; end; L_reward: mes "^BF0073[Jelloping]^000000"; mes "Eu posso compartilhar alguns contras recompensas "+.pacpopotradeNum+" "+$@pacpopotradeNom$+"s, você pode ganhar em cada passagem de nível."; mes "Que recompensa você quer?"; next; switch(select(.recomp$[1],.recomp$[2],.recomp$[3],.recomp$[4],.recomp$[5],.recomp$[6],.recomp$[7],.recomp$[8],.recomp$[9],.recomp$[10],Cancelar)) { case 11: mes "^BF0073[Jelloping]^000000"; mes "Como quiser!"; close; default: mes "^BF0073[Jelloping]^000000"; if ( countitem($@pacpopotradeID) < .pacpopotradeNum ) { mes "Ah, me desculpe, mas você não tem o suficiente "+$@pacpopotradeNom$+"s. e "+.pacpopotradeNum+" pela recompensa!"; close; } mes "E isto é para você!"; getitem .recomp[@menu],1; delitem $@pacpopotradeID,.pacpopotradeNum; } close; L_regles: mes "^BF0073[Jelloping]^000000"; mes "O objectivo é simples: basta engolir os mais gigantes Jellopies possível, evitando os Aprendizes que querem matá-lo, a única maneira de escapar deles é a engolir um dos bônus que te faz invencível."; next; mes "^BF0073[Jelloping]^000000"; mes "A Cada Jellopy vale 1 pointo."; mes "Se você conseguir matar um Aprendiz, você ganha 5 pontos extra."; mes "Complete um nível por nível de 20 pontos."; mes "Em cada novo nível, o número de pontos atribuídos por aumentos Jellopy até 1."; next; mes "^BF0073[Jelloping]^000000"; mes "E agora, sua vez agora!"; close; L_scores: mes "^BF0073[Recordes]^000000"; mes "Posição 1: "+$pacpopoNom1$+" com "+$pacpopoRecord1+" pontos."; mes "Posição 2: "+$pacpopoNom2$+" com "+$pacpopoRecord2+" pontos."; mes "Posição 3: "+$pacpopoNom3$+" com "+$pacpopoRecord3+" pontos."; mes "Posição 4: "+$pacpopoNom4$+" com "+$pacpopoRecord4+" pontos."; mes "Posição 5: "+$pacpopoNom5$+" com "+$pacpopoRecord5+" pontos."; close; L_reset: next; menu "Redefinir os últimos 4 lugares",L_reset3,"Restar tudo",-; $pacpopoNom1$ = "Pessoa"; $pacpopoRecord1 = 0; L_reset3: $pacpopoNom2$ = "Pessoa"; $pacpopoRecord2 = 0; $pacpopoNom3$ = "Pessoa"; $pacpopoRecord3 = 0; $pacpopoNom4$ = "Pessoa"; $pacpopoRecord4 = 0; $pacpopoNom5$ = "Pessoa"; $pacpopoRecord5 = 0; close; OnTimer180000: if (!$@tempPacPoringEvent) { stopnpctimer; end; } if ($@PacPoringCount <= .PacPoringCount) { areaannounce $@pacporinglvl$,76,24,161,132,"Parece que você está dormindo...",bc_blue; donpcevent "Stomring#pacporingConfig::OnEnable"; stopnpctimer; end; } .PacPoringCount = $@PacPoringCount; OnCommenceTimer: initnpctimer; end; } poring_s01,17,223,4 script Stomring#pacporingConfig 4_PORING,{ end; L_meilleurScore: mapannounce $@pacporinglvl$,"Parabéns ao "+strcharinfo(0)+" que acaba de bater um recorde!",bc_all; .@i = 5; L_meilleurScoreLoop: if (getarg(0)==.@i) { set getd("$pacpopoRecord"+.@i), $@pacporingtotalscore; set getd("$pacpopoNom"+.@i+"$"), strcharinfo(0); return; } else { set getd("$pacpopoRecord"+.@i), getd("$pacpopoRecord"+(.@i-1)); set getd("$pacpopoNom"+.@i+"$"), ("$pacpopoNom"+(.@i-1)+"$"); } if (.@i==1) return; .@i = .@i-1; goto L_meilleurScoreLoop; OnCestFini: $@tempPacPoringEvent = 0; donpcevent "::Onbooumpacpopo"; OnCestFini2: if (!isloggedin($@pacporingrid)) goto OnEnable; attachrid($@pacporingrid); $@pacporingtotalscore = $@pacporingtotalscore+$@PacPoringCount; areaannounce $@pacporinglvl$,76,24,161,132,"Sua pontuação é de "+$@pacporingtotalscore+" pontos!",bc_blue; if ($@pacporingtotalscore>$pacpopoRecord1) callsub L_meilleurScore,1; else if ($@pacporingtotalscore>$pacpopoRecord2) callsub L_meilleurScore,2; else if ($@pacporingtotalscore>$pacpopoRecord3) callsub L_meilleurScore,3; else if ($@pacporingtotalscore>$pacpopoRecord4) callsub L_meilleurScore,4; else if ($@pacporingtotalscore>$pacpopoRecord5) callsub L_meilleurScore,5; OnEnable: donpcevent "::OnPacPoringEnable"; goto OnEnableNext; OnInit: areawarp $@pacporinglvl$,76,24,161,132,"poring_s01",18,217; setarray $@pacpopononoX[1],144,158,119,80,93,144; setarray $@pacpopononoY[1],118,77,80,77,39,39; waitingroom "PacPoring - Sala de Espera",10,"Stomring#pacporingConfig::OnWaitStart",1; donpcevent "::OnPacPoringEnable"; goto OnEnableNext2; OnEnableNextWin: $@tempPacPoringEvent = 0; .@tempscore = 20*$@pacporinglvl; $@pacporingtotalscore = $@pacporingtotalscore+.@tempscore; areaannounce $@pacporinglvl$,76,24,161,132,"Parabéns, você comeu o último Jellopy (+"+.@tempscore+" pontos)!",bc_blue; if (!isloggedin($@pacporingrid)) { donpcevent "Stomring#pacporingConfig::OnEnable"; end; } attachrid($@pacporingrid); // recompensa inserir aqui getitem $@pacpopotradeID,1; sleep 1000; $@pacporinglvl = $@pacporinglvl+1; .@j = $@pacporinglvl%3; if (!.@j) set .@j,3; $@pacporinglvl$ = "poring_s0"+.@j; $@pacporingPoints = $@pacporingPoints+1; $@pacporingSpeed = $@pacporingSpeed-(($@pacporingSpeed*3)/100); if ($@pacporingSpeed<25) set $@pacporingSpeed,25; $@pacporingtotalscore = $@pacporingtotalscore+$@PacPoringCount; $@PacPoringCount = 0; areaannounce $@pacporinglvl$,76,24,161,132,"[ Nível "+$@pacporinglvl+" ]",bc_blue; sleep2 3000; if ($@pacporinglvl%3==1) .@k$ = ""; if ($@pacporinglvl%3==2) .@k$ = "2"; if ($@pacporinglvl%3==0) .@k$ = "3"; donpcevent "#pacporingbonus1"+.@k$+"::OnEnable"; donpcevent "#pacporingbonus2"+.@k$+"::OnEnable"; donpcevent "#pacporingbonus3"+.@k$+"::OnEnable"; donpcevent "::OnEnableNonopac"; if (!isloggedin($@pacporingrid)) { donpcevent "Stomring#pacporingConfig::OnEnable"; end; } attachrid($@pacporingrid); warp $@pacporinglvl$,118,119; $@tempPacPoringEvent = 1; if ($@pacPoringTer==3) $@pacPoringTer = 0; $@pacPoringTer = $@pacPoringTer+1; switch($@pacPoringTer) { case 1: donpcevent "::OnPacPoringEnable"; break; case 2: donpcevent "::On2PacPoringEnable"; break; case 3: donpcevent "::On3PacPoringEnable"; break; } end; OnRunAway: donpcevent "::OnEnableNonopac"; end; OnEnableNext: sleep 5000; OnEnableNextWin2: if (isloggedin($@pacporingrid)) { attachrid($@pacporingrid); atcommand "@speed 150"; undisguise; if (!Hp) atcommand "@alive"; } OnEnableNext2: donpcevent "::OnEnableNonopac"; $@PacPoringEvent = 0; $@tempPacPoringEvent = 0; $@PacPoringCount = 0; $@pacporingtotalscore = 0; $@pacporinglvl = 1; $@pacporinglvl$ = "poring_s01"; $@pacporingPoints = 1; $@pacporingSpeed = $@pacporingSpeedD; donpcevent "#pacporingbonus0::OnBonusOver"; areawarp $@pacporinglvl$,76,24,161,132,"poring_s01",18,217; initnpctimer; end; OnTimer10000: initnpctimer; if (getwaitingroomstate(0) && !$@PacPoringEvent) goto L_warp; end; OnWaitStart: if ($@PacPoringEvent) end; L_warp: $@pacPoringTer = 1; donpcevent "::OnEnablePacBonus"; donpcevent "::OnEnableNonopac"; $@PacPoringEvent = 1; $@tempPacPoringEvent = 1; $@PacPoringCount = 0; donpcevent "::OnPacPoringEnable"; warpwaitingpc "poring_s01",118,119,1; $@pacporingrid = $@warpwaitingpc[0]; attachrid($@warpwaitingpc[0]); $@pacporingName$ = rid2name($@warpwaitingpc[0]); misceffect 52; disguise 1002; atcommand "@speed 90"; doevent "Jelloping#pacporing::OnCommenceTimer"; end; } poring_s01,144,118,1 script Aprendiz::pacporing1 Aprendiz,1,1,{ end; OnTouch: if (!$@tempPacPoringEvent) { stopnpctimer; end; } if ($@pacpopoinvincible) { emotion 21,1; misceffect 20; disablenpc strnpcinfo(3); $@pacporingtotalscore = $@pacporingtotalscore+5; stopnpctimer; sleep 30000; enablenpc strnpcinfo(3); movenpc strnpcinfo(3),getd(".x"+strnpcinfo(3)),getd(".y"+strnpcinfo(3)); npcspeed $@pacporingSpeed; initnpctimer; } else donpcevent "Stomring#pacporingConfig::OnCestFini"; end; OnInit: getmapxy(getd(".m$"+strnpcinfo(3)),getd(".x"+strnpcinfo(3)),getd(".y"+strnpcinfo(3)),1); end; OnEnableNonopac: getmapxy(.@m$,.@x,.@x,1); if ( $@pacporinglvl$ != .@m$ ) end; enablenpc strnpcinfo(3); movenpc strnpcinfo(3),getd(".x"+strnpcinfo(3)),getd(".y"+strnpcinfo(3)); npcspeed $@pacporingSpeed; initnpctimer; end; OnTimer500: if (!$@tempPacPoringEvent) { stopnpctimer; end; } if ($@pacpopoinvincible) goto L_invincible; getmapxy(.@maplocation$,.@Xlocation,.@Ylocation,0,rid2name($@pacporingrid)); npcwalkto .@Xlocation,.@Ylocation; initnpctimer; end; L_invincible: // O jogador é invencível,(que se movem aleatoriamente) getmapxy(.@maplocation$,.@Xlocation,.@Ylocation,1); .@Xlocation2 = rand(5); .@Ylocation2 = rand(5); .@Xlocation = .@Xlocation+.@Xlocation2; .@Ylocation = .@Ylocation+.@Ylocation2; if (checkcell(.@maplocation$,.@Xlocation,.@Ylocation,cell_walkable)) goto L_invincible; npcwalkto .@Xlocation,.@Ylocation; initnpctimer; end; Onbooumpacpopo: misceffect 1; stopnpctimer; if (!isloggedin($@pacporingrid)) end; attachrid($@pacporingrid); getmapxy(.@m$,.@x,.@y,1); npcskilleffect 5,0,.@x,.@y; percentheal -100,0; heal -1,0; emotion 32,1; end; } poring_s01,158,77,1 duplicate(pacporing1) Aprendiz::pacporing2 Aprendiz,1,1 poring_s01,119,80,1 duplicate(pacporing1) Aprendiz::pacporing3 Aprendiz,1,1 poring_s01,80,77,1 duplicate(pacporing1) Aprendiz::pacporing4 Aprendiz,1,1 poring_s01,93,39,1 duplicate(pacporing1) Aprendiz::pacporing5 Aprendiz,1,1 poring_s01,144,39,1 duplicate(pacporing1) Aprendiz::pacporing6 Aprendiz,1,1 poring_s02,144,118,1 duplicate(pacporing1) Fantasma::pacporing12 WHISPER_BOSS,1,1 poring_s02,158,77,1 duplicate(pacporing1) Fantasma::pacporing22 WHISPER_BOSS,1,1 poring_s02,119,80,1 duplicate(pacporing1) Fantasma::pacporing32 WHISPER_BOSS,1,1 poring_s02,80,77,1 duplicate(pacporing1) Fantasma::pacporing42 WHISPER_BOSS,1,1 poring_s02,93,39,1 duplicate(pacporing1) Fantasma::pacporing52 WHISPER_BOSS,1,1 poring_s02,144,39,1 duplicate(pacporing1) Fantasma::pacporing62 WHISPER_BOSS,1,1 poring_s03,144,118,1 duplicate(pacporing1) Kasa::pacporing13 KASA,1,1 poring_s03,158,77,1 duplicate(pacporing1) Kasa::pacporing23 KASA,1,1 poring_s03,119,80,1 duplicate(pacporing1) Kasa::pacporing33 KASA,1,1 poring_s03,80,77,1 duplicate(pacporing1) Kasa::pacporing43 KASA,1,1 poring_s03,93,39,1 duplicate(pacporing1) Kasa::pacporing53 KASA,1,1 poring_s03,144,39,1 duplicate(pacporing1) Kasa::pacporing63 KASA,1,1 poring_s01,1,1,1 script #pacporingbonus0 FAKE_NPC,{ end; OnBonus: if (!$@PacPoringEvent) end; initnpctimer; if ($@pacpopoinvincible) { areaannounce $@pacporinglvl$,76,24,161,132,"Bônus! Agora você está invencível por mais 10 segundos!",bc_blue; end; } areaannounce $@pacporinglvl$,76,24,161,132,"Bônus! Agora você está invencível por 10 segundos!",bc_blue; $@pacpopoinvincible = 1; if (!isloggedin($@pacporingrid)) end; attachrid($@pacporingrid); misceffect 35; end; OnTimer9000: areaannounce $@pacporinglvl$,76,24,161,132,"Atenção! Voltar ao normal em 1 segundo!",bc_blue; end; OnTimer10000: if (isloggedin($@pacporingrid)) { attachrid($@pacporingrid); disguise 1002; misceffect 52; soundeffect "poring_die.wav",0; } OnBonusOver: $@pacpopoinvincible = 0; stopnpctimer; end; } poring_s01,137,78,1 script #pacporingbonus1 CRYSTAL_6,2,2,{ end; OnTouch: disguise 1582; donpcevent "#pacporingbonus0::OnBonus"; disablenpc strnpcinfo(3); end; OnEnablePacBonus: enablenpc strnpcinfo(3); end; } poring_s01,100,78,1 duplicate(#pacporingbonus1) #pacporingbonus2 CRYSTAL_6,2,2 poring_s01,119,38,1 duplicate(#pacporingbonus1) #pacporingbonus3 CRYSTAL_6,2,2 poring_s02,137,78,1 duplicate(#pacporingbonus1) #pacporingbonus12 CRYSTAL_6,2,2 poring_s02,100,78,1 duplicate(#pacporingbonus1) #pacporingbonus22 CRYSTAL_6,2,2 poring_s02,119,38,1 duplicate(#pacporingbonus1) #pacporingbonus32 CRYSTAL_6,2,2 poring_s03,137,78,1 duplicate(#pacporingbonus1) #pacporingbonus13 CRYSTAL_6,2,2 poring_s03,100,78,1 duplicate(#pacporingbonus1) #pacporingbonus23 CRYSTAL_6,2,2 poring_s03,119,38,1 duplicate(#pacporingbonus1) #pacporingbonus33 CRYSTAL_6,2,2 poring_s01,1,1,1 script #pacporing0 FAKE_NPC,3,3,{ end; OnTouch: if (!$@PacPoringEvent) end; misceffect 52; soundeffect "siroma_move.wav",0; $@PacPoringCount = $@PacPoringCount+1*$@pacporingPoints; if ($@PacPoringCount == 103*$@pacporingPoints) doevent "Stomring#pacporingConfig::OnEnableNextWin"; emotion 3,1; OnPacPoringDisable: disablenpc strnpcinfo(3); end; OnPacPoringEnable: enablenpc strnpcinfo(3); end; } poring_s01,104,26,1 duplicate(#pacporing0) #pacporing1 CRYSTAL_7,2,2 poring_s01,109,26,1 duplicate(#pacporing0) #pacporing2 CRYSTAL_7,2,2 poring_s01,115,26,1 duplicate(#pacporing0) #pacporing3 CRYSTAL_7,2,2 poring_s01,121,26,1 duplicate(#pacporing0) #pacporing4 CRYSTAL_7,2,2 poring_s01,127,26,1 duplicate(#pacporing0) #pacporing5 CRYSTAL_7,2,2 poring_s01,133,26,1 duplicate(#pacporing0) #pacporing6 CRYSTAL_7,2,2 poring_s01,104,51,1 duplicate(#pacporing0) #pacporing7 CRYSTAL_7,2,2 poring_s01,109,51,1 duplicate(#pacporing0) #pacporing8 CRYSTAL_7,2,2 poring_s01,115,51,1 duplicate(#pacporing0) #pacporing9 CRYSTAL_7,2,2 poring_s01,121,51,1 duplicate(#pacporing0) #pacporing10 CRYSTAL_7,2,2 poring_s01,127,51,1 duplicate(#pacporing0) #pacporing11 CRYSTAL_7,2,2 poring_s01,133,51,1 duplicate(#pacporing0) #pacporing12 CRYSTAL_7,2,2 poring_s01,104,45,1 duplicate(#pacporing0) #pacporing13 CRYSTAL_7,2,2 poring_s01,104,39,1 duplicate(#pacporing0) #pacporing14 CRYSTAL_7,2,2 poring_s01,104,33,1 duplicate(#pacporing0) #pacporing15 CRYSTAL_7,2,2 poring_s01,133,45,1 duplicate(#pacporing0) #pacporing16 CRYSTAL_7,2,2 poring_s01,133,39,1 duplicate(#pacporing0) #pacporing17 CRYSTAL_7,2,2 poring_s01,133,33,1 duplicate(#pacporing0) #pacporing18 CRYSTAL_7,2,2 poring_s01,104,106,1 duplicate(#pacporing0) #pacporing19 CRYSTAL_7,2,2 poring_s01,109,106,1 duplicate(#pacporing0) #pacporing20 CRYSTAL_7,2,2 poring_s01,115,106,1 duplicate(#pacporing0) #pacporing21 CRYSTAL_7,2,2 poring_s01,121,106,1 duplicate(#pacporing0) #pacporing22 CRYSTAL_7,2,2 poring_s01,127,106,1 duplicate(#pacporing0) #pacporing23 CRYSTAL_7,2,2 poring_s01,133,106,1 duplicate(#pacporing0) #pacporing24 CRYSTAL_7,2,2 poring_s01,104,131,1 duplicate(#pacporing0) #pacporing25 CRYSTAL_7,2,2 poring_s01,109,131,1 duplicate(#pacporing0) #pacporing26 CRYSTAL_7,2,2 poring_s01,115,131,1 duplicate(#pacporing0) #pacporing27 CRYSTAL_7,2,2 poring_s01,121,131,1 duplicate(#pacporing0) #pacporing28 CRYSTAL_7,2,2 poring_s01,127,131,1 duplicate(#pacporing0) #pacporing29 CRYSTAL_7,2,2 poring_s01,133,131,1 duplicate(#pacporing0) #pacporing30 CRYSTAL_7,2,2 poring_s01,104,125,1 duplicate(#pacporing0) #pacporing31 CRYSTAL_7,2,2 poring_s01,104,119,1 duplicate(#pacporing0) #pacporing32 CRYSTAL_7,2,2 poring_s01,104,113,1 duplicate(#pacporing0) #pacporing33 CRYSTAL_7,2,2 poring_s01,133,125,1 duplicate(#pacporing0) #pacporing34 CRYSTAL_7,2,2 poring_s01,133,119,1 duplicate(#pacporing0) #pacporing35 CRYSTAL_7,2,2 poring_s01,133,113,1 duplicate(#pacporing0) #pacporing36 CRYSTAL_7,2,2 poring_s01,84,62,1 duplicate(#pacporing0) #pacporing37 CRYSTAL_7,2,2 poring_s01,91,62,1 duplicate(#pacporing0) #pacporing38 CRYSTAL_7,2,2 poring_s01,97,62,1 duplicate(#pacporing0) #pacporing39 CRYSTAL_7,2,2 poring_s01,104,62,1 duplicate(#pacporing0) #pacporing40 CRYSTAL_7,2,2 poring_s01,111,62,1 duplicate(#pacporing0) #pacporing41 CRYSTAL_7,2,2 poring_s01,118,62,1 duplicate(#pacporing0) #pacporing42 CRYSTAL_7,2,2 poring_s01,130,62,1 duplicate(#pacporing0) #pacporing43 CRYSTAL_7,2,2 poring_s01,136,62,1 duplicate(#pacporing0) #pacporing44 CRYSTAL_7,2,2 poring_s01,142,62,1 duplicate(#pacporing0) #pacporing45 CRYSTAL_7,2,2 poring_s01,148,62,1 duplicate(#pacporing0) #pacporing46 CRYSTAL_7,2,2 poring_s01,153,62,1 duplicate(#pacporing0) #pacporing47 CRYSTAL_7,2,2 poring_s01,119,95,1 duplicate(#pacporing0) #pacporing48 CRYSTAL_7,2,2 poring_s01,125,95,1 duplicate(#pacporing0) #pacporing49 CRYSTAL_7,2,2 poring_s01,132,95,1 duplicate(#pacporing0) #pacporing50 CRYSTAL_7,2,2 poring_s01,139,95,1 duplicate(#pacporing0) #pacporing51 CRYSTAL_7,2,2 poring_s01,146,95,1 duplicate(#pacporing0) #pacporing52 CRYSTAL_7,2,2 poring_s01,153,95,1 duplicate(#pacporing0) #pacporing53 CRYSTAL_7,2,2 poring_s01,84,95,1 duplicate(#pacporing0) #pacporing54 CRYSTAL_7,2,2 poring_s01,90,95,1 duplicate(#pacporing0) #pacporing55 CRYSTAL_7,2,2 poring_s01,96,95,1 duplicate(#pacporing0) #pacporing56 CRYSTAL_7,2,2 poring_s01,102,95,1 duplicate(#pacporing0) #pacporing57 CRYSTAL_7,2,2 poring_s01,107,95,1 duplicate(#pacporing0) #pacporing58 CRYSTAL_7,2,2 poring_s01,118,68,1 duplicate(#pacporing0) #pacporing59 CRYSTAL_7,2,2 poring_s01,118,74,1 duplicate(#pacporing0) #pacporing60 CRYSTAL_7,2,2 poring_s01,119,83,1 duplicate(#pacporing0) #pacporing61 CRYSTAL_7,2,2 poring_s01,119,89,1 duplicate(#pacporing0) #pacporing62 CRYSTAL_7,2,2 poring_s01,153,68,1 duplicate(#pacporing0) #pacporing63 CRYSTAL_7,2,2 poring_s01,153,74,1 duplicate(#pacporing0) #pacporing64 CRYSTAL_7,2,2 poring_s01,153,83,1 duplicate(#pacporing0) #pacporing65 CRYSTAL_7,2,2 poring_s01,153,89,1 duplicate(#pacporing0) #pacporing66 CRYSTAL_7,2,2 poring_s01,84,68,1 duplicate(#pacporing0) #pacporing67 CRYSTAL_7,2,2 poring_s01,84,74,1 duplicate(#pacporing0) #pacporing68 CRYSTAL_7,2,2 poring_s01,84,83,1 duplicate(#pacporing0) #pacporing69 CRYSTAL_7,2,2 poring_s01,84,89,1 duplicate(#pacporing0) #pacporing70 CRYSTAL_7,2,2 poring_s01,143,56,1 duplicate(#pacporing0) #pacporing71 CRYSTAL_7,2,2 poring_s01,143,51,1 duplicate(#pacporing0) #pacporing72 CRYSTAL_7,2,2 poring_s01,143,46,1 duplicate(#pacporing0) #pacporing73 CRYSTAL_7,2,2 poring_s01,118,46,1 duplicate(#pacporing0) #pacporing74 CRYSTAL_7,2,2 poring_s01,98,39,1 duplicate(#pacporing0) #pacporing75 CRYSTAL_7,2,2 poring_s01,93,46,1 duplicate(#pacporing0) #pacporing76 CRYSTAL_7,2,2 poring_s01,93,51,1 duplicate(#pacporing0) #pacporing77 CRYSTAL_7,2,2 poring_s01,93,56,1 duplicate(#pacporing0) #pacporing78 CRYSTAL_7,2,2 poring_s01,95,73,1 duplicate(#pacporing0) #pacporing79 CRYSTAL_7,2,2 poring_s01,101,73,1 duplicate(#pacporing0) #pacporing80 CRYSTAL_7,2,2 poring_s01,106,73,1 duplicate(#pacporing0) #pacporing81 CRYSTAL_7,2,2 poring_s01,106,78,1 duplicate(#pacporing0) #pacporing82 CRYSTAL_7,2,2 poring_s01,106,84,1 duplicate(#pacporing0) #pacporing83 CRYSTAL_7,2,2 poring_s01,95,78,1 duplicate(#pacporing0) #pacporing84 CRYSTAL_7,2,2 poring_s01,95,84,1 duplicate(#pacporing0) #pacporing85 CRYSTAL_7,2,2 poring_s01,101,84,1 duplicate(#pacporing0) #pacporing86 CRYSTAL_7,2,2 poring_s01,131,73,1 duplicate(#pacporing0) #pacporing87 CRYSTAL_7,2,2 poring_s01,137,73,1 duplicate(#pacporing0) #pacporing88 CRYSTAL_7,2,2 poring_s01,142,73,1 duplicate(#pacporing0) #pacporing89 CRYSTAL_7,2,2 poring_s01,142,78,1 duplicate(#pacporing0) #pacporing90 CRYSTAL_7,2,2 poring_s01,142,84,1 duplicate(#pacporing0) #pacporing91 CRYSTAL_7,2,2 poring_s01,131,78,1 duplicate(#pacporing0) #pacporing92 CRYSTAL_7,2,2 poring_s01,131,84,1 duplicate(#pacporing0) #pacporing93 CRYSTAL_7,2,2 poring_s01,137,84,1 duplicate(#pacporing0) #pacporing94 CRYSTAL_7,2,2 poring_s01,138,39,1 duplicate(#pacporing0) #pacporing95 CRYSTAL_7,2,2 poring_s01,94,101,1 duplicate(#pacporing0) #pacporing96 CRYSTAL_7,2,2 poring_s01,94,106,1 duplicate(#pacporing0) #pacporing97 CRYSTAL_7,2,2 poring_s01,94,111,1 duplicate(#pacporing0) #pacporing98 CRYSTAL_7,2,2 poring_s01,98,118,1 duplicate(#pacporing0) #pacporing99 CRYSTAL_7,2,2 poring_s01,139,118,1 duplicate(#pacporing0) #pacporing100 CRYSTAL_7,2,2 poring_s01,143,101,1 duplicate(#pacporing0) #pacporing101 CRYSTAL_7,2,2 poring_s01,143,105,1 duplicate(#pacporing0) #pacporing102 CRYSTAL_7,2,2 poring_s01,143,111,1 duplicate(#pacporing0) #pacporing103 CRYSTAL_7,2,2 poring_s02,104,26,1 duplicate(#pacporing0) #2pacporing1 CRYSTAL_9,2,2 poring_s02,109,26,1 duplicate(#pacporing0) #2pacporing2 CRYSTAL_9,2,2 poring_s02,115,26,1 duplicate(#pacporing0) #2pacporing3 CRYSTAL_9,2,2 poring_s02,121,26,1 duplicate(#pacporing0) #2pacporing4 CRYSTAL_9,2,2 poring_s02,127,26,1 duplicate(#pacporing0) #2pacporing5 CRYSTAL_9,2,2 poring_s02,133,26,1 duplicate(#pacporing0) #2pacporing6 CRYSTAL_9,2,2 poring_s02,104,51,1 duplicate(#pacporing0) #2pacporing7 CRYSTAL_9,2,2 poring_s02,109,51,1 duplicate(#pacporing0) #2pacporing8 CRYSTAL_9,2,2 poring_s02,115,51,1 duplicate(#pacporing0) #2pacporing9 CRYSTAL_9,2,2 poring_s02,121,51,1 duplicate(#pacporing0) #2pacporing10 CRYSTAL_9,2,2 poring_s02,127,51,1 duplicate(#pacporing0) #2pacporing11 CRYSTAL_9,2,2 poring_s02,133,51,1 duplicate(#pacporing0) #2pacporing12 CRYSTAL_9,2,2 poring_s02,104,45,1 duplicate(#pacporing0) #2pacporing13 CRYSTAL_9,2,2 poring_s02,104,39,1 duplicate(#pacporing0) #2pacporing14 CRYSTAL_9,2,2 poring_s02,104,33,1 duplicate(#pacporing0) #2pacporing15 CRYSTAL_9,2,2 poring_s02,133,45,1 duplicate(#pacporing0) #2pacporing16 CRYSTAL_9,2,2 poring_s02,133,39,1 duplicate(#pacporing0) #2pacporing17 CRYSTAL_9,2,2 poring_s02,133,33,1 duplicate(#pacporing0) #2pacporing18 CRYSTAL_9,2,2 poring_s02,104,106,1 duplicate(#pacporing0) #2pacporing19 CRYSTAL_9,2,2 poring_s02,109,106,1 duplicate(#pacporing0) #2pacporing20 CRYSTAL_9,2,2 poring_s02,115,106,1 duplicate(#pacporing0) #2pacporing21 CRYSTAL_9,2,2 poring_s02,121,106,1 duplicate(#pacporing0) #2pacporing22 CRYSTAL_9,2,2 poring_s02,127,106,1 duplicate(#pacporing0) #2pacporing23 CRYSTAL_9,2,2 poring_s02,133,106,1 duplicate(#pacporing0) #2pacporing24 CRYSTAL_9,2,2 poring_s02,104,131,1 duplicate(#pacporing0) #2pacporing25 CRYSTAL_9,2,2 poring_s02,109,131,1 duplicate(#pacporing0) #2pacporing26 CRYSTAL_9,2,2 poring_s02,115,131,1 duplicate(#pacporing0) #2pacporing27 CRYSTAL_9,2,2 poring_s02,121,131,1 duplicate(#pacporing0) #2pacporing28 CRYSTAL_9,2,2 poring_s02,127,131,1 duplicate(#pacporing0) #2pacporing29 CRYSTAL_9,2,2 poring_s02,133,131,1 duplicate(#pacporing0) #2pacporing30 CRYSTAL_9,2,2 poring_s02,104,125,1 duplicate(#pacporing0) #2pacporing31 CRYSTAL_9,2,2 poring_s02,104,119,1 duplicate(#pacporing0) #2pacporing32 CRYSTAL_9,2,2 poring_s02,104,113,1 duplicate(#pacporing0) #2pacporing33 CRYSTAL_9,2,2 poring_s02,133,125,1 duplicate(#pacporing0) #2pacporing34 CRYSTAL_9,2,2 poring_s02,133,119,1 duplicate(#pacporing0) #2pacporing35 CRYSTAL_9,2,2 poring_s02,133,113,1 duplicate(#pacporing0) #2pacporing36 CRYSTAL_9,2,2 poring_s02,84,62,1 duplicate(#pacporing0) #2pacporing37 CRYSTAL_9,2,2 poring_s02,91,62,1 duplicate(#pacporing0) #2pacporing38 CRYSTAL_9,2,2 poring_s02,97,62,1 duplicate(#pacporing0) #2pacporing39 CRYSTAL_9,2,2 poring_s02,104,62,1 duplicate(#pacporing0) #2pacporing40 CRYSTAL_9,2,2 poring_s02,111,62,1 duplicate(#pacporing0) #2pacporing41 CRYSTAL_9,2,2 poring_s02,118,62,1 duplicate(#pacporing0) #2pacporing42 CRYSTAL_9,2,2 poring_s02,130,62,1 duplicate(#pacporing0) #2pacporing43 CRYSTAL_9,2,2 poring_s02,136,62,1 duplicate(#pacporing0) #2pacporing44 CRYSTAL_9,2,2 poring_s02,142,62,1 duplicate(#pacporing0) #2pacporing45 CRYSTAL_9,2,2 poring_s02,148,62,1 duplicate(#pacporing0) #2pacporing46 CRYSTAL_9,2,2 poring_s02,153,62,1 duplicate(#pacporing0) #2pacporing47 CRYSTAL_9,2,2 poring_s02,119,95,1 duplicate(#pacporing0) #2pacporing48 CRYSTAL_9,2,2 poring_s02,125,95,1 duplicate(#pacporing0) #2pacporing49 CRYSTAL_9,2,2 poring_s02,132,95,1 duplicate(#pacporing0) #2pacporing50 CRYSTAL_9,2,2 poring_s02,139,95,1 duplicate(#pacporing0) #2pacporing51 CRYSTAL_9,2,2 poring_s02,146,95,1 duplicate(#pacporing0) #2pacporing52 CRYSTAL_9,2,2 poring_s02,153,95,1 duplicate(#pacporing0) #2pacporing53 CRYSTAL_9,2,2 poring_s02,84,95,1 duplicate(#pacporing0) #2pacporing54 CRYSTAL_9,2,2 poring_s02,90,95,1 duplicate(#pacporing0) #2pacporing55 CRYSTAL_9,2,2 poring_s02,96,95,1 duplicate(#pacporing0) #2pacporing56 CRYSTAL_9,2,2 poring_s02,102,95,1 duplicate(#pacporing0) #2pacporing57 CRYSTAL_9,2,2 poring_s02,107,95,1 duplicate(#pacporing0) #2pacporing58 CRYSTAL_9,2,2 poring_s02,118,68,1 duplicate(#pacporing0) #2pacporing59 CRYSTAL_9,2,2 poring_s02,118,74,1 duplicate(#pacporing0) #2pacporing60 CRYSTAL_9,2,2 poring_s02,119,83,1 duplicate(#pacporing0) #2pacporing61 CRYSTAL_9,2,2 poring_s02,119,89,1 duplicate(#pacporing0) #2pacporing62 CRYSTAL_9,2,2 poring_s02,153,68,1 duplicate(#pacporing0) #2pacporing63 CRYSTAL_9,2,2 poring_s02,153,74,1 duplicate(#pacporing0) #2pacporing64 CRYSTAL_9,2,2 poring_s02,153,83,1 duplicate(#pacporing0) #2pacporing65 CRYSTAL_9,2,2 poring_s02,153,89,1 duplicate(#pacporing0) #2pacporing66 CRYSTAL_9,2,2 poring_s02,84,68,1 duplicate(#pacporing0) #2pacporing67 CRYSTAL_9,2,2 poring_s02,84,74,1 duplicate(#pacporing0) #2pacporing68 CRYSTAL_9,2,2 poring_s02,84,83,1 duplicate(#pacporing0) #2pacporing69 CRYSTAL_9,2,2 poring_s02,84,89,1 duplicate(#pacporing0) #2pacporing70 CRYSTAL_9,2,2 poring_s02,143,56,1 duplicate(#pacporing0) #2pacporing71 CRYSTAL_9,2,2 poring_s02,143,51,1 duplicate(#pacporing0) #2pacporing72 CRYSTAL_9,2,2 poring_s02,143,46,1 duplicate(#pacporing0) #2pacporing73 CRYSTAL_9,2,2 poring_s02,118,46,1 duplicate(#pacporing0) #2pacporing74 CRYSTAL_9,2,2 poring_s02,98,39,1 duplicate(#pacporing0) #2pacporing75 CRYSTAL_9,2,2 poring_s02,93,46,1 duplicate(#pacporing0) #2pacporing76 CRYSTAL_9,2,2 poring_s02,93,51,1 duplicate(#pacporing0) #2pacporing77 CRYSTAL_9,2,2 poring_s02,93,56,1 duplicate(#pacporing0) #2pacporing78 CRYSTAL_9,2,2 poring_s02,95,73,1 duplicate(#pacporing0) #2pacporing79 CRYSTAL_9,2,2 poring_s02,101,73,1 duplicate(#pacporing0) #2pacporing80 CRYSTAL_9,2,2 poring_s02,106,73,1 duplicate(#pacporing0) #2pacporing81 CRYSTAL_9,2,2 poring_s02,106,78,1 duplicate(#pacporing0) #2pacporing82 CRYSTAL_9,2,2 poring_s02,106,84,1 duplicate(#pacporing0) #2pacporing83 CRYSTAL_9,2,2 poring_s02,95,78,1 duplicate(#pacporing0) #2pacporing84 CRYSTAL_9,2,2 poring_s02,95,84,1 duplicate(#pacporing0) #2pacporing85 CRYSTAL_9,2,2 poring_s02,101,84,1 duplicate(#pacporing0) #2pacporing86 CRYSTAL_9,2,2 poring_s02,131,73,1 duplicate(#pacporing0) #2pacporing87 CRYSTAL_9,2,2 poring_s02,137,73,1 duplicate(#pacporing0) #2pacporing88 CRYSTAL_9,2,2 poring_s02,142,73,1 duplicate(#pacporing0) #2pacporing89 CRYSTAL_9,2,2 poring_s02,142,78,1 duplicate(#pacporing0) #2pacporing90 CRYSTAL_9,2,2 poring_s02,142,84,1 duplicate(#pacporing0) #2pacporing91 CRYSTAL_9,2,2 poring_s02,131,78,1 duplicate(#pacporing0) #2pacporing92 CRYSTAL_9,2,2 poring_s02,131,84,1 duplicate(#pacporing0) #2pacporing93 CRYSTAL_9,2,2 poring_s02,137,84,1 duplicate(#pacporing0) #2pacporing94 CRYSTAL_9,2,2 poring_s02,138,39,1 duplicate(#pacporing0) #2pacporing95 CRYSTAL_9,2,2 poring_s02,94,101,1 duplicate(#pacporing0) #2pacporing96 CRYSTAL_9,2,2 poring_s02,94,106,1 duplicate(#pacporing0) #2pacporing97 CRYSTAL_9,2,2 poring_s02,94,111,1 duplicate(#pacporing0) #2pacporing98 CRYSTAL_9,2,2 poring_s02,98,118,1 duplicate(#pacporing0) #2pacporing99 CRYSTAL_9,2,2 poring_s02,139,118,1 duplicate(#pacporing0) #2pacporing100 CRYSTAL_9,2,2 poring_s02,143,101,1 duplicate(#pacporing0) #2pacporing101 CRYSTAL_9,2,2 poring_s02,143,105,1 duplicate(#pacporing0) #2pacporing102 CRYSTAL_9,2,2 poring_s02,143,111,1 duplicate(#pacporing0) #2pacporing103 CRYSTAL_9,2,2 poring_s03,104,26,1 duplicate(#pacporing0) #3pacporing1 CRYSTAL_8,2,2 poring_s03,109,26,1 duplicate(#pacporing0) #3pacporing2 CRYSTAL_8,2,2 poring_s03,115,26,1 duplicate(#pacporing0) #3pacporing3 CRYSTAL_8,2,2 poring_s03,121,26,1 duplicate(#pacporing0) #3pacporing4 CRYSTAL_8,2,2 poring_s03,127,26,1 duplicate(#pacporing0) #3pacporing5 CRYSTAL_8,2,2 poring_s03,133,26,1 duplicate(#pacporing0) #3pacporing6 CRYSTAL_8,2,2 poring_s03,104,51,1 duplicate(#pacporing0) #3pacporing7 CRYSTAL_8,2,2 poring_s03,109,51,1 duplicate(#pacporing0) #3pacporing8 CRYSTAL_8,2,2 poring_s03,115,51,1 duplicate(#pacporing0) #3pacporing9 CRYSTAL_8,2,2 poring_s03,121,51,1 duplicate(#pacporing0) #3pacporing10 CRYSTAL_8,2,2 poring_s03,127,51,1 duplicate(#pacporing0) #3pacporing11 CRYSTAL_8,2,2 poring_s03,133,51,1 duplicate(#pacporing0) #3pacporing12 CRYSTAL_8,2,2 poring_s03,104,45,1 duplicate(#pacporing0) #3pacporing13 CRYSTAL_8,2,2 poring_s03,104,39,1 duplicate(#pacporing0) #3pacporing14 CRYSTAL_8,2,2 poring_s03,104,33,1 duplicate(#pacporing0) #3pacporing15 CRYSTAL_8,2,2 poring_s03,133,45,1 duplicate(#pacporing0) #3pacporing16 CRYSTAL_8,2,2 poring_s03,133,39,1 duplicate(#pacporing0) #3pacporing17 CRYSTAL_8,2,2 poring_s03,133,33,1 duplicate(#pacporing0) #3pacporing18 CRYSTAL_8,2,2 poring_s03,104,106,1 duplicate(#pacporing0) #3pacporing19 CRYSTAL_8,2,2 poring_s03,109,106,1 duplicate(#pacporing0) #3pacporing20 CRYSTAL_8,2,2 poring_s03,115,106,1 duplicate(#pacporing0) #3pacporing21 CRYSTAL_8,2,2 poring_s03,121,106,1 duplicate(#pacporing0) #3pacporing22 CRYSTAL_8,2,2 poring_s03,127,106,1 duplicate(#pacporing0) #3pacporing23 CRYSTAL_8,2,2 poring_s03,133,106,1 duplicate(#pacporing0) #3pacporing24 CRYSTAL_8,2,2 poring_s03,104,131,1 duplicate(#pacporing0) #3pacporing25 CRYSTAL_8,2,2 poring_s03,109,131,1 duplicate(#pacporing0) #3pacporing26 CRYSTAL_8,2,2 poring_s03,115,131,1 duplicate(#pacporing0) #3pacporing27 CRYSTAL_8,2,2 poring_s03,121,131,1 duplicate(#pacporing0) #3pacporing28 CRYSTAL_8,2,2 poring_s03,127,131,1 duplicate(#pacporing0) #3pacporing29 CRYSTAL_8,2,2 poring_s03,133,131,1 duplicate(#pacporing0) #3pacporing30 CRYSTAL_8,2,2 poring_s03,104,125,1 duplicate(#pacporing0) #3pacporing31 CRYSTAL_8,2,2 poring_s03,104,119,1 duplicate(#pacporing0) #3pacporing32 CRYSTAL_8,2,2 poring_s03,104,113,1 duplicate(#pacporing0) #3pacporing33 CRYSTAL_8,2,2 poring_s03,133,125,1 duplicate(#pacporing0) #3pacporing34 CRYSTAL_8,2,2 poring_s03,133,119,1 duplicate(#pacporing0) #3pacporing35 CRYSTAL_8,2,2 poring_s03,133,113,1 duplicate(#pacporing0) #3pacporing36 CRYSTAL_8,2,2 poring_s03,84,62,1 duplicate(#pacporing0) #3pacporing37 CRYSTAL_8,2,2 poring_s03,91,62,1 duplicate(#pacporing0) #3pacporing38 CRYSTAL_8,2,2 poring_s03,97,62,1 duplicate(#pacporing0) #3pacporing39 CRYSTAL_8,2,2 poring_s03,104,62,1 duplicate(#pacporing0) #3pacporing40 CRYSTAL_8,2,2 poring_s03,111,62,1 duplicate(#pacporing0) #3pacporing41 CRYSTAL_8,2,2 poring_s03,118,62,1 duplicate(#pacporing0) #3pacporing42 CRYSTAL_8,2,2 poring_s03,130,62,1 duplicate(#pacporing0) #3pacporing43 CRYSTAL_8,2,2 poring_s03,136,62,1 duplicate(#pacporing0) #3pacporing44 CRYSTAL_8,2,2 poring_s03,142,62,1 duplicate(#pacporing0) #3pacporing45 CRYSTAL_8,2,2 poring_s03,148,62,1 duplicate(#pacporing0) #3pacporing46 CRYSTAL_8,2,2 poring_s03,153,62,1 duplicate(#pacporing0) #3pacporing47 CRYSTAL_8,2,2 poring_s03,119,95,1 duplicate(#pacporing0) #3pacporing48 CRYSTAL_8,2,2 poring_s03,125,95,1 duplicate(#pacporing0) #3pacporing49 CRYSTAL_8,2,2 poring_s03,132,95,1 duplicate(#pacporing0) #3pacporing50 CRYSTAL_8,2,2 poring_s03,139,95,1 duplicate(#pacporing0) #3pacporing51 CRYSTAL_8,2,2 poring_s03,146,95,1 duplicate(#pacporing0) #3pacporing52 CRYSTAL_8,2,2 poring_s03,153,95,1 duplicate(#pacporing0) #3pacporing53 CRYSTAL_8,2,2 poring_s03,84,95,1 duplicate(#pacporing0) #3pacporing54 CRYSTAL_8,2,2 poring_s03,90,95,1 duplicate(#pacporing0) #3pacporing55 CRYSTAL_8,2,2 poring_s03,96,95,1 duplicate(#pacporing0) #3pacporing56 CRYSTAL_8,2,2 poring_s03,102,95,1 duplicate(#pacporing0) #3pacporing57 CRYSTAL_8,2,2 poring_s03,107,95,1 duplicate(#pacporing0) #3pacporing58 CRYSTAL_8,2,2 poring_s03,118,68,1 duplicate(#pacporing0) #3pacporing59 CRYSTAL_8,2,2 poring_s03,118,74,1 duplicate(#pacporing0) #3pacporing60 CRYSTAL_8,2,2 poring_s03,119,83,1 duplicate(#pacporing0) #3pacporing61 CRYSTAL_8,2,2 poring_s03,119,89,1 duplicate(#pacporing0) #3pacporing62 CRYSTAL_8,2,2 poring_s03,153,68,1 duplicate(#pacporing0) #3pacporing63 CRYSTAL_8,2,2 poring_s03,153,74,1 duplicate(#pacporing0) #3pacporing64 CRYSTAL_8,2,2 poring_s03,153,83,1 duplicate(#pacporing0) #3pacporing65 CRYSTAL_8,2,2 poring_s03,153,89,1 duplicate(#pacporing0) #3pacporing66 CRYSTAL_8,2,2 poring_s03,84,68,1 duplicate(#pacporing0) #3pacporing67 CRYSTAL_8,2,2 poring_s03,84,74,1 duplicate(#pacporing0) #3pacporing68 CRYSTAL_8,2,2 poring_s03,84,83,1 duplicate(#pacporing0) #3pacporing69 CRYSTAL_8,2,2 poring_s03,84,89,1 duplicate(#pacporing0) #3pacporing70 CRYSTAL_8,2,2 poring_s03,143,56,1 duplicate(#pacporing0) #3pacporing71 CRYSTAL_8,2,2 poring_s03,143,51,1 duplicate(#pacporing0) #3pacporing72 CRYSTAL_8,2,2 poring_s03,143,46,1 duplicate(#pacporing0) #3pacporing73 CRYSTAL_8,2,2 poring_s03,118,46,1 duplicate(#pacporing0) #3pacporing74 CRYSTAL_8,2,2 poring_s03,98,39,1 duplicate(#pacporing0) #3pacporing75 CRYSTAL_8,2,2 poring_s03,93,46,1 duplicate(#pacporing0) #3pacporing76 CRYSTAL_8,2,2 poring_s03,93,51,1 duplicate(#pacporing0) #3pacporing77 CRYSTAL_8,2,2 poring_s03,93,56,1 duplicate(#pacporing0) #3pacporing78 CRYSTAL_8,2,2 poring_s03,95,73,1 duplicate(#pacporing0) #3pacporing79 CRYSTAL_8,2,2 poring_s03,101,73,1 duplicate(#pacporing0) #3pacporing80 CRYSTAL_8,2,2 poring_s03,106,73,1 duplicate(#pacporing0) #3pacporing81 CRYSTAL_8,2,2 poring_s03,106,78,1 duplicate(#pacporing0) #3pacporing82 CRYSTAL_8,2,2 poring_s03,106,84,1 duplicate(#pacporing0) #3pacporing83 CRYSTAL_8,2,2 poring_s03,95,78,1 duplicate(#pacporing0) #3pacporing84 CRYSTAL_8,2,2 poring_s03,95,84,1 duplicate(#pacporing0) #3pacporing85 CRYSTAL_8,2,2 poring_s03,101,84,1 duplicate(#pacporing0) #3pacporing86 CRYSTAL_8,2,2 poring_s03,131,73,1 duplicate(#pacporing0) #3pacporing87 CRYSTAL_8,2,2 poring_s03,137,73,1 duplicate(#pacporing0) #3pacporing88 CRYSTAL_8,2,2 poring_s03,142,73,1 duplicate(#pacporing0) #3pacporing89 CRYSTAL_8,2,2 poring_s03,142,78,1 duplicate(#pacporing0) #3pacporing90 CRYSTAL_8,2,2 poring_s03,142,84,1 duplicate(#pacporing0) #3pacporing91 CRYSTAL_8,2,2 poring_s03,131,78,1 duplicate(#pacporing0) #3pacporing92 CRYSTAL_8,2,2 poring_s03,131,84,1 duplicate(#pacporing0) #3pacporing93 CRYSTAL_8,2,2 poring_s03,137,84,1 duplicate(#pacporing0) #3pacporing94 CRYSTAL_8,2,2 poring_s03,138,39,1 duplicate(#pacporing0) #3pacporing95 CRYSTAL_8,2,2 poring_s03,94,101,1 duplicate(#pacporing0) #3pacporing96 CRYSTAL_8,2,2 poring_s03,94,106,1 duplicate(#pacporing0) #3pacporing97 CRYSTAL_8,2,2 poring_s03,94,111,1 duplicate(#pacporing0) #3pacporing98 CRYSTAL_8,2,2 poring_s03,98,118,1 duplicate(#pacporing0) #3pacporing99 CRYSTAL_8,2,2 poring_s03,139,118,1 duplicate(#pacporing0) #3pacporing100 CRYSTAL_8,2,2 poring_s03,143,101,1 duplicate(#pacporing0) #3pacporing101 CRYSTAL_8,2,2 poring_s03,143,105,1 duplicate(#pacporing0) #3pacporing102 CRYSTAL_8,2,2 poring_s03,143,111,1 duplicate(#pacporing0) #3pacporing103 CRYSTAL_8,2,2 poring_s01 mapflag nopenalty poring_s01 mapflag nowarpto poring_s01 mapflag noteleport poring_s01 mapflag nosave poring_s01 mapflag pvp off poring_s01 mapflag noreturn poring_s01 mapflag nopenalty poring_s01 mapflag noskill poring_s01 mapflag nobranch poring_s01 mapflag noicewall poring_s01 mapflag leaves poring_s02 mapflag nopenalty poring_s02 mapflag nowarpto poring_s02 mapflag noteleport poring_s02 mapflag nosave poring_s02 mapflag pvp off poring_s02 mapflag noreturn poring_s02 mapflag nopenalty poring_s02 mapflag noskill poring_s02 mapflag nobranch poring_s02 mapflag noicewall poring_s02 mapflag clouds poring_s03 mapflag nopenalty poring_s03 mapflag nowarpto poring_s03 mapflag noteleport poring_s03 mapflag nosave poring_s03 mapflag pvp off poring_s03 mapflag noreturn poring_s03 mapflag nopenalty poring_s03 mapflag noskill poring_s03 mapflag nobranch poring_s03 mapflag noicewall poring_s03 mapflag fog prt_fild08,158,325,1 script Boing#pacporing 4_PORING,{ mes "^BF0073[Boing]^000000"; mes "Jellopies de gigantes! Cheio de Jellopies gigantes! Eu achei o paraíso dos Porings!"; next; mes "^BF0073[Boing]^000000"; mes "Mas há também monstros ... Monstros em toda parte! Iniciante, com grandes dentes afiados todos! Mesmo fantasmas!"; next; mes "^BF0073[Boing]^000000"; mes "Ah ... Se apenas um grande aventureiro como você pode ajudar-nos..."; next; menu "Ficar aqui",L_rester,"Ir para PacPoring",-; warp "poring_s01",18,217; end; L_rester: mes "^BF0073[Boing]^000000"; mes "Meu jellopies... *snif*"; close; OnTimer20000: getmapxy(.@m$,.@x,.@y,1); .@x = .@x+rand(0,6)-3; .@y = .@y+rand(0,6)-3; if (!checkcell(.@m$,.@x,.@y,cell_chkpass)) goto OnTimer20000; npcwalkto .@x,.@y; if (!rand(15)) npctalk "Boing! Boing!"; OnInit: initnpctimer; end; }
  4. Upvote
    Ridley reacted to hemagx in [2016-04-17] The Redesign of Client Interface and Private Headers   
    Rationale:
    For ages we got awful looking code when it come to work with socket and packet, also this code was totally manually handled.
    so many possible mistake could happen and lot of hardcoded numbers, now with this update this will not happen anymore and compiler will take care of all of this.
    also with this update we introduce first Private header, the lclif ( Login Client Interface ) header, the private headers meant for functions should not be accessed from outside the source file, however this still accessible by plugins.
    this also will prevent a long not needed re-compile time for whole project when the changes only happens in private headers.
     
    Contents:
    A total new client interface for login server (lclif.c/lclif.h).
    The first private header which meant for client interface in login server (lclif.p.h).
     
    Impact:
    The impact of this changes can be huge if you have heavy modified login server as many functions removed, moved or rewrote.
    please be careful merging this update.
     
    Details:
    Before we were dealing with packets in so ugly way and unsafe with hardcoded numbers and easy mistakes that were hard to be spoted, also we mixed code to parse packets with code to process them.
    With this update we separate packet parse and packet processing, and also we started to use structs instead of manual (offset-based) packet parsing and creation!
     
    an example of how we were writing a packet to client before, and now.
     
    Before:
    Here's an example of the server-list packet being sent to the player upon successful login
    WFIFOHEAD(fd,47+32*server_num); WFIFOW(fd,0) = 0x69; WFIFOW(fd,2) = 47+32*server_num; WFIFOL(fd,4) = sd->login_id1; WFIFOL(fd,8) = sd->account_id; WFIFOL(fd,12) = sd->login_id2; WFIFOL(fd,16) = 0; // in old version, that was for ip (not more used) //memcpy(WFIFOP(fd,20), sd->lastlogin, 24); // in old version, that was for name (not more used) memset(WFIFOP(fd,20), 0, 24); WFIFOW(fd,44) = 0; // unknown WFIFOB(fd,46) = sex_str2num(sd->sex); for (i = 0, n = 0; i < ARRAYLENGTH(server); ++i) { uint32 subnet_char_ip; if (!sockt->session_is_valid(server[i].fd)) continue; subnet_char_ip = login->lan_subnet_check(ip); WFIFOL(fd,47+n*32) = htonl((subnet_char_ip) ? subnet_char_ip : server[i].ip); WFIFOW(fd,47+n*32+4) = sockt->ntows(htons(server[i].port)); // [!] LE byte order here [!] memcpy(WFIFOP(fd,47+n*32+6), server[i].name, 20); WFIFOW(fd,47+n*32+26) = server[i].users; if( server[i].type == CST_PAYING && sd->expiration_time > time(NULL) ) WFIFOW(fd,47+n*32+28) = CST_NORMAL; else WFIFOW(fd,47+n*32+28) = server[i].type; WFIFOW(fd,47+n*32+30) = server[i].new_; n++; } WFIFOSET(fd,47+32*server_num);  
    So many numbers! And a real mess, imagine the harm that one wrong number can cause! even crash for client or server !
    And the code is barely readable or meaningful.
     
    After the update:
     
    length = sizeof(*packet) + sizeof(packet->ServerList[0]) * server_num; ip = sockt->session[sd->fd]->client_addr; //Allocate the packet WFIFOHEAD(sd->fd, length); packet = WP2PTR(sd->fd); packet->PacketType = PACKET_ID_AC_ACCEPT_LOGIN; packet->PacketLength = length; packet->AuthCode = sd->login_id1; packet->AID = sd->account_id; packet->userLevel = sd->login_id2; packet->lastLoginIP = 0x0; memset(packet->lastLoginTime, '\0', sizeof(packet->lastLoginTime)); packet->Sex = sex_str2num(sd->sex); for (i = 0, n = 0; i < ARRAYLENGTH(server); ++i) { uint32 subnet_char_ip; if (!sockt->session_is_valid(server[i].fd)) continue; subnet_char_ip = login->lan_subnet_check(ip); packet->ServerList[n].ip = htonl((subnet_char_ip) ? subnet_char_ip : server[i].ip); packet->ServerList[n].port = sockt->ntows(htons(server[i].port)); // [!] LE byte order here [!] safestrncpy(packet->ServerList[n].name, server[i].name, 20); packet->ServerList[n].usercount = server[i].users; if( server[i].type == CST_PAYING && sd->expiration_time > time(NULL) ) packet->ServerList[n].property = CST_NORMAL; else packet->ServerList[n].property = server[i].type; packet->ServerList[n].state = server[i].new_; ++n; } WFIFOSET(sd->fd, length);  
    I bet now you can place everything and know what you're dealing with, with no numbers to mistake with at all!
     
    This is how we build a packet, parsing a packet became easier too.
     
    Before:
    version = RFIFOL(fd,2); safestrncpy(username, (const char*)RFIFOP(fd,6), NAME_LENGTH); safestrncpy(password, (const char*)RFIFOP(fd,30), NAME_LENGTH); clienttype = RFIFOB(fd,54);  
    After:
    DEFPACKET(CA_LOGIN) { const struct PACKET_CA_LOGIN *packet = RP2PTR(fd); sd->version = packet->Version; sd->clienttype = packet->clienttype; safestrncpy(sd->userid, packet->ID, NAME_LENGTH); safestrncpy(sd->passwd, packet->Passwd, PASSWD_LEN); if (login->config->use_md5_passwds) MD5_String(sd->passwd, sd->passwd); sd->passwdenc = PWENC_NONE; login->client_login(fd, sd); return PACKET_VALID; }  
    we just took care of parse packet and give it to login server to process it, just as it should be, the code is cleaner and easier to read and understand.
     
    Merge Date:
    Sat, 16 Apr 2016 15:37:47 +0200
     
    Related Pull Requests:
    - #1255 - https://github.com/H...cules/pull/1255 - Login clif rewrite [hemagx]

    Related Commits:
    - bbcb040 - https://github.com/HerculesWS/Hercules/commit/bbcb040 - Sat, 16 Apr 2016 15:37:47 +0200 Merge pull request #1255 from HerculesWS/login-clif_rewrite [ibrahem Hossam]
    - 8448e3f - https://github.com/HerculesWS/Hercules/commit/8448e3f - Sat, 16 Apr 2016 15:22:21 +0200 HPM Hooks Update [Haru]
    - 15c9710 - https://github.com/HerculesWS/Hercules/commit/15c9710 - Sat, 16 Apr 2016 15:21:18 +0200 Moved packet_db to the private interface of lclif [Haru]
    - 45bbb3d - https://github.com/HerculesWS/Hercules/commit/45bbb3d - Sat, 16 Apr 2016 03:33:31 +0200 Added missing documentation [Haru]
    - 6de2242 - https://github.com/HerculesWS/Hercules/commit/6de2242 - Sat, 16 Apr 2016 03:33:20 +0200 HPM Hooks Update [Haru]
    - fb26278 - https://github.com/HerculesWS/Hercules/commit/fb26278 - Fri, 15 Apr 2016 20:14:43 +0200 Added lclif packet handlers to the lclif interface [Haru]
    - 37cc46c - https://github.com/HerculesWS/Hercules/commit/37cc46c - Thu, 31 Mar 2016 00:16:48 +0200 HPM Hooks Update [Haru]
    - 7555700 - https://github.com/HerculesWS/Hercules/commit/7555700 - Mon, 28 Mar 2016 21:54:46 +0200 Rewrite client interface for login server (part 7) [hemagx]
    - ceef84e - https://github.com/HerculesWS/Hercules/commit/ceef84e - Thu, 14 Apr 2016 13:38:12 +0200 HPM Hooks Update [Haru]
    - c8ff1e7 - https://github.com/HerculesWS/Hercules/commit/c8ff1e7 - Tue, 12 Apr 2016 14:35:21 +0200 Rewrite client interface for login server (part 6) [hemagx]
    - d8da35d - https://github.com/HerculesWS/Hercules/commit/d8da35d - Tue, 12 Apr 2016 15:25:50 +0200 Rewrite client interface for login server (part 5) [hemagx]
    - c765365 - https://github.com/HerculesWS/Hercules/commit/c765365 - Tue, 12 Apr 2016 15:24:30 +0200 Rewrite client interface for login server (part 4) [hemagx]
    - d60ef91 - https://github.com/HerculesWS/Hercules/commit/d60ef91 - Mon, 28 Mar 2016 21:54:46 +0200 Rewrite client interface for login server (part 3) [hemagx]
    - 9defcee - https://github.com/HerculesWS/Hercules/commit/9defcee - Mon, 28 Mar 2016 21:54:46 +0200 Rewrite client interface for login server (part 2) [hemagx]
    - 480e959 - https://github.com/HerculesWS/Hercules/commit/480e959 - Mon, 28 Mar 2016 21:54:46 +0200 Rewrite client interface for login server (part 1) [hemagx]
  5. Like
    Ridley got a reaction from IndieRO in [Release] The (data) GRF Project   
    Offering 2 versions of the grf now. Scroll down for more info. Both data.grf do NOT require rdata.grf.
     
    Option 1: (clean standard kRO GRF)
    Download OneDrive
     The grf is up-to-date 2018-12-22. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,40gb (1.503.844.793 bytes) compared to the original 2.13gb (2.291.252.926)
    Works perfect with all current pre-renewal and/or renewal content (rdata.grf is not needed). You still need the content of the Translation Project in order to use this.
    All cutins in this grf are reduced by 35%
    Note: This is pure kro data.grf and does not contain any jro/iro/whatever files
     

      
    Option 2: GRF with the content of all official servers
    Download Mediafire
    Download OneDrive
    Download Mega
     
    This GRF contains all official files. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,43gb (1.536.478.834 bytes)
    The grf is up-to-date 2016-08-04.
    Please throw a PM on me if this GRF is missing something! I want this to be the most complete one of all
    Small summarize
    more than 200 additional maps more than 700 additional items more than 60 additional NPC's more than 130 additionalmobs more than 900 additional cutins
     
    Instructions:
    1. Download the data.7z
    2. Extract it
    3. Put both (grf + dll) into your RO folder
     
    Changelog: Fixed Rock Ridge Illustrations use wrong Magenta (200, 238, 120 instead of 200, 240, 120) Removed chunk  
    Option 3: Episode 13.2 Pre-Renewal GRF
    This one is 775 MB (812.914.794 Bytes) and great for all kind of pre-re servers.
    Download OneDrive

    All rights and credits belong to Gravity
     
    Note: you can still encrypt your grf with SecureGRF or Tokei's GRF Editor - just use another name than cps.dll for it.
    updated thread 2019-01-13
  6. Upvote
    Ridley got a reaction from Daifuku in [Scammer Topic] Be warned: Herc/rA user: Dark8008 Skype ID: bill.sin   
    understandable, but apparently it seems common here (and rA), one of the reasons I still don't offer paid services is this bunch of idiots.
    I think people won't care for the small "send to friend" fee if they want to buy your package :]
     
    I'm donating 10$ toward you for your loss, the community nowadays is a shame
  7. Upvote
    Ridley got a reaction from Daifuku in Thor Patcher can't Start Exe   
    Use latest Thor instead
  8. Like
    Ridley got a reaction from Rydex in [Release] The (data) GRF Project   
    Offering 2 versions of the grf now. Scroll down for more info. Both data.grf do NOT require rdata.grf.
     
    Option 1: (clean standard kRO GRF)
    Download OneDrive
     The grf is up-to-date 2018-12-22. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,40gb (1.503.844.793 bytes) compared to the original 2.13gb (2.291.252.926)
    Works perfect with all current pre-renewal and/or renewal content (rdata.grf is not needed). You still need the content of the Translation Project in order to use this.
    All cutins in this grf are reduced by 35%
    Note: This is pure kro data.grf and does not contain any jro/iro/whatever files
     

      
    Option 2: GRF with the content of all official servers
    Download Mediafire
    Download OneDrive
    Download Mega
     
    This GRF contains all official files. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,43gb (1.536.478.834 bytes)
    The grf is up-to-date 2016-08-04.
    Please throw a PM on me if this GRF is missing something! I want this to be the most complete one of all
    Small summarize
    more than 200 additional maps more than 700 additional items more than 60 additional NPC's more than 130 additionalmobs more than 900 additional cutins
     
    Instructions:
    1. Download the data.7z
    2. Extract it
    3. Put both (grf + dll) into your RO folder
     
    Changelog: Fixed Rock Ridge Illustrations use wrong Magenta (200, 238, 120 instead of 200, 240, 120) Removed chunk  
    Option 3: Episode 13.2 Pre-Renewal GRF
    This one is 775 MB (812.914.794 Bytes) and great for all kind of pre-re servers.
    Download OneDrive

    All rights and credits belong to Gravity
     
    Note: you can still encrypt your grf with SecureGRF or Tokei's GRF Editor - just use another name than cps.dll for it.
    updated thread 2019-01-13
  9. Upvote
    Ridley got a reaction from Daifuku in [Release] The (data) GRF Project   
    updated, released new version
  10. Upvote
    Ridley reacted to Daifuku in Daifuku | Graphics, Sprites, Maps, Wiki, Forum, Advertising, Scripts & more   

    welcome to my showcase section~
    for a preview of my works please check the spoilers below!
    if you need anything else, just ask. 

     

     
     
     

     

     

     

     
     
     
     
     


    welcome to my showcase section~
    for a preview of my works please check the spoilers above!
    if you need anything else, just ask. 
  11. Upvote
    Ridley got a reaction from kerbiii in Thor Patcher Wont Start Client.exe   
    Afaik it was only 1 version required UAC to work. Try it with the latest version and it should work fine
  12. Upvote
    Ridley got a reaction from Wolfeh in [Release] The (data) GRF Project   
    Download counter hits the 15k
    Anyways, during the last time I worked a lot on the grf. Right now I am not sure if I will release it, but at least I wanna do a showcase.
     
    It's a data.grf from today (31st march). Everythings working perfect (I still need to test a few things). Special is:

     
    It has only 1,2gb 
  13. Upvote
    Ridley got a reaction from kerbiii in [Release] The (data) GRF Project   
    Download counter hits the 15k
    Anyways, during the last time I worked a lot on the grf. Right now I am not sure if I will release it, but at least I wanna do a showcase.
     
    It's a data.grf from today (31st march). Everythings working perfect (I still need to test a few things). Special is:

     
    It has only 1,2gb 
  14. Upvote
    Ridley got a reaction from Ehwaz in Make Warmer can't heal Emperium   
    in map/skill.c 
    find
    case UNT_WARMER: { // It has effect on everything, including monsters, undead property and demon int hp = 0; if( ssc && ssc->data[SC_HEATER_OPTION] ) hp = tstatus->max_hp * 3 * sg->skill_lv / 100; else hp = tstatus->max_hp * sg->skill_lv / 100; if( tstatus->hp != tstatus->max_hp ) clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0); if( tsc && tsc->data[SC_AKAITSUKI] && hp ) hp = ~hp + 1; status->heal(bl, hp, 0, 0); sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100); } change to
     
    case UNT_WARMER: { struct mob_data *md = BL_CAST(BL_MOB, bl); if( md && md->class_ == MOBID_EMPELIUM ) break; // It has effect on everything, including monsters, undead property and demon int hp = 0; if( ssc && ssc->data[SC_HEATER_OPTION] ) hp = tstatus->max_hp * 3 * sg->skill_lv / 100; else hp = tstatus->max_hp * sg->skill_lv / 100; if( tstatus->hp != tstatus->max_hp ) clif->skill_nodamage(&src->bl, bl, AL_HEAL, hp, 0); if( tsc && tsc->data[SC_AKAITSUKI] && hp ) hp = ~hp + 1; status->heal(bl, hp, 0, 0); sc_start(ss, bl, type, 100, sg->skill_lv, sg->interval + 100); }
  15. Upvote
    Ridley reacted to Mystery in Forum Editing Turtorial   
    Why don't you learn off the tutorials of that forum provider you use for yourself?
  16. Upvote
    Ridley reacted to vBrenth in Aeva Control Panel   
    Past dead project: LuminaCP  
    Reason: School and relationship! XP
     

    Just another control panel that we've been working on.
     
    Phase 1 - Features:
    Account management system Ranking system Voting system Donation system (paypal/remittance) Content management system Server/woe/player status Ticketing system and more......
     
    Phase 1.1 - Features:
    Admin Panel View/Manage characters Items/Mob db view/search Vending/Buying store view/search Character Creation RSS System  
    Phase 2 - Features:
    Most likely we will adapt some of our features on LuminaCP
    Login as Facebook (auto-register as master account) Status updates Groups (like Facebook) Profile picture Market tabs Messages/connections and mini-games.  
    Demo Link: http://aeva.vbrenth.net/
    Admin user: [email protected] Mod user: [email protected] Player user: [email protected] All passwords are: password  
    Do you think i missed something? If you have any suggestion, pm me.
     
    Oh btw, like Flux we also have /themes so we can apply any design from the default theme.
    Example: http://panel.aeva-ro.com/
  17. Upvote
    Ridley reacted to recca062 in Ragnarok Index ( RO database on your computer )   
    (NEW)Ragindex v.0.3.1
    by : Recca
    Hi RO players ! I been working on this for months and the aim is to
    make a simple RO Database Search Engine that provide simple mob & item informations
    I'm excited/happy that I had finally contributed something to the RO community after 9+ years of Ragnarok.
     
    I hope this can makes your RO life better, and you no longer need to strain your eyes
    looking at the chatlog when using @mi , @ii , @whereis
    ======================== [email protected] ======================== 
    "Hey ****, what's the dumbest thing you ever done in your RO years ?"
    "I tried to download RMS for the search engine, it took the whole day and doesn't even work"
    "I feel you ;~; say no more.."

    + What's News in v0.3.1: ( Download Link FIXED )
    Ragindex's colors can now be change via .ini file ( Personalize your Ragindex ) Ragindex Stylish - GUI to help with easy editing Ragindex color Included new themes/colors Reduce space between results + Features:
    Works offline ( Only for Full Version ) Decent / constant load rate Renewal / Pre-Renewal Database New itemInfo.lub with new item's description format Sorting item drops by percentage in 'Drop By' window from high -> low On maps info (no respawn time, sorry) Element Effectiveness chart NPC Venders information Free memory Direct Ratemyserver link Direct iW Database link COOL in-game cursor + Search Modes:
    Item - can be search by : ID , Aegis Name, Screen Name Mob  - can be search by : ID , Sprite Name, kRO Name, iRO Name Item's description  -Examples of finding stat related items with "Search Item's description"
    "STR +" , "drop chance" , "enables use of" , "MaxHP" "after cast delay" , "cast time" , "`% chance of" "Demihuman" , "Fire property" , "medium size" + ToolTips:
    Item's description Mob's image *Right Click = On , Left Click = Off ( or just move your mouse away )
     
    + Customizable:
    GUI color Add new mob Add new item Hide-Window hotkey Element table Base-EXP, Job-EXP, and drop rates + Credits:
    All images belong to Gravity and their respective creators. Taffy for the motivation and feedbacks. + DOWNLOAD: (Updated)
    FIXED - Ragindex Full (Included Ragindex Stylish) - Ragindex Full ( 30 MB ) ~ Mediafire ( Recommended ) Ragindex Lite - Ragindex Lite ( 1.3 MB ) ~ Mediafire ( More like a demo version, unsupported ) * The differences between the two is that the Lite use online images and the Full use internal images
     
    + Pictures:

    ---------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------

    ---------------------------------------------------------------------------------------------------------------------

    + Ragindex Stylish Pictures:

     
    + Themes created from Ragindex Stylish: * You can make your own too.





     
    **************************************************************************************************************************************************************************
    This application was made with the intention of making Ragnarok item / mob's database easier to access in-game. Especially for slow computers that
    have trouble running browser and RO client at the same time.
    - Any feedback is appreciated !!! and you are more than welcome to share your Ragindex Skin
  18. Upvote
    Ridley got a reaction from Fizi in [Release] The (data) GRF Project   
    Compressed and uploaded during last night. New Link is online
  19. Upvote
    Ridley got a reaction from kerbiii in [Release] The (data) GRF Project   
    Compressed and uploaded during last night. New Link is online
  20. Like
    Ridley got a reaction from Hyroshima in [Release] The (data) GRF Project   
    Offering 2 versions of the grf now. Scroll down for more info. Both data.grf do NOT require rdata.grf.
     
    Option 1: (clean standard kRO GRF)
    Download OneDrive
     The grf is up-to-date 2018-12-22. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,40gb (1.503.844.793 bytes) compared to the original 2.13gb (2.291.252.926)
    Works perfect with all current pre-renewal and/or renewal content (rdata.grf is not needed). You still need the content of the Translation Project in order to use this.
    All cutins in this grf are reduced by 35%
    Note: This is pure kro data.grf and does not contain any jro/iro/whatever files
     

      
    Option 2: GRF with the content of all official servers
    Download Mediafire
    Download OneDrive
    Download Mega
     
    This GRF contains all official files. Its cleaned up, and optimized. A Lot of invalid content is removed or merged. The size is 1,43gb (1.536.478.834 bytes)
    The grf is up-to-date 2016-08-04.
    Please throw a PM on me if this GRF is missing something! I want this to be the most complete one of all
    Small summarize
    more than 200 additional maps more than 700 additional items more than 60 additional NPC's more than 130 additionalmobs more than 900 additional cutins
     
    Instructions:
    1. Download the data.7z
    2. Extract it
    3. Put both (grf + dll) into your RO folder
     
    Changelog: Fixed Rock Ridge Illustrations use wrong Magenta (200, 238, 120 instead of 200, 240, 120) Removed chunk  
    Option 3: Episode 13.2 Pre-Renewal GRF
    This one is 775 MB (812.914.794 Bytes) and great for all kind of pre-re servers.
    Download OneDrive

    All rights and credits belong to Gravity
     
    Note: you can still encrypt your grf with SecureGRF or Tokei's GRF Editor - just use another name than cps.dll for it.
    updated thread 2019-01-13
  21. Upvote
    Ridley reacted to Rytech in Where's The Fair Use? #WTFU   
    Im usually a quiet person but today ive decided to open my mouth and say something since me and millions of other have had enough of youtube's content ID / copyright strike system which is now clearly doing more harm then good. The past 2 years have been bad and is only getting more and more worse over the passing months.

    Its now 2016 and the year started with video's/channels being randomly taken down which turns out to be the work of some brothers who are trying to own the rights to "Reacting" to things. WTF IS THIS SHIT!?!?!?! SERIOUSLY????? Now people are coming out open to the public about whats been happening and out of all of this, youtube (google) doesn't appear to be doing anything. It seems its up to the internet to fix this.

    A movement has started as this can not go on any longer. People are now asking "Where's The Fair Use?" as it seems to not exist anymore even tho there's copyright laws that's "supposed" to protect us. But somehow company's are getting through this.

    Join the internet and let your voice be herd. ‪#‎WTFU‬. Post it, tweet it, talk about it, do whatever you can. Together we can beat this and get things back to the way they used to be. For a better understanding of the situation, watch this video....
     
    Where's The Fair Use? - Nostalgia Critic
     
  22. Upvote
    Ridley reacted to Tokeiburu in NPC Script Editor   
    Heya,
     
    Would it possible to add these features?
    Adding "To lowercase" and "To UPPERCASE" in the context menu when right-clicking some text would be more practical than using the menus! Adding "Add text color" in the context menu when right-clicking on some text, this would simply add "^000000" at the beginning and end of the selected text. Turn on whole word highlighting (when the caret is on a whole word, it is very useful to highlight all other whole word matches). Volatil searches. When a word is highlighted (from the whole word highlighting), being able to jump to the next or the previous element is very useful. The shortcut in Notepad++ is Ctrl-F3 for the next element and Ctrl-Shift-F3 for the previous element. In VS, the shortcut is Ctrl-Shift-Up and Ctrl-Shift-Down. Be able to leave autocomplete always turned on and activates as you type. Other useful shortcuts to have :

    Alt-Up / Alt-Down, moves the selected lines up or down. If no text is seleted, it moves the current line.
    Shift-Delete, deletes the current line and copy it to the clipboard (or Ctrl-L in Notepad++).
    Ctrl-C with no text selected, copies the current line to the clipboard.
    Ctrl-X with no text selected, copies the current line to the clipbard and removes it.
    Ctrl-K, comment the selected lines.
    Ctrl-Shift-K, uncomment the selected lines.
    F3, while a search is active, goes to next element. (This is conflicting with Scintilla's default find and replace dialog though, not really important I guess).
    Shift-F3, while a search is active, goes to previous element.
    Ctrl-U, change the selected text to lower case. Shortcut already exists, never mind.
    Ctrl-Shift-U, change the selected text to upper case.
    Add/replace code snippets : 

    f =>
    for ($.@i$ = $0$; $.@i$ < $max$; $.@i$++) { $selected$$end$} w =>
    while ($1$) { $selected$$end$} sc / script =>
    $map$,$x$,$y$,$direction$ script $name$ $SPRITE$,{ $selected$$end$} func =>
    function script $name$ { $selected$$end$} hid (could probably use another name I guess) =>
    - script $NAME$ -1,{ $selected$$end$} menu =>
    switch(select("$menu$")) { case 1: $selected$$end$ break;} dup =>
    $map$,$x$,$y$,$direction$ duplicate($name$) $name$#$tag$ $SPRITE$$selected$$end$  
    Could probably add more snippets, but these are the only ones that come to mind at the moment xD! It would be even better if we could make our own, they're really a time saver. If you're not familiar with snippets, they are used by typing the first letters (func for example) and then pressing tab. It will autocomplete the rest. There is already one for "f" but it's obviously meant for C++ autocompletion code.
     
    And also, when you press Enter, it would be nice if it could use the previous indent (or use indent + 1 if the line ends with { ) to start the new line instead of starting back at the beginning. This is probably the most important feature in all of this, it is somewhat annoying to add the tabs everytime you add a new line.
     
    Thank you for this amazing tool btw ;]!
  23. Upvote
    Ridley got a reaction from Fizi in How to make pron_in can be rotate 360 degree   
    It's client side,
    data/
    indoorrswtable.txt
    viewpointtable.txt
    Either in your grf or data.grf
  24. Upvote
    Ridley reacted to evilpuncker in Oboro / Rebellion Quest and Skills   
    things like that makes me go nuts lol, developers got a life too, and no, they are not worrying about futile things, they do what their time allows them to do, oboro quest is a futile thing rebellion skills will be released once we got proper info, want to speed up the process? go level up a rebellion in kRO and try to get all skill formulas, seems like you think that developers have all their time available to help us while we don't have a shit back to the community? (I'm speaking for myself now), I try to contribute with the community as much as I can, you should consider doing the same (or even better) instead of just asking for support every damn time, sorry for talking so much but your "do it and that and stop doing futile things" with no love nor respect to the developers made me mad
  25. Upvote
    Ridley reacted to zackdreaver in Community Help for Item Correct Information   
    Based on this issue page
    https://github.com/HerculesWS/Hercules/issues/980
     
     
    [1282] Krieger_Katar2
     
     
     
    [1661] Mental_Destroyer
     
     

    [2126] Guyak_Shield
     
     
     
    [2274] Ghost_Bandana
     
     

    [2936] Recovery_Ring
     
     
     
    [2968] RWC_2012_Pendant
     
     
     
    [2969] RWC_2012_Pendant_
     
     
     
    [5387] Neko_Mimi_Kafra
     
     
     
    [5462] Spiked_Scarf
     
     
     
    [5463] Rainbow_Scarf
     
     
     
    [5467] Helm_Of_Dragoon
     
     
     
    [5469] Noble_Hat
     
     
     
    [5497] King_Tiger_Doll_Hat
     
     
     
    [5579] Wanderer's_Sakkat
     
     
     
    [5580] Red_Beret
     
     
     
    [5595] Eye_Of_Juno
     
     
     
    [18528] Tare_Neko_Cru
     
     
     
    [18540] Evil_Mask
     
     
     
    [18549] Nabi_Hair_Pin
     
     
     
    [2647] Nile_Rose
     
     
     
    [5254] Deviling_Hat
     
     

    [12221] Megaphone_
     
     
     
    [5660] Gryphon_Hat
     
     
     
    [18580] Yggdrasil_Crown
     
     

    [18602] Watermelon_Slice
     
     

    [18626] Gelato_Hat
     
     

    [18629] B_Desert_Wolf_Hat
     
     

    [18671] Rudolf_Hairband
     
     

    [19026] Egir_Helm_K
     
     
     
    Please use kRO item database as reference
    http://ro.gnjoy.com/guide/runemidgarts/itemdefenselist.asp
     
     
    *Sorry for eyesore post
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.