Jump to content

Haruka Mayumi

Content Moderator
  • Content Count

  • Avg. Content Per Day

  • Joined

  • Last visited

  • Days Won


Everything posted by Haruka Mayumi

  1. // When to re-display the guild notice // Upon teleporting (regardless of changing maps): 2 (official) // Upon changing maps: 1 // Do not re-display: 0 (disabled) guild_notice_changemap: 0 https://github.com/rathena/rathena/blob/master/conf/battle/guild.conf#L56
  2. Read rules before posting. you just violated 3 rules in 1 post.. - Uninformative Topic Title - Posting Topic in CAPSLOCK - Incorrect Forum for the Topic Regarding your topic. The server might be using prevention of editing the sprite(gepard additional functuality)..
  3. flywing script. replace FARM_MAP with your gold room map.. 601,Wing_Of_Fly,Fly Wing,11,60,,50,,,,,0xFFFFFFFF,63,2,,,,,,{ if(strcharinfo(3) == "FARM_MAP") warp strcharinfo(3),0,0; else itemskill "AL_TELEPORT",1; },{},{}
  4. nope. it's a personal private source i created.
  5. you used sd without checking if there's session data. also using sd on the loop is a no.. you should use the tsd. here's a last insight. struct s_dmglog { int id; //char id unsigned int dmg; unsigned int flag : 2; //0: Normal. 1: Homunc exp. 2: Pet exp } dmglog[DAMAGELOG_SIZE];
  6. for(i = 0, count = 0, mvp_damage = 0; i < DAMAGELOG_SIZE && md->dmglog[i].id; i++) { struct map_session_data* tsd = NULL; if (md->dmglog[i].flag == MDLF_SELF) { //Self damage counts as exp tap count++; continue; } tsd = map_charid2sd(md->dmglog[i].id); if (tsd == NULL) continue; // skip empty entries if (tsd->bl.m != m) continue; // skip players not on this map count++; //Only logged into same map chars are counted for the total. if (pc_isdead(tsd)) continue; // skip dead players if (md->dmglog[i].flag == MDLF_HOMUN && !hom_is_active(tsd->hd)) continue; // skip homunc's share if inactive if (md->dmglog[i].flag == MDLF_PET && (!tsd->status.pet_id || !tsd->pd)) continue; // skip pet's share if inactive if(md->dmglog[i].dmg > mvp_damage) { third_sd = second_sd; second_sd = mvp_sd; mvp_sd = tsd; mvp_damage = md->dmglog[i].dmg; } tmpsd[i] = tsd; // record as valid damage-log entry switch( md->dmglog[i].flag ) { case MDLF_NORMAL: dmgbltypes|= BL_PC; break; case MDLF_HOMUN: dmgbltypes|= BL_HOM; break; case MDLF_PET: dmgbltypes|= BL_PET; break; } } i'll give you a little insight on where you will edit it's somewhere here.
  7. There's a good way to log players damage to monsters. but there's also another way for logging the players damage vs players. i just really don't know which one you are aiming. if logs between pvm or pvp. if you are focusin on pvm. you can just simply get the md->dmglog however if you want to take pvp damage logs you can do things on sd->dmglog
  8. i dunno what you are trying to achieve. because the damage logs have their own respective code like the mob_data->dmglog
  9. it's already in your script.. `killedrid` - script TFRSummoner -1,{ OnInit: setarray .Monster[1],1002,1115; setarray .Chance[1],30,5; end; OnNPCKillEvent: [email protected] = inarray(.Monster,killedrid); if([email protected]) end; if( rand(1,100) <= .Chance[[email protected]]) atcommand "@summon "+killedrid+" 60"; end; } i'll explain it because i see that you want to learn.. at OnInit i put all the Monsters ID on an array called .Monster and after that. i put the percent chance they would be summon at an array called .Chance at OnNPCKillEvent, i checked if the monster they killed is is on the .Monster array and pass it on a variable call [email protected] if the monster id is not found.. it will end there doing nothing.. however if the monster is on the array . we will create a random number from 1 to 100 that signifies percentage and then finally match it with a logical operator to check if the random is within the chance.. If the check is true. than it will summon
  10. This is all about source.. you can start looking at pc.cpp/.hpp uint16 dmglog[DAMAGELOG_SIZE_PC]; ///target ids EDIT : however if you just want to get the damage log of a certain mob.. it's good to look at mob_dead function around mob.cpp
  11. Item ID : 12214 Name : Convex Mirror
  12. GRF : data/luafiles514/lua files/signboardlist.lub
  13. case UNT_WHISTLE: case UNT_ASSASSINCROSS: case UNT_POEMBRAGI: case UNT_APPLEIDUN: case UNT_HUMMING: case UNT_DONTFORGETME: case UNT_FORTUNEKISS: case UNT_SERVICEFORYOU: + if(bl->type == BL_HOM) return 0; if (sg->src_id==bl->id && !(sc && sc->data[SC_SPIRIT] && sc->data[SC_SPIRIT]->val2 == SL_BARDDANCER)) return 0; if (!sc) return 0; if (!sce) sc_start4(ss, bl,type,100,sg->skill_lv,sg->val1,sg->val2,0,sg->limit); else if (sce->val4 == 1) { //Readjust timers since the effect will not last long. sce->val4 = 0; //remove the mark that we stepped out delete_timer(sce->timer, status_change_timer); sce->timer = add_timer(tick+sg->limit, status_change_timer, bl->id, type); //put duration back to 3min } break;
  14. You can find this on Skill.cpp.. You will use : skill_addtimerskill (struct block_list *src, t_tick tick, int target, int x,int y, uint16 skill_id, uint16 skill_lv, int type, int flag) Then simply add your custom skill around static TIMER_FUNC(skill_timerskill)
  15. Those costumes requires /effect to be "ON", and the effects should be on grf data/texture/effect/. it is also need to keep update your data/luafiles514/lua files/hateffectinfo.lub so that if there's new hateffects. it will be shown correctly without errors. No need to delete the topic because this can help other people who wants have the same problem
  16. You need to load the pvp script first before the Statues.. you must also make sure that there's atleast 1 player on the ranking before you load the statues script ( because that's how the script is made which is really not good ) "prontera,163,190"; } <<<< Remove this (causing error) // --------------------------------------------- OnSpawn:
  17. Cleaned and Optimize for cleaner look ~ ^_~
  18. View File [ Yumi ] Loading Screens Summary: Since i don't use them anymore. i'm willing to share this simple loading screens. i removed all the text below and above so that anyone who want to use this would be able to put text without cleaning it. Submitter Haruka Mayumi Submitted 06/02/2020 Category Loading Screens Video Content Author Haruka Mayumi  
  19. Version 1.0.0


    Summary: Since i don't use them anymore. i'm willing to share this simple loading screens. i removed all the text below and above so that anyone who want to use this would be able to put text without cleaning it.


  20. You can also ask the server to create something like this.. it's something i made weeks ago. @HideView and @ShowView
  21. Adding information like Error on console is an additional information.. this is tested and is working fine on my side.
  22. simple 2 words like "not working" will not solve your problem.
  23. peek?. check player equipments? or peak? get highest player counted?
  24. the 3 dots means that you have a working attached rid script.. you must make ensure that every script would be detached(this mostly happens when calling functions).. for the global message. that was probably the motd from conf/motd.txt
  • Create New...

Important Information

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