Jump to content

Bringer

Members
  • Posts

    746
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Bringer

  1. On 3/5/2017 at 1:07 PM, Skorm said:

    ...

    
    -	script	hourly_point_main	-1,{
        
        OnInit:
            .max_hour = 5;
            .duration = 3600;
            .npc_name$ = strnpcinfo(3);
            bindatcmd "hourly", .npc_name$ + "::OnCheck";
            end;
    		
        OnClock0000:
            deletearray $@hourly_tick;
            
        OnUpdate:
    		.@aid = getcharid(3) & 0xFFFF;
    		deltimer .npc_name$+"::OnUpdate";
    		$@hourly_ticks[.@aid]++;
    		#reward += $@hourly_ticks[.@aid] * 10;
            
        OnPCLoginEvent:
    		.@aid = getcharid(3) & 0xFFFF;
    		if ( $@hourly_ticks[.@aid] < .max_hour ) {
    			@timer = gettimetick(2) + .duration;
    			addtimer ( .duration * 1000 ), .npc_name$+"::OnUpdate";
    		} else {
    			dispbottom "[ Hourly Rewards ] You've reached the daily maximum of "+.max_hour+" hours played, well done!",0x9ae2d7;
    			end;
    		}
    		if ( #reward && $@hourly_ticks[.@aid] )
    			dispbottom "[ Hourly Rewards ] " + $@hourly_ticks[.@aid] + "/" + .max_hour + " hours played, "+#reward+" point(s)!",0x9ae2d7;
    		end;
            
        OnCheck:
            .@min = (@timer - gettimetick(2))/60;
            .@sec = (@timer - gettimetick(2))%60;
            dispbottom "[ Hourly Rewards ] Your next reward will be achieved in " +
                        ((.@min)?            "[ " + .@min + " ] minute"         + ((.@min > 1)?"s":""):"") +
                        ((.@min && .@sec)?    " and ":"") +
                        ((.@sec)?            "[ " + .@sec + " ] second"    + ((.@sec > 1)?"s":""):"") +
                        "!",0x9ae2d7;
            end;            
    }

     

    hello @SkormSkorm can you add this suggestion im running my server official vip system

    if the player has vip status the hourly points give more 50%

    for normal players give 10,20,30,40 bla bla

    vip player 15,30, bla bla

  2. 10 hours ago, Playtester said:

    That's because there's no such status change yet, you would need to add it yourself. Land Protector doesn't give you a status change at all, the only thing it does is remove other units.

    i already add but still no icon buffs there a way to add icon buffs like i did on Bard Song and Volcano/Deluge/Violent Gele
    
     
  3. Mechanics:

    • Has GM controller (GM can trigger on/off debugging purposes)
    • NPC Automated (can be changed)
    • Announces that "PVP vs PVP will happen"
    • NPC will announce that you have XXmins to register
    • Click the NPC to register/leave (2 choices)
    • After registering, players will warp to a certain map and will randomize them to join 50% chance on Team A(Can be changed; ex cloth color blue) &  TeamB(cloth Color Red
      • Warps to the room, change cloth color of player when he's in Red Team or Blue Team
    Spoiler
    
    //Registration NPC
    
    jupe_ele,40,57,4	script	WoR Trigger	106,{
    
    if (getgmlevel() >= 30) goto wor_Admin;
        mes "[Minion]";
        mes "Hello " + strcharinfo(0) + ", my master is busy.";
        mes "*sigh*";
        close;
    
    wor_Admin:
        mes "[WoR Trigger]";
        mes "Hello " + strcharinfo(0) + ", would you like me to call my Boss?";
        mes "He is the only one who can start it!";
        menu "Start Event",startlmsevent2,"No Thanks",leave;
        startlmsevent2:
            next;
            mes "[WoR Trigger]";
            mes "Ok, I'll call him this instant.";
            close2;
            goto startworevent;
    
    
    leave:
            next;
            mes "[WoR Trigger]";
            mes "Ok " + strcharinfo(0) +", nice seeing you.";
            close;
    OnClock0000:
    OnClock0300:
    OnClock0600:
    OnClock0900:
    goto startworevent;
    
    
    startworevent:
    	announce "[ WoR Manager ]: War Of Rune Registration will start at 5 minutes",0;
    		sleep2 1000;
        announce "[ WoR Manager ]:  War Of Rune registration has been started you may now register! in 5 minutes.",0;
        sleep2 1000;
        announce "[WoR Manager]: Please go to Prontera and Register now if you want to join.",0;
        initnpctimer;
        end;
    
    OnTimer30000:
        announce "[WoR Manager ]: Last 30 seconds.",0;
        sleep2 1000;
        announce "[WoR Manager ]: If you want to join please Register in Prontera.",0;
        end;
    
    OnTimer50000:
        announce "[WoR Manager]: Last 10 seconds.",0;
        end;
    
    OnTimer55000:
        announce "[WoR Manager]: 5.",0;
        end;
    
    OnTimer56000:
        announce "[WoR Manager]: 4.",0;
        end;
    
    OnTimer57000:
        announce "[WoR Manager]: 3.",0;
        end;
    
    OnTimer58000:
        announce "[WoR Manager]: 2.",0;
        end;
    
    OnTimer59000:
        announce "[WoR Manager]: 1.",0;
        end;
    
    OnTimer60000:
        announce "[WoR Manager]: Registration of the War Over Rune is Over.",0;
        end;
    
    OnTimer61000:
    
        donpcevent "WoR Manager::OnEnable";
        stopnpctimer;
        end;
    }
    
    
    //Registration NPC
    aretnorp,208,249,5	script	WoR Manager	734,{
    
    
    set look,rand(1,2);
    set .@name$,"[WoR Manager]";
    	mes .@name$;
    	mes "Greetings, how can be any help for you today?";
    	menu "Register",register,"What is WoR?",what_is_wor,"WoR Schedules",wor_schedules,"I'm just passing by",im_just_passing_by;
    register:
    	if ( look == 1 ) {
    		next;
    		mes .@name$;
    		mes "You will be participating in the '^0000FFBlue Team^000000'.";
    		setlook 7,374;
    		warp "prt_are01",47,149;
    		set woralready,1;
    		end;
    		}
    		else {
    		next;
    		mes .@name$;
    		mes "You will be participating in the '^FF0000Red Team^000000'.";
    		setlook 7,407;
    		warp "prt_are01",251,149;
    		set woralready,1;
    		end;
    		}
    if ( woralready == 1 ) {
    	next;
    	mes .@name$;
    	mes "I'm sorry adventurer, but leaving the arena means quitting the entire event. Please try again next time.";
    	close;
    }
    
    wor_schedules:
    	next;
    	mes .@name$;
    	mes "The current WoR Schedules are:";
    	mes "^0000FF12:00^000000";
    	mes "^0000FF21:00^000000";
    	mes "^0000FF03:00^000000";
    	close;
    
    what_is_wor:
    	next;
    	mes .@name$;
    	mes "WoR is the short term for 'War Over Rune'.";
    	next;
    	mes .@name$;
    	mes "WoR is a PvP-Based Event where in you have 20 minutes to kill anyone in the opposing team.";
    	next;
    	mes .@name$;
    	mes "There are two teams in the event: The ^0000FFBlue Team^000000 and The ^FF0000Red Team^000000";
    	next;
    	mes .@name$;
    	mes "The Goal of the event is to gain points by killing other team's members.";
    	next;
    	mes .@name$;
    	mes "After 20 minutes, an NPC will appear in the middle of the map to give rewards to players.";
    	next;
    	mes .@name$;
    	mes "The reward for the winning team is 100 PvP Points and 20 PvP Points for the losing team.";
    	close;
    
    im_just_passing_by:
    	next;
    	mes .@name$;
    	mes "Okay, see yah later.";
    	close;
    
    OnEnable:
    	announce "[WoR Manager]: Both teams have 1 Minute to prepare",bc_all;
    	sleep2 10000;
    	announce "[WoR Manager]:War Over Rune Begun! You have 20minutes. Good Luck ot both teams!",bc_all;
    	sleep2 10000;
    	end;
    
    }

     

    Inside the Room area:

    • Red Team Waiting ROOM
      prt_are01 251,149
    • Blue Team Waiting Room
      prt_are01 49,149
    • Players can't move until the event time starts.
    • Two NPCs where Team A and Team B are separated. (own room for TEAM A and TEAM B )
      • NPCs has this option: Can quit and warp back to savepoint. 
      • NPCs can shower what's the current status of the game:
        • Their Kills , Deaths , and scores of Red and Blue Team
          Spoiler
          
          //Team NPC (Red Team)
          prt_are01,75,228,5	script	Red Team Manager	733,{
              mes "[Team Manager]";
              mes "What do you want to know?";
              menu "Standings",standings_red;
          
          standings_red:
              next;
              mes "[ WoR Score ]";
              mes "Red Team: "+red_score+"";
              mes "Blue Team: "+blue_score+"";
              close;
          }
          
          //Team NPC (Blue Team)
          prt_are01,223,80,5	script	Blue Team Manager	733,{
              mes "[Team Manager]";
              mes "What do you want to know?";
              menu "Standings",standings_blue;
          
          standings_blue:
              next;
              mes "[ WoR Score ]";
              mes "Red Team: "+red_score+"";
              mes "Blue Team: "+blue_score+"";
              close;
          }
          
          -	script	workill	-1,{
          
          OnPCKillEvent:
          	getmapxy(.@map$,.@x,.@y,0);
          	if(.@map$=="prt_are01")
          	set #CASHPOINTS,#CASHPOINTS+1;
          	dispbottom "Gained a kill point! Total: [ "+#CASHPOINTS+" ] "; 
          	end;
          }
          
          //Player Dies in the event
          -	script	wordie	-1,{
          set red_score,0;
          set blue_score,0;
          set deaths_player_red,0;
          set deaths_player_blue,0;
          OnPCDieEvent:
          	if( strcharinfo(3) == "prt_are01" && getlook(7) == 374 ) {
                  set red_score,red_score+1;
                  set deaths_player_red,deaths_player_red+1;
                      warp "prt_are01",76,223;
                      sleep2 1000;
          	percentheal 100,100;
          	repairall();
                      sleep2 10000;
                      warp "prt_are01",104,195;
                  end;
          	}
          	if( strcharinfo(3) == "prt_are01" && getlook(7) == 407 ) {
                  set blue_score,blue_score+1;
                  set deaths_player_blue,deaths_player_blue+1;
                  warp "prt_are01",223,75;
                      sleep2 1000;
          	percentheal 100,100;
          	repairall();
                      sleep2 10000;
                      warp "prt_are01",195,104;
                  end;
                  }

           

           

    Event starts:

    • NPC will chose a KING(Cloth Color can be changed) from both TEAMS [will be announced on the map] 
      • If the king is killed, killer will receive xx item (can be changed or points) [announce if killed and the killer]
      • If the king is killed, NPC will choose a new King. [announce again the new king]
        • King cannot use skill. unless he's killed. 
      • If the king will not die on the whole event, he will receive xxitem(can be changed or points)
    • If they die, they will instantly back to their "own" room, where they were separated at first. 
    • Red Team Respawn Area prt_are01 76 223
    • Blue Team Respawn Area prt_are01 223 75
    • If players kill their own Team 5x(can change or decrease points every teamkill), they will instantly warped to savepoint.

    Event ends:

    • All players inside the map will be warped on a certain location [prt_are01,149,249] with the NPC [prt_are01,149,253] to click and get them out of the room.
    • Higher Team Score will be Winner
    • Winning team gets (xxx item / points) and Losing team gets (xxx item / points.)
  4. Hello im request For Higher Points will be the winners of the event

    Sample

    1.red_score,213

    2. blue_score,200 

    All Players of Red Team will Get 100 Cash Points

    and the loser team will get 20 cash point

    All Players on prt_are01 will be warp prt_are01,149,246 and the reward npc will there and get there points

  5. On 3/2/2017 at 8:20 PM, MusiLiciouS said:

    I got those error in compiling... I manually patched it and that's the result.. Can someon tell me how to fix it?

    
    skill.c: In function 'skill_castend_nodamage_id':
    skill.c:7495: warning: implicit declaration of function 'clif_colormes'
            CC      status.c
            CC      storage.c
            CC      trade.c
            CC      unit.c
            CC      vending.c
    vending.c: In function 'vending_vendinglistreq':
    vending.c:95: warning: implicit declaration of function 'clif_colormes'
    vending.c: In function 'vending_purchasereq':
    vending.c:197: error: 'struct mmo_charstatus' has no member named 'inventory'
    vending.c:198: error: 'struct mmo_charstatus' has no member named 'inventory'
    vending.c:286: error: 'struct mmo_charstatus' has no member named 'inventory'
    vending.c:289: error: 'struct mmo_charstatus' has no member named 'inventory'
    vending.c:334: error: 'struct mmo_charstatus' has no member named 'cart'
    vending.c:342: warning: implicit declaration of function 'clif_disp_onlyself'
    vending.c: In function 'vending_openvending':
    vending.c:478: error: 'vendings_db' undeclared (first use in this function)
    vending.c:478: error: (Each undeclared identifier is reported only once
    vending.c:478: error: for each function it appears in.)
    make[1]: *** [obj/vending.o] Error 1
    make[1]: Leaving directory `/root/Trunk/src/map'
    make: *** [map] Error 2

    Im using REV 17374.. patch diff from this ---> https://rathena.org/board/topic/104860-extended-vending-system-august-2016-renewal-pre-renewal/

     

    Thank you in advance

    https://github.com/rathena/rathena/commit/ade1b171ebcb0e9b4e91f97b511fc4b8d0b99bee

  6. Using 

    Extended_Cell_PvP_1.7

    How to Remove on Map Cell Not Droping Skull

     /*==========================================
      * Invoked when a player has received damage
      *------------------------------------------*/
    @@ -7334,7 +7394,7 @@
     	}
     
     	if(battle_config.bone_drop==2
    -		|| (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp))
    +		|| (battle_config.bone_drop==1 && map[sd->bl.m].flag.pvp || map_getcell( sd->bl.m, sd->bl.x, sd->bl.y, CELL_CHKPVP) && sd->state.pvp) )		// Addon Cell PVP [Napster]
     	{
     		struct item item_tmp;
     		memset(&item_tmp,0,sizeof(item_tmp));
    @@ -7404,6 +7464,13 @@
     		}
     	}

     

  7. 7 minutes ago, GodKnows Jhomz said:

    Anyone can tell me why this error showing in my server status when starting server/reloading item database?
    unknownid.png.a320b643739d1e92bd73a31a0f3bc787.png
    When I try to remove all contents in import/item_db.txt (as in empty) this error shows :
    unknownid2.png.a8b2b848b96b8493498910abbb126682.png
    Hopefully someone can tell me what is the way to remove that error or how can I fix it.
    Thanks in advance.

    on your import/item_db.txt

    line 1

    post it

  8. 
    
    				for ( .@minute = 15; .@minute > 0; .@minute -= 5 ) {
    					mapannounce .map$,"<Fabre Punch Event> Time Left "+.@minute+" Minute(s).",bc_all;
    					if ( .@minute <= 5 ) {
    					mapannounce .map$,"Fabre Punch -- TRIPLE POINTS SPREE! "+.@minute+" Minute(s) !",bc_all;
    						.point_rate = 3; // 3x point
    					}
    					else if ( .@minute <= 10 ) {
    					mapannounce .map$,"Fabre Punch -- DOUBLE POINTS SPREE! "+.@minute+" Minute(s) !",bc_all;
    						.point_rate = 2;  // 2x point
    					}
    					sleep ( 5 * 15000 );

    The x2 x3 is Workin Fine But

    all monster has been killed is announce should be only Supre Fabre Right

    http://imgur.com/a/4XAKC

     

    • i want the Event Warp Open until the Event is Done so Late Players can still can join the event
  9. 9 hours ago, Akkarin said:

    Yes, post on the forum for support from the community, not post on the forum and tag him to get his attention. If he's told you to post on the forum it should be quite clear that he's not going to help you himself at that moment in time.

    the Author of that script is emistry

    and i think there is no problem tagging forum member and i check the rules of th is section

    im just suggesting fews add of that script he made it that's All Sir

    Thank you

  10. 8 hours ago, Akkarin said:

    Can you please refrain from tagging specific forum members in a post requesting them to do things for you. If you have something that needs to be directed at a specific forum member, PM them.

    im sorry about that but emistry alwys said to me on facebook post on forum ^_^

  11. http://pastebin.com/VNavCfWt

    @Emistry

    can you add this suggestion?
    1. SUGGESTION

    Super Fabre Points Every 1min 10monsters 

    pvp_n_1-2,0,0,0,0    monster    Super Fabre    1007,10,0,60000,"fabre_punch_main::OnKill_4"
    Points Random 1,100 and auto announce when players killed is this code correct? 

    OnKill_4:
    
        announce "Super Fabre has been killed by [ " + strcharinfo(0) + " ] for " + .@value + " Point(s) !",bc_all;
    
        callsub( L_Point,1,100 ); // Super Fabre = 1,100 Point
        
        end;


    2. SUGGESTIO

    When 10mins Left npc announce Fabre Punch -- DOUBLE POINTS SPREE 10 minutes Left !
    All Gian Points will be x2 Sample
    1 Point = 2 Points
    10 Points = 20 Points

    -20 Points = -40 Points

    3 SUGGESTION

    When 5mins Left npc announce Fabre Punch -- TRIPLE POINTS SPREE 5 minutes Left !


    All Gian Points will be x3 Sample


    1 Point = 3 Points


    10 Points = 30 Points


    -20 Points = -60 Points

  12. //===== rAthena Script =======================================
    //= Job Master
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.4
    //===== Compatible With: ===================================== 
    //= rAthena Project
    //===== Description: =========================================
    //= A fully functional job changer.
    //===== Additional Comments: =================================
    //= 1.0 Initial script.
    //= 1.1 Fixed reset on Baby job change.
    //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support.
    //= 1.3 Kagerou/Oboro added.
    //= 1.4 Rebellion added.
    //============================================================
    
    prontera,153,193,6	script	Job Changer	630,{
    function Job_Menu;
    
    	mes "[Job Master]";
    	if (Class > Job_Soul_Linker) {
    		mes "No more jobs are available.";
    		close;
    	}
    	if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
    		mes "Please remove your " +
    			((checkfalcon()) ? "falcon" : "") +
    			((checkcart()) ? "cart" : "") +
    			((checkriding()) ? "Peco" : "") +
    			((ismounting()) ? "mount" : "") +
    			" before proceeding.";
    		close;
    	}
    	if (.SkillPointCheck && SkillPoint) {
    		mes "Please use all your skill points before proceeding.";
    		close;
    	}
    
    	.@eac = eaclass();
    	.@i = ((.ThirdClass) ? roclass(.@eac&EAJ_UPPERMASK) : Class);
    	if (.@i >= Job_Knight && .@i <= Job_Crusader2) {
    		if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
    			.@blvl = .Rebirth[0] - BaseLevel;
    			.@jlvl = .Rebirth[1] - JobLevel;
    			mes "You need " +
    				((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") +
    				((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue.";
    			close;
    		}
    		if (Class > Job_Crusader2) {
    			mes "Switch to third class?";
    			next;
    			Job_Menu(roclass(.@eac|EAJL_THIRD));
    			close;
    		}
    		while(1) {
    			mes "Select an option.";
    			next;
    			.@i = select(" ~ ^0055FFRebirth^000000:" + ((.ThirdClass) ? " ~ ^FF0000Third Class^000000" : "") + ": ~ ^777777Cancel^000000");
    			if (.@i == 3)
    				close;
    			mes "[Job Master]";
    			mes "Are you sure?";
    			next;
    			Job_Menu(((.@i == 1) ? Job_Novice_High : roclass(.@eac|EAJL_THIRD)));
    			mes "[Job Master]";
    		}
    	}
    	.@j1 = roclass(.@eac|EAJL_2_1);
    	.@j2 = roclass(.@eac|EAJL_2_2);
    	if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE)
    		setarray .@exp[0], roclass(.@eac|EAJL_THIRD), 99;
    	if (Class == Job_Ninja || Class == Job_Gunslinger)
    		setarray .@exp[0], .@j1, 70;
    	if (.@exp[0] && .SecondExpanded) {
    		if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
    			.@blvl = .Rebirth[0] - BaseLevel;
    			.@jlvl = .@exp[1] - JobLevel;
    			mes "You need " +
    				((.@blvl > 0) ? .@blvl + " more base levels " + ((.@jlvl > 0) ? "/ " : "") : "") +
    				((.@jlvl > 0) ? .@jlvl + " more job levels " : "") + "to continue.";
    			close;
    		}
    		mes "Switch to " + jobname(.@exp[0]) + "?";
    		next;
    		Job_Menu(.@exp[0]);
    		close;
    	}
    	if (.@eac&EAJL_2)
    		if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
    			mes "No more jobs are available.";
    			close;
    		}
    	if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
    		if (JobLevel < .JobReq[0])
    			mes "A job level of " + .JobReq[0] + " is required to change into the 1st Class.";
    		else if (Class == Job_Novice_High && .LastJob && lastJob) {
    			mes "Switch classes now?";
    			next;
    			Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
    		} else {
    			switch(Class) {
    			case Job_Novice:
    				Job_Menu(
    					Job_Swordman,
    					Job_Mage,
    					Job_Archer,
    					Job_Acolyte,
    					Job_Merchant,
    					Job_Thief,
    					Job_SuperNovice,
    					Job_Taekwon,
    					Job_Gunslinger,
    					Job_Ninja,
    					Job_Baby
    				);
    				break;
    			case Job_Novice_High:
    				Job_Menu(
    					Job_Swordman_High,
    					Job_Mage_High,
    					Job_Archer_High,
    					Job_Acolyte_High,
    					Job_Merchant_High,
    					Job_Thief_High
    				);
    				break;
    			case Job_Baby:
    				Job_Menu(
    					Job_Baby_Swordman,
    					Job_Baby_Mage,
    					Job_Baby_Archer,
    					Job_Baby_Acolyte,
    					Job_Baby_Merchant,
    					Job_Baby_Thief,
    					Job_Super_Baby
    				);
    				break;
    			default:
    				mes "An error has occurred.";
    				break;
    			}
    		}
    		close;
    	}
    	if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
    		mes "No more jobs are available.";
    	else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
    		mes "A job level of " + .JobReq[1] + " is required to change into the 2nd Class.";
    	else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
    		mes "Switch classes now?";
    		next;
    		Job_Menu(lastJob + Job_Novice_High);
    	} else
    		Job_Menu(.@j1, .@j2);
    	close;
    
    function Job_Menu {
    	while(1) {
    		if (getargcount() > 1) {
    			mes "Select a job.";
    			.@menu$ = "";
    			for (.@i = 0; .@i < getargcount(); .@i++)
    				.@menu$ = .@menu$ + " ~ " + jobname(getarg(.@i)) + ":";
    			.@menu$ = .@menu$+" ~ ^777777Cancel^000000";
    			next;
    			.@i = getarg(select(.@menu$) - 1, 0);
    			if (!.@i)
    				close;
    			if ((.@i == Job_SuperNovice || .@i == Job_Super_Baby) && BaseLevel < .SNovice) {
    				mes "[Job Master]";
    				mes "A base level of " + .SNovice + " is required to turn into a " + jobname(.@i) + ".";
    				close;
    			}
    			mes "[Job Master]";
    			mes "Are you sure?";
    			next;
    		} else
    			.@i = getarg(0);
    		if (select(" ~ Change into ^0055FF" + jobname(.@i) + "^000000 class: ~ ^777777" + ((getargcount() > 1) ? "Go back" : "Cancel") + "^000000") == 1) {
    			mes "[Job Master]";
    			mes "You are now " + callfunc("F_InsertArticle", jobname(.@i)) + "!";
    			if (.@i == Job_Novice_High && .LastJob)
    				lastJob = Class;
    			jobchange .@i;
    			if (.@i == Job_Novice_High)
    				resetlvl(1);
    			else if (.@i == Job_Baby) {
    				resetstatus;
    				resetskill;
    				set SkillPoint,0;
    			}
    			specialeffect2 EF_ANGEL2;
    			specialeffect2 EF_ELECTRIC;
    			if (.Platinum)
    				callsub Get_Platinum;
    			close;
    		}
    		if (getargcount() == 1)
    			return;
    		mes "[Job Master]";
    	}
    	end;
    }
    
    Get_Platinum:
    	skill "NV_FIRSTAID",1,SKILL_PERM;
    	switch (BaseClass) {
    	case Job_Novice:
    		if (Class != Job_SuperNovice)
    			skill "NV_TRICKDEAD",1,SKILL_PERM;
    		break;
    	case Job_Swordman:
    		skill "SM_MOVINGRECOVERY",1,SKILL_PERM;
    		skill "SM_FATALBLOW",1,SKILL_PERM;
    		skill "SM_AUTOBERSERK",1,SKILL_PERM;
    		break;
    	case Job_Mage:
    		skill "MG_ENERGYCOAT",1,SKILL_PERM;
    		break;
    	case Job_Archer:
    		skill "AC_MAKINGARROW",1,SKILL_PERM;
    		skill "AC_CHARGEARROW",1,SKILL_PERM;
    		break;
    	case Job_Acolyte:
    		skill "AL_HOLYLIGHT",1,SKILL_PERM;
    		break;
    	case Job_Merchant:
    		skill "MC_CARTREVOLUTION",1,SKILL_PERM;
    		skill "MC_CHANGECART",1,SKILL_PERM;
    		skill "MC_LOUD",1,SKILL_PERM;
    		break;
    	case Job_Thief:
    		skill "TF_SPRINKLESAND",1,SKILL_PERM;
    		skill "TF_BACKSLIDING",1,SKILL_PERM;
    		skill "TF_PICKSTONE",1,SKILL_PERM;
    		skill "TF_THROWSTONE",1,SKILL_PERM;
    		break;
    	default:
    		break;
    	}
    	switch (BaseJob) {
    	case Job_Knight:
    		skill "KN_CHARGEATK",1,SKILL_PERM;
    		break;
    	case Job_Priest:
    		skill "PR_REDEMPTIO",1,SKILL_PERM;
    		break;
    	case Job_Wizard:
    		skill "WZ_SIGHTBLASTER",1,SKILL_PERM;
    		break;
    	case Job_Blacksmith:
    		skill "BS_UNFAIRLYTRICK",1,SKILL_PERM;
    		skill "BS_GREED",1,SKILL_PERM;
    		break;
    	case Job_Hunter:
    		skill "HT_PHANTASMIC",1,SKILL_PERM;
    		break;
    	case Job_Assassin:
    		skill "AS_SONICACCEL",1,SKILL_PERM;
    		skill "AS_VENOMKNIFE",1,SKILL_PERM;
    		break;
    	case Job_Crusader:
    		skill "CR_SHRINK",1,SKILL_PERM;
    		break;
    	case Job_Monk:
    		skill "MO_KITRANSLATION",1,SKILL_PERM;
    		skill "MO_BALKYOUNG",1,SKILL_PERM;
    		break;
    	case Job_Sage:
    		skill "SA_CREATECON",1,SKILL_PERM;
    		skill "SA_ELEMENTWATER",1,SKILL_PERM;
    		skill "SA_ELEMENTGROUND",1,SKILL_PERM;
    		skill "SA_ELEMENTFIRE",1,SKILL_PERM;
    		skill "SA_ELEMENTWIND",1,SKILL_PERM;
    		break;
    	case Job_Rogue:
    		skill "RG_CLOSECONFINE",1,SKILL_PERM;
    		break;
    	case Job_Alchemist:
    		skill "AM_BIOETHICS",1,SKILL_PERM;
    		break;
    	case Job_Bard:
    		skill "BA_PANGVOICE",1,SKILL_PERM;
    		break;
    	case Job_Dancer:
    		skill "DC_WINKCHARM",1,SKILL_PERM;
    		break;
    	default:
    		break;
    	}
    	return;
    
    OnInit:
    	setarray .Rebirth[0],99,50;	// Minimum base level, job level to rebirth OR change to third class
    	setarray .JobReq[0],10,40;	// Minimum job level to turn into 1st class, 2nd class
    	.ThirdClass = 0;			// Enable third classes? (1: yes / 0: no)
    	.SecondExpanded = 1;		// Enable new expanded second classes: Ex. Super Novice, Kagerou/Oboro, Rebellion? (1: yes / 0: no)
    	.SNovice = 45;				// Minimum base level to turn into Super Novice
    	.LastJob = 1;				// Enforce linear class changes? (1: yes / 0: no)
    	.SkillPointCheck = 1;		// Force player to use up all skill points? (1: yes / 0: no)
    	.Platinum = 1;				// Get platinum skills automatically? (1: yes / 0: no)
    	end;
    }

     

  13. warpparty "pvp_n_1-3", 100, 109,getcharid(1); is OK

    but when the monster killed the party not warping outside the map

    warpparty "pvp_n_1-3",99,60,getcharid(1);
    monster "this", -1,-1, "--ja--", 1002, 1, strnpcinfo(3)+"::Onmobdead";
    announce strcharinfo(1) +" Has Started Monster Hunting Event", 0;
    .start = 2;
    .partyid = getcharid(1);
    close;
    Onmobdead:
    announce strcharinfo(1) +" Has Completed Monster Hunting", 0;
    getpartymember getcharid(1), 2;
    for ( .@i = 0; .@i < $@partymembercount; .@i++ )
    	getitem 501, 1, $@partymemberaid[.@i];
    	warpparty "prontera,156,191,.partyid;
    .start = 0;
    .partyid = 0;
    end;
    OnWhisperGlobal:
    OnMinute00:
    if ( .start == 2 )
    	warpparty "prontera,156,191,.partyid;
    announce "Monster Hunting Event is Now Open",0;
    .start = 1;
    end;
    OnPCDieEvent:
    OnPCLogoutEvent:
    if ( strcharinfo(3) != "pvp_n_1-3" ) end;
    announce strcharinfo(1) +" Has Failed The Monster Hunting Event.", 0;
    warpparty "prontera,156,191,.partyid;
    .start = 1;
    .partyid = 0;
    end;
    OnInit:
    .deny = 0; // 300 seconds to deny players going in again
    .partysize = 1; // 10 player members needed to start
    .baselevel = 99; .joblevel = 70; // level requirement
    end;
    }

     

     

×
×
  • Create New...