Jump to content

BabaVoss

Members
  • Posts

    79
  • Joined

  • Last visited

Everything posted by BabaVoss

  1. @joecalis good day sir joe, it worked. but theres a little problem, hpmeter for party member isnt visible also hehe. how can we fix it?
  2. @joecalis Good day sir joe, you got any idea how to make this work?
  3. @joecalis wow it worked like magic, im so happy thank you, you are the best! Is it also possible to hide on mapflag gvg_castle or on woe castle? incase during woe it will cause lag or fps drop, i could turn off viewhpmeter during woe castle
  4. @joecalis good day sir joe, sorry i dont have this on my clif.cpp. i only have this /*========================================== * Server tells 'sd' player client the abouts of 'dstsd' player *------------------------------------------*/ static void clif_getareachar_pc(struct map_session_data* sd,struct map_session_data* dstsd) { struct block_list *d_bl; int i; if( dstsd->chatID ) { struct chat_data *cd = NULL; if( (cd = (struct chat_data*)map_id2bl(dstsd->chatID)) && cd->usersd[0]==dstsd) clif_dispchat(cd,sd->fd); } else if( dstsd->state.vending ) clif_showvendingboard(&dstsd->bl,dstsd->message,sd->fd); else if( dstsd->state.buyingstore ) clif_buyingstore_entry_single(sd, dstsd); if(dstsd->spiritball > 0) clif_spiritball_single(sd->fd, dstsd); if (dstsd->spiritcharm_type != CHARM_TYPE_NONE && dstsd->spiritcharm > 0) clif_spiritcharm_single(sd->fd, dstsd); if (dstsd->soulball > 0) clif_soulball_single(sd->fd, dstsd); if( (sd->status.party_id && dstsd->status.party_id == sd->status.party_id) || //Party-mate, or hpdisp setting. (sd->bg_id && sd->bg_id == dstsd->bg_id) || //BattleGround pc_has_permission(sd, PC_PERM_VIEW_HPMETER) ) clif_hpmeter_single(sd->fd, dstsd->bl.id, dstsd->battle_status.hp, dstsd->battle_status.max_hp); /*========================================== * Sends HP bar to a single fd. [Skotlex] *------------------------------------------*/ void clif_hpmeter_single(int fd, int id, unsigned int hp, unsigned int maxhp) { #if PACKETVER < 20100126 const int cmd = 0x106; #else const int cmd = 0x80e; #endif WFIFOHEAD(fd,packet_len(cmd)); WFIFOW(fd,0) = cmd; WFIFOL(fd,2) = id; #if PACKETVER < 20100126 if( maxhp > INT16_MAX ) {// To correctly display the %hp bar. [Skotlex] WFIFOW(fd,6) = hp/(maxhp/100); WFIFOW(fd,8) = 100; } else { WFIFOW(fd,6) = hp; WFIFOW(fd,8) = maxhp; } #else WFIFOL(fd,6) = hp; WFIFOL(fd,10) = maxhp; #endif WFIFOSET(fd, packet_len(cmd)); }
  5. Good eve @GM Winter, i turned on viewhpmeter for all. i wanted to provide new gameplay experience for players, but the problem is, hp bar also shows on hide/cloak status. thats why i want it to hide on hide/cloak status
  6. Good day guys, i would like to ask help regarding View_hpmeter, how to disable or hide hp bar when in Hide/Cloak status?
  7. - script agibase -1,{ OnPCLoginEvent: if (readparam(bAgi)>=150) bonus bDelayRate,-90; end; } Good day, Can someone help me make this script work. I tried, OnPCLoginEvent and OnPCCalcStatEvent. it doesnt work, im not sure what is the problem. Basically what i want to do is, when a user has atleast 150 Agi, they will have a bonus effect. disclaimer, yes i know about agibase settings on config. But i wanted to use "kiel card" delay instead. Thank you in advance!
  8. is it possible to enable view_hpmeter on certain maps only. or make a mapflag that enable to see hp on users.
  9. @sapitosucio hello thank you for your response, i already fix it. Can you help me with another thing? can you help me fix this prob. i have this autoreward script for woe, but i have an sql error. saying i dont have table for this script. //=============================== Reward Engine ===============================// OnRewardHolder: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.holderprize); set .@k,.@k+2) getitem .holderprize[.@k], .holderprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for being part of the guild at "+callsub(OnKoeMap)+" King of Emperium."; } } return; OnRewardDefender: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.defenderprize); set .@k,.@k+2) getitem .defenderprize[.@k], .defenderprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for gracefully defending your Emperium "+callsub(OnKoeMap)+" King of Emperium."; } } freeloop(0); return; OnRewardBoth: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.bothprize); set .@k,.@k+2) getitem .bothprize[.@k], .bothprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for being a part of the best defender guild and King Of Emperium Holder at "+callsub(OnKoeMap)+"."; } } freeloop(0); return; OnKoeMap: for(.@i=0;.@i<getarraysize(.maps$);.@i+=2) if(.maps$[.@i]==strnpcinfo(2)) return .maps$[.@i+1]; return;
  10. Hello guys I need help with making an sql table for this script, its basically a KOE autoreward system for longest def and emp holder. here is the script, and the error im having because of SQL error. //=============================== Reward Engine ===============================// OnRewardHolder: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.holderprize); set .@k,.@k+2) getitem .holderprize[.@k], .holderprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for being part of the guild at "+callsub(OnKoeMap)+" King of Emperium."; } } return; OnRewardDefender: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.defenderprize); set .@k,.@k+2) getitem .defenderprize[.@k], .defenderprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for gracefully defending your Emperium "+callsub(OnKoeMap)+" King of Emperium."; } } freeloop(0); return; OnRewardBoth: set .@sql$, ((.Options&4)?"position = 0":"online = 1"); freeloop(1); set .@gid, getarg(0); set .@size, query_sql("SELECT account_id,char_id FROM `guild_member` WHERE guild_id = '"+.@gid+"' AND "+.@sql$,.@aid,.@cid); for(set .@j,0; .@j<.@size; set .@j,.@j+1) { if ((.Options&8) && !(.Options&4)) { set .@ip$, replacestr(getcharip(.@aid[.@j]),".","a"); if (getd(".@ip_"+.@i+"_"+.@ip$)) continue; setd ".@ip_"+.@i+"_"+.@ip$,1; } if (isloggedin(.@aid[.@j])) { for(set .@k,0; .@k<getarraysize(.bothprize); set .@k,.@k+2) getitem .bothprize[.@k], .bothprize[.@k+1], .@aid[.@j]; message rid2name(.@aid[.@j]),"You have been rewarded for being a part of the best defender guild and King Of Emperium Holder at "+callsub(OnKoeMap)+"."; } } freeloop(0); return; OnKoeMap: for(.@i=0;.@i<getarraysize(.maps$);.@i+=2) if(.maps$[.@i]==strnpcinfo(2)) return .maps$[.@i+1]; return;
  11. prt_in,136,105,3 script Assassin Suit#Assassin_Ring 667,{ if (checkquest(70012) != -1) { if (checkquest(70012,HUNTING) != 2 ) { mes "[Hashashin]"; mes "Have you finished hunting the 150 Deviruchi & 50 Owl Baron?"; next; switch(select("Yes:No:I want to quit")) { case 1: mes "[Hashashin]"; mes "Hmm, I don't think you've hunted them yet..."; close; case 2: mes "[Hashashin]"; mes "Remember, I need you to hunt 250 Deviruchi & 150 Owl Baron."; close; case 3: mes "[Hashashin]"; mes "Are you sure that you want to stop hunting?"; mes "Any progress that you've made will be erased."; next; switch(select("Yes:No")) { case 1: mes "[Hashashin]"; mes "Ok then, well come back here if you change your mind."; erasequest 70012; close; case 2: mes "[Hashashin]"; mes "Go Kill Deviruchi & Owl Baron."; close; } } } else { mes "[Hashashin]"; mes "Amazing, you did that with speed."; getitem 7838,1; erasequest 70012; close; } } if (checkquest(70013) != -1) { if (checkquest(70013,HUNTING) != 2 ) { mes "[Hashashin]"; mes "Have you finished hunting Penomena, Killer Mantis & Observer?"; next; switch(select("Yes:No:I want to quit")) { case 1: mes "[Hashashin]"; mes "Hmm, I don't think you're strong enough to defeath them!"; close; case 2: mes "[Hashashin]"; mes "OKay, I need you to kill 150 Penomena, 150 Killer Mantis & 150 Observer."; close; case 3: mes "[Hashashin]"; mes "Are you sure that you want to stop hunting?"; mes "Any progress that you've made will be erased"; next; switch(select("Yes:No")) { case 1: mes "[Hashashin]"; mes "Ok then, well come back here if you change your mind."; erasequest 70013; close; case 2: mes "[Hashashin]"; mes "Go kill them all and prove you are a true Assassin!"; close; } } } else { mes "[Hashashin]"; mes "Amazing, you did that with speed."; getitem 7086,1; erasequest 70013; close; } } if (checkquest(70014) != -1) { if (checkquest(70014,HUNTING) != 2 ) { mes "[Hashashin]"; mes "Have you killed 15 Amon Ra & 15 Doppelganger already??"; next; switch(select("Yes:No:I want to quit")) { case 1: mes "[Hashashin]"; mes "Hmm, I don't think you so, you're too weak for my job suit..."; close; case 2: mes "[Hashashin]"; mes "Alright, remember you need to 10 Amon Ra & 10 Doppelganger."; close; case 3: mes "[Hashashin]"; mes "Are you sure that you want to stop hunting?"; mes "Any progress that you've made will be erased"; next; switch(select("Yes:No")) { case 1: mes "[Hashashin]"; mes "Ok then, well come back here if you change your mind."; erasequest 70014; close; case 2: mes "[Hashashin]"; mes "Go kill Amon Ra & Doppelganger!"; close; } } } else { mes "[Hashashin]"; mes "Amazing, Now you complete all requirements for my suit. Have Fun!!"; getitem 7899,1; erasequest 70014; close; } } //for job restrict if (BaseJob == Job_Assassin) { mes "<ITEM>^FFFFFF[Assassin] Job Ring^000000<INFO>60272</INFO></ITEM> ^CC0000 (Click to view)^000000"; mes "[Hashashin]"; mes "Do you want to craft [Assassin] Job ring?"; next; mes "[Hashashin]"; mes "Show me that you are worthy of my suit, Im going to test your strength by killing monster."; mes "Are you strong enough to accept the mission?"; next; switch(select("Yes!:No!")) { case 1: mes "[Hashashin]"; mes "First thing you'll need to do is complete all requirements to craft my suit. After completing all requirements, come back to me and I'll give you my suit."; next; switch(select("Assassin Job Ring:Missions:Cancel")) { case 1: // Item turn in mes "[Hashashin]"; mes "Im going to need these items:"; mes "^00CC001 Hazy Starlight^000000" +" ^1E90FF["+countitem(7838)+"]^000000"; mes "^00CC001 Emblem Sun God^000000" +" ^1E90FF["+countitem(7086)+"]^000000"; mes "^00CC001 Dagger Of Psychic^000000" +" ^1E90FF["+countitem(7899)+"]^000000"; mes "^DC143C10 Vanguard Coins^000000" +" ^1E90FF["+countitem(60002)+"]^000000"; mes "^DC143C100 Event Coin^000000" +" ^1E90FF["+countitem(60000)+"]^000000"; mes "^DC143C30 Woe Coin^000000" +" ^1E90FF["+countitem(59998)+"]^000000"; mes "and ^DC143C200 Credits^000000." +" ^1E90FF["+countitem(60003)+"]^000000"; mes "You can only obtain ^00CC00[Green Materials]^000000 from job missions"; next; switch(select("I have all the materials you need.:I'll be right back!")) { case 1: if (countitem(7838) > 0 && countitem(7086) > 0 && countitem(7899) > 0 && countitem(59998) > 29 && countitem(60000) > 99 && countitem(60003) > 199 && countitem(60002) > 9) { next; mes "[Hashashin]"; mes "Congratulations! You have completed the missions."; mes "You are a true Assassin, you're worthy of this suit."; delitem 7838,1; //Brynhild Armor Piece delitem 7086,1; //Hero's Remains delitem 7899,1; //Archive Permit delitem 60003,200; //Credits delitem 60002,10; //Vanguard coin delitem 60000,100; //Event Coin delitem 59998,30; //Woe Coin getitem 60272,1; //assassin suit announce "Congratulations! "+ strcharinfo(0)+" has finished Assassin Job ring quest!",bc_yellow|bc_all; close; } else { mes "[Hashashin]"; mes "You have not yet completed all the requirements!"; close; } case 2: mes "[Hashashin]"; mes "I need all the requirements to craft the suit."; close; } case 2: // Kill Count Quest mes "[Hashashin]"; mes "Are you here to accept my mission? Let's see what can you do."; mes "Which mission are you going to quest?"; next; switch(select("Kill Deviruchi & Owl Baron:Kill Penomena, Killer Mantis & Observer:Defeat Amon Ra & Doppelganger")) { case 1: mes "[Hashashin]"; mes "Come back when you're done, I'll give you your reward."; setquest 70012; announce "Player "+ strcharinfo(0)+" has started the Assassin Job ring quest!",bc_yellow|bc_all; close; case 2: mes "[Hashashin]"; mes "Come back when you've finished your task and I will give your reward."; setquest 70013; close; case 3: mes "[Hashashin]"; mes "Come back to me when you defeat Amon Ra & Doppelganger."; setquest 70014; close; } case 3: mes "[Hashashin]"; mes "If you change your mind, just come back."; close; } case 2: mes "[Hashashin]"; mes "If you change your mind, just come back."; close; } } else { mes "[Hashashin]"; mes "Who the heck do you think you are? I only speak to a true Assassin!"; close; } } hello guys so i made a specific job chain quest by killing monsters using quest_db. the script is made for a specific job only, but if the player is in a party, party kills are counted on the quest. Can anyone help make this script disable party kill count, or maybe cancel the quest if user is in a party.
  12. Hello guys i made this hide on and off npc script, it works fine. but i need to inside mapwarp to the script, so when the event is done. all players in the map will be teleported. can anyone help me? - script diatrigger -1,{ OnInit: disablenpc "Diamond Tower#diaroom"; bindatcmd "diatower", strnpcinfo(0)+"::OnCommand",99,100; end; OnCommand: if ( compare( .@atcmd_parameters$, "on" ) ) goto Ondiatrigger; else { dispbottom "type - '@diatower on' to start the dia tower"; } end; end; OnClock0300: OnClock0600: OnClock0900: Ondiatrigger: if(agitcheck() == 1) end; enablenpc "Diamond Tower#diaroom"; announce "Diagate Keeper: Diamond Tower is NOW OPEN! ",bc_all,0xFFFF00; sleep 1000; announce "Diagate Keeper: For those who want to hunt ORES for Safe refine, now is the time!",bc_all,0xFFFF00; sleep 1000; announce "Diagate Keeper: Diamont Tower would be open for 1 Hour!",bc_all,0xFFFF00; sleep 30000; announce "Diagate Keeper: Diamond Tower is NOW OPEN!",bc_all,0xFFFF00; sleep 30000; announce "Diagate Keeper: Diamond Tower will only be open for 1 Hour every 4hrs.",bc_all,0xFFFF00; sleep ( 60 * 60000 ); // How long before hide again. announce "Diagate Keeper: Diamond Tower is now close, Dia Tower will be open after 4hrs.",bc_all,0xFFFF00; disablenpc "Diamond Tower#diaroom"; end; }
  13. thank you for your big help sir kyle i really appreciate it, okay the reason i dont want to use agi base settings on skill.conf is because im creating a high rate server, and i would like to implement skill delay also. Paid nodelay is popular on high rate server, putting skill delay is useless on agi base(skill.conf setting), not unless youre using Kiel delay effect. that is why i want to try to make a FUNCTION script that works the same, for example. if a char has 150 agi, a function script read param bAgi>150 will got effect of bdelayrate. Basically the difference with skill.conf agi base skilldelay and kiel skill delay is that, with Skill.conf if you put a skill delay, Every skill has a different delay, meaning you can cast Cold bolt, and fire bolt at the same time, with different delay. And with Kiel delay, ALL SKILLS has one delay, for example if you cast cold bolt, you cant cast another spell unless the skill delay is finish.
  14. meaning one should wear an item with this script on item_db for the bonus effect to work? is it possible if even no item, just the stats alone?
  15. i want it to be a callfunc, not on a db. hehe
  16. i want it to be a callfunc sir khyle
  17. Can you help me fix this script? I cant make it work :( i wanted to make it an ig base but using kiel card effect.
  18. Hello guys, can anyone help me make this a function script? Script; | if (readparam(bAgi)>=150 { bonus bDelayRate,-100; }
  19. can u help me build the complete function script? hehe thank youu
  20. hello sir, can you help me with something like this ( if(readparam(bAgi)>=100) { bonus bDelayRate,-45; ) i need to be a function script, where in with or without an item. if a user has 100 agi, it will give this kind of bonus effect.
  21. hello sir thank you for your help, but i need it to be a function script.
  22. hi can i request a function script like this, this script is basically for item script, i want to make agi base, but kiel cooldown instead. this script only works if a player equips an item. i want it to be like a function, if a player has 100 total agi, he will have 45% reduce acd effect. can someone help me? hehe if(readparam(bAgi)>=100) { bonus bDelayRate,-45;
  23. @mR L hello thanks for your help, it worked! but how about, if it will take 10mins before it will command killmonster. because like for example, if the user ONLY died, and will still go back inside bb room.
×
×
  • Create New...