Jump to content

Pysk

Members
  • Posts

    234
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Pysk

  1. Hallo. Als ich mir eben die Conf Datei der Commands angeschaut habe wusste ich nicht was ich damit anfangen soll. Früher war das ganze verständlich aber jetzt brauche ich eine kurze Erklärung. Wie stelle ich das teil ein? Bei mir sieht das jetzt mal so aus: /* Atcommands and charcommands configuration file */ /* The symbol that will be used to recognize commands. You can set any one character except: - control-characters (0x00-0x1f), - '%' (party chat symbol) - '$' (guild chat symbol) - '/' (client commands symbol) atcommand_symbol represents @commands used locally. charcommand_symbol represents #commands used on other players. */ atcommand_symbol : "@" charcommand_symbol: "#" /* Command aliases You can define aliases for any command. Aliases work just like original command. Format is <commandname>: ["<alias>", ...] */ aliases: { mobinfo: ["monsterinfo", "mi"] iteminfo: ["ii"] time: ["date", "serverdate", "servertime"] autotrade: ["at"] help: ["h"] jumpto: ["goto", "warpto"] mount: ["mountpeco"] who: ["whois"] npctalk: ["npctalkc"] gvgon: ["gpvpon"] gvgoff: ["gpvpoff"] jobchange: ["job"] load: ["return"] warp: ["rura", "mapmove"] dye: ["ccolor"] hairstyle: ["hstyle"] haircolor: ["hcolor"] monster: ["spawn"] blvl: ["lvup", "blevel", "baselvl", "baselvup", "baselevel", "baselvlup"] jlvl: ["jlevel", "joblvl", "joblvup", "joblevel", "joblvlup"] glvl: ["glevel", "guildlvl", "guildlvup", "guildlevel", "guildlvlup"] allskill: ["allskills", "skillall", "skillsall"] allstats: ["allstat", "statall", "statsall"] ban: ["banish"] unban: ["unbanish"] unjail: ["discharge"] homlevel: ["hlvl", "hlevel", "homlvl", "homlvup"] homevolution: ["homevolve"] mutearea: ["stfu"] monsterignore: ["battleignore"] raise: ["revive"] kill: ["die"] } /* Commands help file */ help: { @include "conf/help.txt" } Okay und jetzt? Kann man die alte atcommand.conf nicht einfach einfügen oder so? Also nun mal ehrlich ich habe keine Ahnung wie ich da was einstellen soll... Oder wird das jetzt in der groups.conf festgelegt?
  2. EDIT: Fehler gefunden es lag an der ragnarok.exe... -------------------------------------- Hallo. Ich habe ein kleines aber nerviges Problem mit der setup.exe von Ragnarok die wir alle in unserem Client haben. Die wo man Grafick usw einstellen kann. Ich habe also RO frich installiert und wollte es starten. Also starte ich die ragnarok.exe ( kein patcher davor ) Dann gehts die setup auf und ich stelle alles ein. Ich drücke auf OK und die Setup.exe geht zu und gleich wieder auf. Das ganze geht so lange bis ich RO schließe also de exe davon. Ich komme dadurch natürlich nicht ins Game und weis nicht weiter... setup.exe habe ich schon ausgetauscht hilft aber nichts. Auf Windows XP klappt es wiederum ohne Probleme. Ich habe es nun als Administator usw ausgeführt. Kenn wer evtl das Problem und weis eine Lösung?
  3. Ist besser so. Also bei keyweb der hatte 2 GB Ram 120 GB Festplatte und 4X 2,2 GHZ und wie gesagt 2 Server kein Problem und preis war 29,99€ / Monat. Wenn du vor hast einen Linux Server zu hlen dann epmfehle ich dir sogar Keyweb. Wenn die wieder Windows Server anbieten werde ich auch wieder dahin wechseln.
  4. Kommt drauf an was der an astattung hat. Ich hatte 3 Jahre lang einen vServer mit Windows 2003 ( ne weile her ) da liefen Low und High drauf. High 50 - 80 Spieler Low 20 - 40 Spieler und hatte keine Laggs oder sowas.Der server war von Keyweb AG da die aber leider keine Windows Server mehr anbieten muss ich mir auch einen neuen anbieter suachen. Ich hoffe das hilft dir! Von Host Europe rate ich dir ab da hats bei 20 Spieler gelaagt wie doof...
  5. Ja war mir auch neu deswegen war ich verwundert, ich fande das andere etwas besser
  6. Hallo. Soweit ich mich erinnern kann konnte man den server damals auf pre-re umstellen und zwar in ../src/map/config/Renewal.h Gestern habe ich mir die rathena 16387 und wollte sie auf pre-re abändern da ich keine 3 Jobs brauche. Leider finde ich ../src/map/config/Renewal.h nicht mehr ich finde nur ../src/config/Renewal.h da ist es aber nicht drinn, jedenfalls nicht so wie es mal war eigentlich sieht es ja so aus: /** * Game Server Mode * @values: 1 or 0 * 1 : renewal support, such as renewal-exclusive formulas * -> Note some features may be enabled/disabled at this file despite this setting being ON * 0 : renewal support disabled, use original formulas **/ #define REMODE 1 Wo ist das nun hin? Oder muss ich hier alles mit // ausklammern um auf pre-re zu kommen? /** * rAthena configuration file (http://rathena.org) * For detailed guidance on these check http://rathena.org/wiki/SRC/map/config/ **/ /** * @INFO: This file holds general-purpose renewal settings, for class-specific ones check /src/map/config/Skills folder **/ /// game renewal server mode /// (disable by commenting the line) /// /// leave this line to enable renewal specific support such as renewal formulas #define RENEWAL /// renewal cast time /// (disable by commenting the line) /// /// leave this line to enable renewal casting time algorithms /// cast time is decreased by DEX * 2 + INT while 20% of the cast time is not reduced by stats. /// example: /// on a skill whos cast time is 10s, only 8s may be reduced. the other 2s are part of a /// "fixed cast time" which can only be reduced by specialist items and skills #define RENEWAL_CAST /// renewal drop rate algorithms /// (disable by commenting the line) /// /// leave this line to enable renewal item drop rate algorithms /// while enabled a special modified based on the difference between the player and monster level is applied /// based on the http://irowiki.org/wiki/Drop_System#Level_Factor table #define RENEWAL_DROP /// renewal exp rate algorithms /// (disable by commenting the line) /// /// leave this line to enable renewal item exp rate algorithms /// while enabled a special modified based on the difference between the player and monster level is applied #define RENEWAL_EXP /// renewal level modifier on damage /// (disable by commenting the line) /// // leave this line to enable renewal base level modifier on skill damage (selected skills only) #define RENEWAL_LVDMG /// renewal cast time variable cast requirement /// /// this is the value required for no variable cast-time with stats. /// formula: (DEX * 2) + INT /// default: 530 #define RENEWAL_CAST_VMIN 530 /// renewal enchant deadly poison algorithm /// /// leave this line to enable the renewed EDP algorithm /// under renewal mode: /// - damage is NOT increased by 400% /// - it does NOT affect grimtooth /// - weapon and status ATK are increased #define RENEWAL_EDP /// renewal ASPD [malufett] /// (disable by commenting the line) /// /// leave this line to enable renewal ASPD /// - shield penalty is applied /// - agi has a greater factor to your ASPD increase /// - there is a change in how skill/items give ASPD /// - some skills/items ASPD bonus won't stack #define RENEWAL_ASPD
  7. Ja warum? Ist einfach ein gutes Game und jeder kann es gut und schnell verstehn, es gibt massig Fanseiten was bei anderen Spielen ( von WoW und Aion mal abgesehn ) nicht so gibt. RO ist einfach gut für jung und alt und wird auch so nicht langweilig. RO ist eben Kult, und auch wenn ich einen sehr Lesitungsstarken PC habe ( wenn ich das mal so sagen darf ) finde ich die Grafik von RO gut so wie sie ist.
  8. Danke für die Info da ich keine dritten Jobs will werde ich dann pre-Re nutzen
  9. Habe den NPC jetzt mal getestet und ins deutsche übersetzt, klappt wunderbar.
  10. Hallo zusammen. Ich würde gerne mal wissen wo der unterschied zwichen RE und pre_RE ist, und was besser ist wenn ich einen Server ohne dritte Job Klassen betreiben will. Und WO stelle ich ein ob es RE oder pre_RE ist???
  11. Hier habe den NPC endlich gefunden http://www.eathena.ws/board/index.php?act=attach&type=post&id=2945 Das ist im übrigen der NPC den ich eigentlich suche... http://forums.irowik...ead.php?t=14054 Also ich habe das jetztmal zum teste so gemacht: prontera,152,195,5 script Card Converter 97,{ mes "[Card Converter]"; mes "Wie kann ich dir helfen?"; menu "Cards eintauschen",card_t; card_t: next; mes "[Card Converter]"; //- Prüfen ob der Spieler Cards bei sich hat (ID Range 4000 - 4700) getinventorylist; set @amount, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @amount, @amount +@inventorylist_amount[.@i]; } } //- Sollte der Spieler keine Cards bei haben if (!@amount){ mes "Du hast keine Karten dabei"; close; } //- Anzeige was für Cards der Spieler bei sich hat und in welcher Menge mes "Du hast folgende Karten in deinem Inventory:"; mes "Willst du sie tauschen?"; set @points, 0; //- Um Bugs zu vermeiden for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ set @points, @points +@inventorylist_amount[.@i] *$Card_PTS; mes "^FF0000"+countitem(@inventorylist_id[.@i])+"x "+getitemname(@inventorylist_id[.@i])+"^000000"; next; menu "Ja",ja,"Nein",nein; } } ja: next; mes "[Card Converter]"; //- Löschen der Cards aus dem Inventar for (set .@i, 0; .@i < @inventorylist_count; set .@i, .@i +1){ if (@inventorylist_id[.@i] > 4000 && @inventorylist_id[.@i] < 4700){ delitem @inventorylist_id[.@i], @inventorylist_amount[.@i]; } } //- Punkte vergabe oder sonst irgendwas als Belohnung für die Abgabe der Cards set #CARDPOINTS, #CARDPOINTS +@points; close; nein: close; } Das ganze Funktioniert auch richtig. zwei Fragen bleiber aber offen. 1. Wo merkt der NPC sich wie viele Punkter der einzelne Spieler hat, da sie im SQL nicht zu finden sind. 2. Wie lasse ich den NPC anzeigen wie viele Punkte der Spieler hat?
  12. EDIT: Danke das reicht mir sieht ja eigentlich genauso aus wie das andere ^^ Danke, ich werde es später mal testen und gucken wie es ausieht, die Konfiguration ist einleuchtend ^^
  13. Card Trader verkauft Cards, das ist nicht das was ich suche. Zum Link den du geschickt hast, der hilft mir nicht da der NPC ja nur Coins tauscht. Ich könnte wohl jede Card die es gibt in ein fi countitem eintragen, aber das ist mühselig, Ich suche eine möglichkeit wie der NPC mit bzw if countitem einen ID bereich abfragen kann...
  14. Guten Abend. Wie kann ich einem NPC sagen das er eine ID Range abchecken soll? Es geht darum, ich würde gernen einen NPC schreiben der die Card Range abfragte also von 4001 - 4453 und erkennt ob ich eines dieser ID Range im Inventar habe, oder 2 oder mehr, egal wie viele. Also ich spreche den NPC an und er fragt mich ob ich meine Cards gegen punkte eintauschen will würde heißen 1 Card = 1 Punkt 2 Cards = 2 Punkte usw. Der NPC müsste als erkennen ob und wie viele Cards ich besitze und diese löschen, wenn ich sage ich möschte meine Cards eintauschen. Das ganze soll natürlich nur für Cards gelten die im Inventar liegen, nicht im EQ. Kann mir jemand netterweise ein kleines beispiel schreiben wie ich das anstelle?
  15. Das war mein Fehler scheinbar. Ich habe erstmal den ganzen Client bei RMS gezogen, und dannach den Patcher drüberlaufen lassen dann ging es. Zuvor hate ich nur den lite patcher gezogen und der hing ja immer fest am 20.04.2011 aber der Client von RMS fing im Juli 2011 an zu patchen war also vom Datum schon drüber.
  16. Hallo. Ich suche ein Online Status Script für die Webseite so wie dieses: http://leviathan-ro.de/onlinestat/status.php Ich hatte das mal und weis das es aus 3 php Dateien besteht. Hat jemand einen Link wo ich das noch runterladen kann?
  17. Also ich mache das mit der Version von 2008 und habe keine Probleme. Jetzt weis ich natürlich nicht obs daran liegt.
  18. Wo mit machst du das Compailing?
  19. Habs derweile Hinbekommen ^^
  20. Pysk

    VPS?

    keyweb kann ich empfehlen weis aber nicht wie es da mit unendlich traffix ist, aber die preise sind okay. Aber sind auch keine US Server.
  21. Ich hatte diesen Guid damals schon in eAthena gepostet und deswegen stelle ich ihn hier auch wieder rein für die, die nicht wissen wie das geht. @go commands ändern Also das ändern ist ganz leicht. Du gehst in deinen Athena Ordner dann in den Ordner src und dann in map. Dort wirst du folgende Datei finden: atcommand C Die Datei mit dem Editor öffnen und suche nach diesem: /*========================================== * @go [city_number or city_name] - Updated by Harbin *------------------------------------------*/ int atcommand_go(const int fd, struct map_session_data* sd, const char* command, const char* message) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins }; Das in der Liste sind alle @go Commands mit der Koardinate wo man landet. In meinem Beispielt vertausche ich jetzt mal Niflheim mit Prontera, so das ich mit @go 0 in Niflheim rauskommen. Das sollte dann so ausehn! /*========================================== * @go [city_number or city_name] - Updated by Harbin *------------------------------------------*/ int atcommand_go(const int fd, struct map_session_data* sd, const char* command, const char* message) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_NIFLHEIM, 21, 153 }, // 0=Nifelheim { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_PRONTERA, 156, 191 }, // 13=Prontera { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins }; So, nun weis der Server schonmal das @go 0 Niflheim ist. Wenn ich nun @go eingebe steht Prontera noch immer bei @go 0 deswegen müssen wir noch eine kleinigkeit ändern. Schaut ein wenig weiter unten und ihr werdet das finden: // if no value, display all value if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) { clif_displaymessage(fd, msg_txt(38)); // Invalid location number or name. clif_displaymessage(fd, msg_txt(82)); // Please, use one of this number/name: clif_displaymessage(fd, " 0=Prontera 1=Morroc 2=Geffen"); clif_displaymessage(fd, " 3=Payon 4=Alberta 5=Izlude"); clif_displaymessage(fd, " 6=Al De Baran 7=Lutie 8=Comodo"); clif_displaymessage(fd, " 9=Yuno 10=Amatsu 11=Gonryun"); clif_displaymessage(fd, " 12=Umbala 13=Niflheim 14=Louyang"); clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii"); clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen"); clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel"); clif_displaymessage(fd, " 24=Veins"); return -1; } So das ist die Liste wie sie mit @go angezeigt wird. ändert das nun so ab: // if no value, display all value if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) { clif_displaymessage(fd, msg_txt(38)); // Invalid location number or name. clif_displaymessage(fd, msg_txt(82)); // Please, use one of this number/name: clif_displaymessage(fd, " 0=Niflheim 1=Morroc 2=Geffen"); clif_displaymessage(fd, " 3=Payon 4=Alberta 5=Izlude"); clif_displaymessage(fd, " 6=Al De Baran 7=Lutie 8=Comodo"); clif_displaymessage(fd, " 9=Yuno 10=Amatsu 11=Gonryun"); clif_displaymessage(fd, " 12=Umbala 13=Prontera 14=Louyang"); clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii"); clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen"); clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel"); clif_displaymessage(fd, " 24=Veins"); return -1; } Das war dann schon alles. Speichert die änderungen ab. Jetzt müsst ihr den Server nur noch nue Kompilieren. Ich mache das Mit MS Visual Studio 2008 Express. Wenn ihr alles richtig gemacht habt wird @go 0 nun Niflheim sein! Einfügen von neune @go commands Also hier habe ich damals lange gebraucht umd dahinter zu kommen warum ich nicht weiter gekommen bin. Daer bin ich froh wenn ich jemandem damit helfen kann. Ich werde nun zeigen wie man einen @go Command einfügt für bzw. eine eigene Map. Also geht in euren Atehna Ordner, wieder in den src Ordner und dann in den Ordner Common öffnet folgende Datei mapindex H Sucht einfach mal diesen Code ( kann auch sein das derweile Maps dazu gekommen sind ) //Some definitions for the mayor city maps. #define MAP_PRONTERA "prontera" #define MAP_GEFFEN "geffen" #define MAP_MORROC "morocc" #define MAP_ALBERTA "alberta" #define MAP_PAYON "payon" #define MAP_IZLUDE "izlude" #define MAP_ALDEBARAN "aldebaran" #define MAP_LUTIE "xmas" #define MAP_COMODO "comodo" #define MAP_YUNO "yuno" #define MAP_AMATSU "amatsu" #define MAP_GONRYUN "gonryun" #define MAP_UMBALA "umbala" #define MAP_NIFLHEIM "niflheim" #define MAP_LOUYANG "louyang" #define MAP_JAWAII "jawaii" #define MAP_AYOTHAYA "ayothaya" #define MAP_EINBROCH "einbroch" #define MAP_LIGHTHALZEN "lighthalzen" #define MAP_EINBECH "einbech" #define MAP_HUGEL "hugel" #define MAP_RACHEL "rachel" #define MAP_VEINS "veins" #define MAP_JAIL "sec_pri" #define MAP_NOVICE "new_zone01 Das ist die Liste der Maps die die atcommand kennt. Also in Beispiel nehmen wir Mocovia zum einfügen. Also tragt unter #define MAP_NOVICE "new_zone01 das ein #define MAP_MOSCOVIA "moscovia" Hierbei steht MAP_MOSCOVIA für den Verweis in der atcomand und "moscovia" ist der Name der Map. Das ganze sollte so aussehen //Some definitions for the mayor city maps. #define MAP_PRONTERA "prontera" #define MAP_GEFFEN "geffen" #define MAP_MORROC "morocc" #define MAP_ALBERTA "alberta" #define MAP_PAYON "payon" #define MAP_IZLUDE "izlude" #define MAP_ALDEBARAN "aldebaran" #define MAP_LUTIE "xmas" #define MAP_COMODO "comodo" #define MAP_YUNO "yuno" #define MAP_AMATSU "amatsu" #define MAP_GONRYUN "gonryun" #define MAP_UMBALA "umbala" #define MAP_NIFLHEIM "niflheim" #define MAP_LOUYANG "louyang" #define MAP_JAWAII "jawaii" #define MAP_AYOTHAYA "ayothaya" #define MAP_EINBROCH "einbroch" #define MAP_LIGHTHALZEN "lighthalzen" #define MAP_EINBECH "einbech" #define MAP_HUGEL "hugel" #define MAP_RACHEL "rachel" #define MAP_VEINS "veins" #define MAP_JAIL "sec_pri" #define MAP_NOVICE "new_zone01 #define MAP_MOSCOVIA "moscovia" Das einmal abspeichern da wir hier fertig sind. Gut wen ihr das habt speichert es ab. Geht nun wieder in den map Ordner im src Ordner öffnet wieder die atcommand C Datei und geht wieder zum Eintrag /*========================================== * @go [city_number or city_name] - Updated by Harbin *------------------------------------------*/ int atcommand_go(const int fd, struct map_session_data* sd, const char* command, const char* message) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins }; Nun schreibt ihr unter die Zeile von Veins folgendes: { MAP_MOSCOVIA, 224, 190 }, // 25=Moscovia Wir errinern uns wozu wir eben MAP_Moscovia eingetragen haben Wenn ihr das gemacht habt sollte das so aussehen. /*========================================== * @go [city_number or city_name] - Updated by Harbin *------------------------------------------*/ int atcommand_go(const int fd, struct map_session_data* sd, const char* command, const char* message) { int i; int town; char map_name[MAP_NAME_LENGTH]; int m; const struct { char map[MAP_NAME_LENGTH]; int x, y; } data[] = { { MAP_PRONTERA, 156, 191 }, // 0=Prontera { MAP_MORROC, 156, 93 }, // 1=Morroc { MAP_GEFFEN, 119, 59 }, // 2=Geffen { MAP_PAYON, 162, 233 }, // 3=Payon { MAP_ALBERTA, 192, 147 }, // 4=Alberta { MAP_IZLUDE, 128, 114 }, // 5=Izlude { MAP_ALDEBARAN, 140, 131 }, // 6=Al de Baran { MAP_LUTIE, 147, 134 }, // 7=Lutie { MAP_COMODO, 209, 143 }, // 8=Comodo { MAP_YUNO, 157, 51 }, // 9=Yuno { MAP_AMATSU, 198, 84 }, // 10=Amatsu { MAP_GONRYUN, 160, 120 }, // 11=Gonryun { MAP_UMBALA, 89, 157 }, // 12=Umbala { MAP_NIFLHEIM, 21, 153 }, // 13=Niflheim { MAP_LOUYANG, 217, 40 }, // 14=Louyang { MAP_NOVICE, 53, 111 }, // 15=Training Grounds { MAP_JAIL, 23, 61 }, // 16=Prison { MAP_JAWAII, 249, 127 }, // 17=Jawaii { MAP_AYOTHAYA, 151, 117 }, // 18=Ayothaya { MAP_EINBROCH, 64, 200 }, // 19=Einbroch { MAP_LIGHTHALZEN, 158, 92 }, // 20=Lighthalzen { MAP_EINBECH, 70, 95 }, // 21=Einbech { MAP_HUGEL, 96, 145 }, // 22=Hugel { MAP_RACHEL, 130, 110 }, // 23=Rachel { MAP_VEINS, 216, 123 }, // 24=Veins { MAP_MOSCOVIA, 224, 190 }, // 25=Moscovia }; Nun weis der Server das @go 25 Moscovia ist. Nun muss es noch in die @go Liste eingetragen werden. Geht wieder etwas nach unten zu: // if no value, display all value if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) { clif_displaymessage(fd, msg_txt(38)); // Invalid location number or name. clif_displaymessage(fd, msg_txt(82)); // Please, use one of this number/name: clif_displaymessage(fd, " 0=Prontera 1=Morroc 2=Geffen"); clif_displaymessage(fd, " 3=Payon 4=Alberta 5=Izlude"); clif_displaymessage(fd, " 6=Al De Baran 7=Lutie 8=Comodo"); clif_displaymessage(fd, " 9=Yuno 10=Amatsu 11=Gonryun"); clif_displaymessage(fd, " 12=Umbala 13=Niflheim 14=Louyang"); clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii"); clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen"); clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel"); clif_displaymessage(fd, " 24=Veins"); return -1; } Für uns ist nur diese Zeile interesannt: clif_displaymessage(fd, " 24=Veins"); ändern die Zeile so ab: clif_displaymessage(fd, " 24=Veins Nun schreibt ihr euere Map rein. Das sieht dann so aus: clif_displaymessage(fd, " 24=Veins 25=Moscovia"); Hierbei gillt es zu beachten das dieses "); nur am Ende der zeile stehen darf sonst klappt es nicht! Das ganze sollte nun so ausehn: // if no value, display all value if (!message || !*message || sscanf(message, "%11s", map_name) < 1 || town < 0 || town >= ARRAYLENGTH(data)) { clif_displaymessage(fd, msg_txt(38)); // Invalid location number or name. clif_displaymessage(fd, msg_txt(82)); // Please, use one of this number/name: clif_displaymessage(fd, " 0=Niflheim 1=Morroc 2=Geffen"); clif_displaymessage(fd, " 3=Payon 4=Alberta 5=Izlude"); clif_displaymessage(fd, " 6=Al De Baran 7=Lutie 8=Comodo"); clif_displaymessage(fd, " 9=Yuno 10=Amatsu 11=Gonryun"); clif_displaymessage(fd, " 12=Umbala 13=Prontera 14=Louyang"); clif_displaymessage(fd, " 15=Novice Grounds 16=Prison 17=Jawaii"); clif_displaymessage(fd, " 18=Ayothaya 19=Einbroch 20=Lighthalzen"); clif_displaymessage(fd, " 21=Einbech 22=Hugel 23=Rachel"); clif_displaymessage(fd, " 24=Veins 25=Moscovia"); return -1; } Das war dann schon alles. Speichert die änderungen ab. Jetzt müsst ihr den Server nur noch nue Kompilieren. Ich mache das Mit MS Visual Studio 2008 Express. Wenn ihr es richtig gemacht habt sollte @go 25 euch nach Moscovia bringen. Ich hoffe das ich alles richtig erklärt habe und nixs vergessen oder vertauscht habe. Wenns doch Probleme gibt einfach mal melden.
  22. 3 Jahre Server Erfahrung und dann sowas... Hast recht nu gehts. Dummheit gehört eingemauert. Danke
  23. Ich gehe auch davon aus das es ein SRC Fehler ist, nein im Server kommen keine Fehler und im Skill Tree stimmt auch alles, dann werde ich wohl mal ne andere Revision ziehen.
  24. Hallo. Ich habe folgende SVN geladen https://rathena.svn.sourceforge.net/svnroot/rathena/trunk/ Alles klappt soweit ganz gute ohne Fehler. Nur beim WS stimmt was nicht. Ich kann Cart Trmination nicht Skillen, ich skille denn, dann sage ich Okay soll das Skillen, und dann wird der wieder grau und ich bekomme meine Job Punkte zurück. Ich habe bisher 2 Exen versucht daher gehe ich davon aus das es nicht am Client liegt ( Administrator ausführung ist gemacht ) Auf dem Bilder geht der Fehler nochmal hervor. Jemand ne Idee was das sein kann??? Alle anderen Skills lassen sich normal skillen, sowhl per Maus als auch per @skillall
  25. Also bei mir sieht das ganze derzeit so aus wie auf dem Bild, mit dem Admin habe ich diesesmal drann gedacht Die genutze exe steht unten drunter Ich habe das jetzt auf meinem Windows 7 PC und auf dem XP Rechner meiner Frau versucht und beide machen den selben Fehler...
×
×
  • Create New...