Jump to content

Capuche

Members
  • Content Count

    17
  • Joined

  • Last visited

Posts posted by Capuche


  1. if (Class > 21) {	if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[2]) {		set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[2]-JobLevel;		message strcharinfo(0),"You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";	}	else		Job_Menu(roclass(.@eac|EAJL_THIRD));	close;}

  2. or add a delay after oninit to let the server initialize .minplayer2start in the main npc

    prontera,155,182,5    script    red side    100,{    end;OnInit:    sleep 50;    waitingroom "red", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" );    end;}prontera,158,182,5    script    blue side    100,{    end;OnInit:    sleep 50;    waitingroom "blue", getvariableofnpc( .minplayer2start, "custom_bg#control" ) +1, "custom_bg#control::OnStart", getvariableofnpc( .minplayer2start, "custom_bg#control" );    end;}

  3. you must use . in prefix (npc variable) or mapserv will throw an error (npc script use <none prefix> for permanent variable attached to the character)

    and there is already a timer in the script, it's better with a sleep here

        set @partymembercount,$@members;    announce "Thanks for playing",0;+	set .npc_delay, 1;+	sleep 900000;+	set .npc_delay, 0;    end;
        if ( $@start == 1 ) {        mes "The Sign Ups are currently unavailable because a match is in progress. Don't hesitate to try again in a few minutes!";        close;    }+	if ( .npc_delay ) {+		mes "you must wait";+		close;+	}    if ( @partymembercount == $@members ) {

  4. Just a fast test and :

    // forgot ;set .equiprobability, 1set .map_job_exp_multiplier, 200

     

    // forgot bracketset $@specialmap$, getd(".maps_" + .@randarray + "$["+ .@randpos +"]";

     

    // .mobs_X type integer not stringset .@randpos, rand(0, getarraysize(getd(".mobs_" + .@randarray + "$")) - 1);set $@specialmob, getd(".mobs_" + .@randarray + "$["+ .@randpos +"]"); // This black magic is supposed to draw a random mob from the poolset $@specialmob, getd(".mobs_" + .@i + "$["+ .@draw +"]");

     

    // display the mob IDif ($@specialmob) announce $@specialmob + " has a x" + .mob_base_exp_multiplier/100 + "." + .mob_base_exp_multiplier0 + " base exp and a x" + .mob_job_exp_multiplier/100 + "." + .mob_job_exp_multiplier0 + " job exp multiplier for the weekend!",bc_self;

     

    // must be under OnMon0000: or the config is deleted right after be loaddonpcevent strnpcinfo(3)+"::OnDelConfig"; //This way we save memory for the week at the cost of a bit of process

     

    // @set .@jobexp, getmonsterinfo($@specialmob,4)*(.@mob_job_exp_multiplier - 100)/getbattleflag("quest_exp_rate");

     

    Also when both map + mob of the week enabled that give a strange multiplicator... dunno why


  5. setarray .maps_1$[0],"mymap1","mymap2","mymap3";setarray .maps_2$[0],"mymap129","mymap130";// Other settings for mapsset .num_map_arrays, 2; // Set this to the number of arrays you have for maps.
    set .@randarray, rand(1, .num_map_arrays);

    this method break the equiprobability i.e. user put 100 maps in array 1 and only 1 in array 2 but 50% to select map on array 2

     

     

     

    	// Maths for avoiding using quest_exp_rate but base_exp_rate. We substract 100 because the first 100% is given by the mob.	set .@bonusbexprate, (.mob_base_exp_multiplier - 100) * getbattleflag("base_exp_rate") / getbattleflag("quest_exp_rate");	set .@bonusjexprate, (.mob_job_exp_multiplier - 100) * getbattleflag("base_exp_rate") / getbattleflag("quest_exp_rate");

    I don't get why you use quest_exp_rate, do you mind to explain me ?

×
×
  • Create New...

Important Information

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