Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/09/12 in all areas

  1. Packetversion = Datum der exe, als beispiel eine exe von 07-08-2010 -Anleitung für Packetversion compillieren unter windows. 0. mmo.h öffnen (ambesten direkt die Projektdatei in visualstudio express 2008/10 laden, die Projekt-datei heisst "eAthena-8") 1. Auf der rechten seite seht ihr den sog. Projektbrowser, dort wählt ihr den Loginserver aus und öffnet den "common"-ordner und danach die "mmo.h" 2. Folgendes in der mmo.h suchen: #ifndef PACKETVER #define PACKETVER 20081126 //#define PACKETVER 20100707 #endif 20081126 ist in diesem fall das datum der exe, die voreingestellt ist. (um es mal übersichtlicher dar zu stellen die exe ist von 2008-11-26) 3. Packetversion unserem datum 2010-08-07 anpassen (ist nur ein beispiel, müsst ihr für eure exe ambesten selbst raussuchen) #ifndef PACKETVER #define PACKETVER 20100807 //#define PACKETVER 20100707 #endif 4. Das ganze Compillieren ( Oben in der Menüleiste, Erstellen-> Projektmappe Neu erstellen drücken (alternativ "Strg+Alt+f7")) Warten bis alles fertig compilliert ist. 5. Packet_db.txt ( /eathena/db/packet_db.txt ) 5.1 Suche folgendes: packet_db_ver: 23 5.2 Für RagRe so einstellen: packet_db_ver: 25 5.3 Für ältere Client versionen: 5.3.1 Datum des Clients suchen. (in folgendem Format 2008-01-02 (yyyy-mm-dd)) In unserem fall suchen wir also die exe von 2008 01 02, Wenn wir den eintrag gefunden haben Scrollen wir so lange hoch, bis "packet_ver:" zu sehen ist, kann auch sein das ihr garnicht scrollen müsst. In diesem fall hat die exe, eine Packet_version 22. dieses tragen wir wieder oben bei packet_db_ver: 23 ein, also anstatt der 23 eine 22. 6. Packet_db.txt Speichern. 7. Spaß mit dem server haben^^.
    1 point
  2. KeyWorld has made a function that allow to generate a number without repeating.... Check this Post... http://rathena.org/board/topic/54288-random-number-with-return/page__view__findpost__p__59952 use that function to help you generate a number randomly without repeating ~
    1 point
  3. Bei (den meisten) ungedifften Clients kann man mittels PE Viewer die Packetversion herausfinden. Unter File Header->Time Date Stamp. Nur zur Information, falls man sie vergessen sollte.
    1 point
  4. case PR_SANCTUARY: hp = (skill_lv>6)?777:skill_lv*100; if (dstmd->class_ == MOBID_EMPERIUM) hp = 1; break;
    1 point
  5. maybe Rytech sleepy while writing this skill, just kidding rate = 10000 = 100% rate = 100 = 1% you need to multiply the rate to 10x at skill.c [Pinpoint Attack] default: skill_break_equip(bl,(skilllv == 3) ? EQP_SHIELD : (skilllv == 4) ? EQP_ARMOR : EQP_WEAPON,rate,BCT_ENEMY); break; change to default: skill_break_equip(bl,(skilllv == 3) ? EQP_SHIELD : (skilllv == 4) ? EQP_ARMOR : EQP_WEAPON,rate*10,BCT_ENEMY); break;
    1 point
  6. just read it LOL anyways if i have time i can post a specified guide about your request since as of know i have problems due to me using English to all my guides and posting it under international section xD
    1 point
  7. at status.c [Manhole] just remove if( sc->data[sC__MANHOLE] || ((tsc = status_get_sc(target)) && tsc->data[sC__MANHOLE]) ) { switch(skill_num) { // Skills that can be used even under Man Hole effects. case SC_SHADOWFORM: case SC_STRIPACCESSARY: break; default: return 0; } } and then find if( skill_num == PR_LEXAETERNA && (tsc->data[sC_FREEZE] || (tsc->data[sC_STONE] && tsc->opt1 == OPT1_STONE)) ) return 0; add below if( (skill_num != SC_SHADOWFORM && skill_num != SC_STRIPACCESSARY) && tsc->data[sC__MANHOLE] ) return 0; at unit.c [Manhole] just remove if( tsc && tsc->data[sC__MANHOLE] ) return 0; compile it, enjoy
    1 point
  8. Everade, resume interrupted downloads added only for FTP, also added backward compatibility with the old format of the patch list. ncmonx, more info, please. Choko, fixed, now working fine. Link updated.
    1 point
  9. ded 1 New NPC: Card Compounder v1.0 EWW!! My first release in 2012!!! A reason to celebrate!!! Just kidding... Here is what it does: This Script allows an player to insert any kind of card in his/her equipment in the inventory as long he/she pays the price for it, which should be relative high as for it is a very handy feature.
    1 point
  10. iHeartRO represent.
    1 point
  11. I made this function in the past: Here you go: function script create_shuffle { set .@min, getarg(0); set .@max, getarg(1); if ( .@min > .@max ) { set .@min, .@max; set .@max, getarg(0); } set .@var$, getarg(2); set .@count, getarg(3) > 128 ? 128 : getarg(3); if ( .@max-.@min+1 < .@count || .@count < 1 ) return; while ( .@i < .@count ) { if ( !getd(".@tmp_"+.@i ) ) { set .@r, rand(.@min+.@i,.@max); set .@save, .@r-.@min; if ( getd(".@tmp_"+.@save ) ) set .@r, getd( ( .@save > 127 || .@save < 0 ) ? (".@overflow_" + .@save) : (.@var$ + "[" + .@save + "]") ) ; setd .@var$ + "[" + .@i + "]", .@r ; setd( (.@save > 127 || .@save < 0 ) ? (".@overflow_" + .@save) : (.@var$ + "[" + .@save + "]"), .@i + .@min ); setd ".@tmp_"+.@save, 1; } set .@i, .@i+1; } return .@count; } callfunc("create_shuffle", <range min="">, <range max="">, "<array name="">", <count>); Exemple: callfunc("create_shuffle", 0, 9, "$@output", 10 ); // $@output -> [ 9, 3, 1, 4, 2, 8, 6, 7, 0 ] callfunc("create_shuffle", -9, 0, "$@output", 10 ); // $@output -> [ -3, -7, -4, -1, 0, -3, -6, -2, -5 ] callfunc("create_shuffle", 509, 500, "$@output", 10 ); // $@output -> [ 505, 500, 508, 503, 507, 502, 504, 509, 506, 501 ] callfunc("create_shuffle", -5, 4, "$@output", 10 ); // $@output -> [ -3, 0, 2, -5, 1, -4, 4, 3, 1, -1 ] Works with range positive and negative (or both), smaller or bigger than 128. Optimized to get the smaller gotocount possible.
    1 point
×
×
  • Create New...