Jump to content

Veracious

Members
  • Posts

    179
  • Joined

Everything posted by Veracious

  1. Veracious

    NPC Script

    tested again, working perfectly! many thanks!!!!
  2. I did test it, how come its not working for you?
  3. Veracious

    NPC Script

    Guild Master gets the item now. (working) Can you slightly change it for Guild Master like onwednesday - item1, onsunday - item2?
  4. Veracious

    NPC Script

    Cant add 1 Guild multiple times anymore.(working now) Support/Offensive roles get their respective items.(working now) I tried the latest script but its not showing an option for Guild Master. This is my previous script, which i will be using/putting it in your last script(but i used your latest script while testing), i'm unsure about the new changes, can you change this script instead of changing the latest one?
  5. I think because there are 3 different formulas, sc_def = status->mdef*100; This one checks mdef, if you've noticed that when your base mdef is around 80+ it takes more hits of SG to freeze the char (not 100% sure though) and it also reduces the frozen status duration if you have high base mdef(not the int one). I'm sorry because i had tested it using Ice Cream(item status) which gave freeze immunity at approx 230 luk. Try this, it should work. case SC_FREEZE: if (status->luk == 300) return 0; sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk break; Les say if you have 250 base luk + 50 luk from status/eq/items it will stack and count as 300 luk and will give immunity to freezing status.
  6. i had tried editing it, by default its like approx. 230 luk gives freeze immunity, you just have to edit some part of these two lines :- sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk Just try to edit the formula.
  7. Veracious

    NPC Script

    - Guildless classes won't get items now.(working) - It wasn't working with if and else for support/offensive creator and high wizard, it used to give only the first item to both the roles/options (eg:- when selected support it gave support item, when selected offensive again it gave support item and not offensive item) same for high wizard. Switch case for stalker, ninja working fine. I changed the script, now it works with switch for hwiz/creators, pls correct if any errors - NPC was able to give items to all classes (non trans/ trans below job 4022). It dint give any item as they were not set in switch class, but it used to show message "here you go". I made some changes, its working now. pls correct if any errors. - Clear guild data was not having options to select yes/no. Once selected it would directly clear the data. I made some changes, pls correct if any errors - Its working now after these changes, but i don't know if i've made any mistakes, please correct them if i have, also i wanna ask if we can add another option for Guild Leaders, like there's one for GMs. So, they can be able to claim "Guild Leader Package". EDIT :- We are able to add 1 Guild multiple times.
  8. Veracious

    NPC Script

    Just checked and tested again but it still gives items to guildless characters. Btw, here is a list i had made for giving items by specifying the role whether its a support or offensive class but it doesn't seem to work with menu, it gives all the items in the menu list if option/menu no.1 is selected. also tried select menu and if else but it doesn't work that way. switch( Class ) { case 4009: //High Priest getitem 19052,1; //HP Pack break; case 4010: //High Wizard mes "Choose your role"; menu "Support High Wizard",sup1,"Offensive High Wizard",off1; sup1: getitem 19047,1; //Support HWIZ Pack off1: getitem 19046,1; //Offensive HWIZ Pack break; case 4011: //Whitesmith getitem 19051,1; //Whitesmith Pack break; case 4012: //Sniper getitem 19054,1; //Sniper Pack break; case 4013: //Sinx getitem 19055,1; //Sinx Pack break; case 4016: //Champion getitem 19053,1; //Champion Pack break; case 4017: //Professor getitem 19048,1; //Prof Pack break; case 4018: //Stalker mes "Choose your role"; menu "Flame",fl1,"Ice",ice1,"Wind",wind1,"Shadow",shd1; fl1: getitem 19056,1; ice1: getitem 19057,1; wind1: getitem 19058,1; shd1: getitem 19059,1; break; case 4019: //Creator mes "Choose your role"; menu "Support Creator",sup2,"Offensive Creator",off2; sup2: getitem 19050,1; off2: getitem 19049,1; break; case 25: //Ninja mes "Choose your role"; menu "Flame",fl2,"Ice",ice2,"Wind",wind2,"Shadow",shd2; fl2: getitem 19056,1; ice2: getitem 19057,1; wind2: getitem 19058,1; shd2: getitem 19059,1; break; //Add more cases for all classes default: break; }
  9. Veracious

    NPC Script

    Tested it, one char per account working. But, any guildless character can get the items now.
  10. I've managed to fix it. Was also able to fix clown gypsy skills(bragi, please dont forget me, etc) which would not dispel upon death. Items :- Item ID# 12030 SC_ATKPOTION Item ID# 12031 SC_MATKPOTION Item ID# 12320 SC_INCHIT, SC_INCFLEE2 Skills :- SC_WHISTLE: SC_ASSNCROS: SC_POEMBRAGI: SC_APPLEIDUN: SC_HUMMING: SC_DONTFORGETME: SC_FORTUNE: SC_SERVICE4U: Made changes as shown below. /** * End all statuses except those listed * TODO: May be useful for dispel instead resetting a list there * @param src: Source of the status change [PC|MOB|HOM|MER|ELEM|NPC] * @param type: Changes behaviour of the function * 0: PC killed -> Place here statuses that do not dispel on death. * 1: If for some reason status_change_end decides to still keep the status when quitting. * 2: Do clif_changeoption() * 3: Do not remove some permanent/time-independent effects * @return 1: Success 0: Fail **/ int status_change_clear(struct block_list* bl, int type) { struct status_change* sc; int i; sc = status_get_sc(bl); if (!sc || !sc->count) return 0; for(i = 0; i < SC_MAX; i++) { if(!sc->data[i]) continue; if(type == 0) switch (i) { // Type 0: PC killed -> Place here statuses that do not dispel on death. case SC_ELEMENTALCHANGE: // Only when its Holy or Dark that it doesn't dispell on death if( sc->data[i]->val2 != ELE_HOLY && sc->data[i]->val2 != ELE_DARK ) break; case SC_WEIGHT50: case SC_WEIGHT90: case SC_EDP: case SC_MELTDOWN: case SC_WEDDING: case SC_XMAS: case SC_SUMMER: case SC_HANBOK: case SC_OKTOBERFEST: case SC_NOCHAT: case SC_FUSION: case SC_EARTHSCROLL: case SC_READYSTORM: case SC_READYDOWN: case SC_READYCOUNTER: case SC_READYTURN: case SC_DODGE: case SC_JAILED: case SC_EXPBOOST: case SC_ITEMBOOST: case SC_HELLPOWER: case SC_JEXPBOOST: case SC_AUTOTRADE: //case SC_WHISTLE: //case SC_ASSNCROS: //case SC_POEMBRAGI: //case SC_APPLEIDUN: //case SC_HUMMING: //case SC_DONTFORGETME: //case SC_FORTUNE: //case SC_SERVICE4U: case SC_FOOD_STR_CASH: case SC_FOOD_AGI_CASH: case SC_FOOD_VIT_CASH: case SC_FOOD_DEX_CASH: case SC_FOOD_INT_CASH: case SC_FOOD_LUK_CASH: case SC_DEF_RATE: case SC_MDEF_RATE: case SC_INCHEALRATE: //case SC_INCFLEE2: //case SC_INCHIT: //case SC_ATKPOTION: //case SC_MATKPOTION: case SC_S_LIFEPOTION: case SC_L_LIFEPOTION: case SC_PUSH_CART: case SC_STYLE_CHANGE: case SC_HEAT_BARREL_AFTER: case SC_QUEST_BUFF1: case SC_QUEST_BUFF2: case SC_QUEST_BUFF3: continue; }
  11. Veracious

    NPC Script

    Hi, thanks for looking into this. I have a question... does it also mean that only 1 char per account can get supply? or its still like any number of chars can take it but only with class restriction which you put? If its so, can you change it to 1 character per account please? Also, can it be designed like GM doesn't have to edit the script, instead he will just be able to register and remove guild ids from the npc itself instead of editing the script everytime a new guild wants to be registered.
  12. Even if you remove the condensed white potion image from your grf, some part of the effect is still displayed(yellow, red or white colored small circle depending upon slim potion pitcher level). Btw, i think you've removed the file from all of the grfs, thats not the way to remove the skill effect being displayed, it will surely show errors if you remove the file from all grfs. The correct way to remove skills is to erase everything on the .bmp file and just make the whole file with magenta color (R 255 G 0 B 255). I can offer you help related to skill effects from grfs if you're really making a server not a grf for your guilds.
  13. Contact me if you want edited skill effects, i have some cool customized grfs of the same/better level, which you have seen in the video.
  14. https://harmonize.it/faq#faq_46
  15. trunk\src\map\status.c case SC_FREEZE: sc_def = status->mdef*100; sc_def2 = status->luk*10 + status_get_lv(bl)*10 - status_get_lv(src)*10; tick_def2 = status_src->luk*-10; // Caster can increase final duration with luk break;
  16. Hello! I want a NPC script with the following details :- Script 1 or Script 2 or Script 3 - any one out of these will work for me. -----Script 1----- 1) i will give Guild Names of guilds who claim guild package to the NPC. (it just has to store data of Guild Names and has nothing to do with Guild Package) 2) it will store any number of guild names i'll give. 3) What i want is to ban the Guild Masters of these guilds(for some period like 1 month without deleting anything from their id) as soon as they break their guild. -----Script 2----- 1) when a guild breaks, the items created by guild bound (getitembound) will automatically become account bound items from the guild master's account & also those items in the guild storage. -----Script 3----- 1) when a guild breaks, the items created by guild bound (getitembound) will be automatically be deleted from the guild master's account.
  17. Hello! Can some one recolor these? Bundle of Food Item ID# 12111 These are very cool boxes for making packages!
  18. I merged my custom PVP warper script(with the board from emistry's script) with PVP Ladder script from Stolao I tried to give two oninit and also oninit2 but it doesn't work. For now i've set it like one OnCharIfInit and one Oninit but is there any other way to make it work like two oninit, or any other way? prontera,154,169,4 script Pvp_Ladder 837,{ mes "~Sign Reads~"; OnPvpLadder: mes "Pvp Ladder"; if(getgmlevel() >= .GM){ set .@i,select("Warp to PVP Room:Veiw PVP Records:Leave:Reset PVP Stats"); } else { set .@i,select("Warp to PVP Room:Veiw PVP Records:Leave"); } switch(.@i){ case 1: next; { mes "[ ^0000ffPVP Warper^000000 ]"; mes "Hello!"; mes "Do you want me to warp you to PVP Room?"; menu "^398315Sure, Bring it on!",warppvp,"^d95353No, thanks.",cancel; warppvp: warp "prt_pvp",0,0; end; } cancel: { next; mes "[ ^0000ffPVP Warper^000000 ]"; mes "One should be courageous, not a coward."; end; } case 4: mes "Are you sure you want to delete ALL pvp records?"; if(select("No:Yes")==1) close; next; mes "Wait one Moment..."; mes "....."; cleararray $TOPPK$[0],0,127; cleararray $TOPPK[0],0,127; query_sql("DELETE FROM `global_reg_value` WHERE `str` = 'PKCOUNT'"); set .@self, getcharid(3); set .@size, query_sql("select account_id from `char` where online = 1", .@aid); for(set .@i,0; .@i<.@size; set .@i,.@i+1) { if(attachrid(.@aid[.@i])){ set PKCOUNT,0; } } attachrid(.@self); mes "Cleared pvp data."; close; case 2: for(set .@i,0; .@i < getarraysize($TOPPK$); set .@i,.@i+1){ mes (.@i+1)+": "+ $TOPPK$[.@i] +" with "+ $TOPPK[.@i] +" kills"; if(.@i % 10 == 0){ if(select("Read More:Leave") == 1){ next; } else { close; } } } case 3: close; } close; OnPCKillEvent: if(.Options&2 && (agitcheck() || agitcheck2())){ if(getgmlevel() < .GmLvl || .Options&8){ if(.Options&1 || strcharinfo(3) == .Map$){ if(.Options&32){ for(set .@i,.RepeatCount; .@i > 0; set .@i, .@i-1){ set @PKedID[.@i+1], @PKedID[.@i]; } set @PKedID,killedrid; } for(set .@i,1; .@i < .RepeatCount; set .@i,.@i + 1){ if(@PKedID[0] == @PKedID[.@i]){ set .@s, .@s + 1; } else { set .@i, .RepeatCount + 1; } } if(.@s < .RepeatCount){ set PkCount,PkCount+1; if(.Options&16) setd getd(.PointType$),getd(.PointType$) + .PvpEarned; for(set .@i,0; .@i < .MaxPlayers; set .@i, .@i + 1){ if(PKCOUNT > $TOPPK[.@i]){ if($TOPPK$[.@i] != strcharinfo(0)){ setarray $TOPPK$[.@i + 1], $TOPPK$[.@i]; setarray $TOPPK[.@i + 1], $TOPPK[.@i]; } setarray $TOPPK$[.@i],strcharinfo(0); setarray $TOPPK[.@i],PKCOUNT; if(.Options&4) Announce ""+strcharinfo(0)+" Now Holds the The number "+.@i+" spot on the Pvp Ladder",bc_all; } sleep 1; } } else { if(.Options&64) warp "Save",0,0; } } } } end; OnCharIfInit: while( 1 ){ delwaitingroom; waitingroom "PVP Warper [ "+getmapusers("prt_pvp")+" Players ]",0; sleep 1000; } end; OnInit: set .GM,99; set .MaxPlayers,10; // Number of Players held in Records set .GmLvl,99; // Highest GM level Able to Hold a Record, if Option 8 is Disabled set .Map$,"prt_pvp"; // Map Pvp Must Take Place on in order to Count, if Option 1 is Disabled set .RepeatCount,5; // Number of kills on same person before it detects abuse, max of 128 set .PointType$,"#PvpPoints"; // Name of points earned, E.G. #Cash Points set .PvpEarned,1; // Number of Pvp Points Earned set .Options,7; // Bitwise Variable // 1: Only Counts Kills on .Map$ if Disabled // 2: Disables Record Holding during WOE // 4: Announce When Someone Takes a Rank // 8: Allow Gms Above level .GmLvl To Be on Ladder // 16: Gain PvP Points on Kills (#PvpPoints) // 32: Repeat Kill Protection // 64: Warp to Save on abuse // Example: "1+2+4 = 7" No Forced Map, Disables Record Holding during WOE and Announces New Record Holders bindatcmd("PvpLadder" ,"Pvp_Ladder::OnPvpLadder",0,99); end; }
  19. http://rathena.org/board/topic/83750-2013-ragexe-support-main-topic/
×
×
  • Create New...