Jump to content

Jey

Members
  • Posts

    249
  • Joined

  • Last visited

  • Days Won

    4

Everything posted by Jey

  1. Jey

    option_val0

    Are you able to reproduce this issue somehow? I think this shouldn't be underestimated. I ran into this bug when testing the guild storage for pr #1115 and thought I fixed it in https://github.com/Jeybla/rathena/commit/f6ae6b05c9d94371cc0091af23d67dc5a453b47csince I couldn't reproduce it... If this issue is in the head revision we should fix it quick.
  2. You're right. Converting everything is prolly not possible. But big parts are just routine which could simply be replaced by a script. Those parts that couldn't be converted by the script can be printed out as a warning with a small advice.
  3. Yes, we are! But I don't think Secrets didn't give credits intentionally. So let's stay calm I'd wish rathena and hercules could share even more work together. What about a complete python scripts to convert rathena scripts to hercules and reverse? Or using the same database structure and working on the database together? I'd love to see those things. Edit: Big thumbs up to Ridley and Nihad for sharing those scripts btw!
  4. Please use the rathena github repository. This will fix all your problems...
  5. So simply use it like: npctalk "MyCoolNPCName: ..."; Edit: Just realized that I didn't understand the request. Sorry for that.
  6. I have no clue what you want to do with with script. But you can replace this big switch with something like this: OnInit: //initialize arrays: setarray .cedi_cards[0],4001,4424,4025,4143,...; setarray .cedi_points[0],10,15,10,200,...; //make sure to add 64 entries to these arrays //... set .@rand0to63,rand(64); set .@card,.cedi_cards[.@rand0to63]; //renamed .card$ to .@card /* .card$ is a string, you should use just .card or .@card instead. The same goes for the other integer variables. I'd also recommend to use .@scope variables here instead of an .npc variable. */ set .@points,.cedi_points[.@rand0to63]; //renamed .cedi_points$ to .@points set .@cname$,getitemname(.cedi_cards[.@rand0to63]); // renamed .cname$ to .@cname$ //...
  7. function script AbandonCastle { set .@castle_map$,getarg(0); // Kill guardians, disable the Kafra, and set owner to 0. killmonster .@castle_map$,"Guardian#"+.@castle_map$+"::OnGuardianDied"; disablenpc "Kafra Staff#"+.@castle_map$; SetCastleData .@castle_map$,1,0; // Wait before refreshing guild information. sleep 7000; Announce "Guild Base [" + GetCastleName(.@castle_map$) + "] has been abandoned.",0; donpcevent .@castle_map$+"::OnRecvCastle"; return; } Der Snippet ist prinzipiell geklaut aus agit_main.txt "OnGuildBreak". Für SE brauchst solltest du nochmal in agit_main_se.txt schauen ;>
  8. Gilde breaken funktioniert immer Edit: Gerade mal in die Scripts geschaut. Scheint tatsächlich der einzige Weg zu sein ein Castle aufzugeben. Allerdings werden dann alle Castles der Gilde aufgegeben...
  9. freeloop ist böse xD Normalerweise müsste dann auch im Mapserver ein Fehler mit "infinity loop" angezeigt werden. Aber wenn man sich das Script mal oben ansieht würde ich sowieso raten ein ganz anderes zu nutzen. Allein diese Massen an Labels x.x
  10. Kann gut sein, dass das Script einfach austimed. Ich würde aber definitiv den aktuelle git head empfehlen, statt eine nicht mehr supportete SVN Version. Link: https://github.com/rathena/rathena
  11. Jey

    Skill Formel

    Kein Problem ^^
  12. Jey

    Skill Formel

    skillratio ist sozusagen der Prozentuale Wert von etwas. In diesem Fall von MATK. Der standard Wert ist 100 (bzw. 100%, bzw. 1 MATK), daher "fehlt" dort auch die 100. Siehe: https://github.com/rathena/rathena/blob/master/src/map/battle.c#L5419
  13. Jey

    Skill Formel

    Viele Damageberechnungen sind in der battle.c. U.a. auch für SG: https://github.com/rathena/rathena/blob/master/src/map/battle.c#L5564
  14. Jey

    Skill Formel

    Du wirst im src nicht 1:1 die Formeln aus dem IroWiki finden. Die meisten Einstellungen/Formeln findest du in der Skill.c oder im db-Ordner: https://github.com/rathena/rathena/blob/master/src/map/skill.c https://github.com/rathena/rathena/tree/master/db
  15. Hi Sekiel, Allgemein Scripttechnisch würde ich das ungefähr so lösen: - Alle Vorkommnisse von resetlvl suchen - Entweder Scriptteile deaktivieren oder die Variable "lastJob" (Beispiel aus jobmaster.txt) nicht setzen. Im Jobmaster könnte man auch diese Einstellung unmöglich machen: setarray .Rebirth[0],99,50; // Minimum base level, job level to rebirth OR change to third class Aber nicht die standard Scripts (Valkyrie) vergessen ;>
  16. Jey

    Deletion Time

    char_athena.conf
  17. script_commands.txt If you already tested it, there seems to be no script driven solution.So you should look for an example of raising fame in the src. Example for pharmacy_10 in src/map/skill.c: case 10: fame += battle_config.fame_pharmacy_10; // Success to prepare 10 Condensed Potions in a row //[...] if (fame) pc_addfame(sd,fame); The needed function is pc_addfame. Now you can simply create a script function like this:Add to src/custom/script.inc: /// Increases fame of the attached character /// /// addfame <fame points>; BUILDIN_FUNC(addfame) { int fame; struct map_session_data *sd = script_rid2sd(st); nullpo_retr(1, sd); //Player must be attached fame = script_getnum(st,2); if( fame < 0 ) { ShowError("addfame: Fame must be positive. (Fame=%d).\n", fame); return 1; } pc_addfame(sd,fame); return SCRIPT_CMD_SUCCESS; } Add to src/custom/script_def.inc: BUILDIN_DEF(addfame,"i"), Keep in mind that every job will get the fame points. Even if it's a High Wizard.
  18. np ^^ Just attach to the player and use strcharinfo like this: set .@pid,getcharid(1); //Set Party Id getpartymember .@pid,2; //Get Party Information while(1) { //Loops until a Player gets the item detachrid; //Detach from the first player set .@pm_aid,$@partymemberaid[rand($@partymembercount)]; //Saves the Account ID of the random Member if( attachrid(.@pm_aid) ) { //Just to be sure he is in the same party and not logged with another character if( getcharid(1) != .@pid ) continue; //Online, attached and in the same party: announce strcharinfo(0)+" has got the item.",bc_all; getitem 502,1; break; } }
  19. set .@pid,getcharid(1); //Set Party Id getpartymember .@pid,2; //Get Party Information while(1) { //Loops until a Player gets the item set .@pm_aid,$@partymemberaid[rand($@partymembercount)]; //Saves the Account ID of the random Member if( isloggedin(.@pm_aid) ) { getitem 502,1,.@pm_aid; break; } }
  20. Were too lazy to completely diff my Client again, so I just moved some lines of the "DisablePacketEncryption"-Patch by Ai4rei. Maybe someone needs it, too: Paste: df6z6jd1xyi
  21. Yes. The Patcher will request the notice.html on startup. So put your status informations in it. To keep it up-to-date write a short script in php or shell/perl/python/... combined with cron.
  22. The Thor Patcher contains a webview. So you can display the server status in it. (Con: You're bound to the webview space. Pro: Should be easy to implement)
  23. Ist in den Settings ein Graphic Device und eine Auflösung ausgewählt?
  24. Hi Amistad, I think you'ld like to increase status immunity for players to 200 vit. (Instead of the original 100 vit) So you just need to set pc_status_def_rate to 50.
×
×
  • Create New...