Jump to content

awesomazingxed

Members
  • Posts

    95
  • Joined

  • Last visited

Posts posted by awesomazingxed

  1. I found a fix.

    
    turbo_room,104,121,4	script	Vote Poll NPC	858,{
    set @np$,"[ ^7401DFSandra^000000 ]";
    if ( getgmlevel() == 99 ) {
    if ( $survey_running ) {
    switch ( select ( "- Survey Result","- Delete Survey" ) ) {
    
            case 1:
    			mes "- ^8A0808"+$survey_title$+"^000000 -";
    			mes $survey_question$;
    			mes "";
    			for ( set @a,0; @a < getarraysize($survey_option$); set @a,@a+1 ) {
    			mes "^0404B4"+$survey_option$[@a]+"^000000 - ^8A0808"+$survey_option_votes[@a]+"^000000 Vote/s";
    			}
    			close;
             case 2:
                    mes @np$;
                    mes "Are you sure that you want to delete the survey: ";
                    mes "";
                    mes "- ^8A0808"+$survey_title$+"^000000 -";
                    next;
                    if ( select ( "No.","Yes, pretty sure." ) == 1 ) { close; }
                    set $survey_running,0;
    				set $survey_title$,"^8A0808NOT SET^000000"; 
    				set $survey_question$,"";
    				set @question_set$,"^8A0808NOT SET^000000";
    				for ( set @b,0; @b <= getarraysize($survey_option$)+2; set @b,@b+1 ) {
    				set $survey_option$[@b],"";
    				set $survey_option_votes[@b],0;
    				}
                    mes @np$;
                    mes "The survey has been deleted successfully.";
                    close;
                    }
                    
    		} // Ending bracket to Survey running
    		if ( select ( "- Exit","- Create Survey" ) == 1 ) { close; }
    		set $survey_title$,"^8A0808NOT SET^000000"; 
    		set $survey_question$,"";
    		set @question_set$,"^8A0808NOT SET^000000";
    		for ( set @b,0; @b <= getarraysize($survey_option$); set @b,@b+1 ) {
    		set $survey_option$[@b],"";}
    		while ( 1 ) {
    			set @subtract,2;
    			if ( getarraysize($survey_option$) > 1 ) && ($survey_title$ != "NOT SET") && ( $survey_question$ != "NOT SET") { 
    				set @menu_string$,"- Complete";
    				set @menu_string$,@menu_string$+":Title [^04B404"+$survey_title$+"^000000]";
    				set @subtract,3;
    			} else {
    				set @menu_string$,"Title [^04B404"+$survey_title$+"^000000]";
    				}
    			set @menu_string$,@menu_string$+":Question ["+@question_set$+"]";
    			for ( set @a,0; @a < getarraysize($survey_option$); set @a,@a+1 ) {
    				set @menu_string$,@menu_string$ +":    "+(@a+1)+". ^0404B4"+$survey_option$[@a]+"^000000";
    				}
    			set @menu_string$,@menu_string$ +":^0AE143+^000000 Add Option";
    			mes @np$;
    			mes "Do your Survey settings.";
    			next;
    			set @selected, select ( @menu_string$)-@subtract;
    				if ( @selected == -2 ) {
    					mes @np$;
    					mes "Title:"; 
    					mes "^04B404"+$survey_title$+"^000000";
    					mes "Question:";
    					mes "^04B404"+$survey_question$+"^000000";
    					mes "Options:";
    					for ( set @b,0; @b <= getarraysize($survey_option$)-1; set @b,@b+1 ) {
    					mes (@b+1)+". ^0404B4"+$survey_option$[@b]+"^000000";
    					}
    				next;
    				if ( select ( "No, it is not correct.","Yes, it is correct." ) == 2 ) {
    					mes @np$;
    					mes "Your Survey started successfully";
    					set $vote_id,$vote_id+1;
    					set $survey_running,1;
    					getmapxy(@map$,@x,@y,1);
    					announce "Please see the Survey NPC in "+@map$+" and give us your Vote.",bc_all;
    					close;
    					}
    				}
    
    			if ( @selected == 0) { 
    			mes @np$;
    			mes "Type in the survey leading question.";
    			mes "";
    			mes "Current:";
    			if ( $survey_question$ == "" ) {
    			mes "^8A0808NOT SET^000000";
    				} else {
    					mes "^04B404"+$survey_question$+"^000000"; }
    					next;
    					input $survey_question$;
    					set @question_set$,"^0AE143SET^000000";
    					}
    
    			if ( @selected == -1) { 
    				mes @np$;
    				mes "Type in the survey title.";
    				mes "";
    				mes "Current:";
    				mes "^04B404"+$survey_title$+"^000000";
    				next;
    				input $survey_title$;
    				}
    
    			if ( @selected == getarraysize($survey_option$)+1) { 
    			mes @np$;
    			mes "Type in a new option.";
    			next;
    			input $survey_option$[@selected-1];
    			set @selected,@selected+1;
    			}
    
    		if ( @selected >= 1 ) && ( @selected < getarraysize($survey_option$)+1) {
    
    		set @selected2, select ( "- Back","- Change","- Delete" );
    
              if ( @selected2 == 2 ) {
    			mes @np$;
    			mes "Type in the new option:";
    			mes "";
    			mes "Current:";
    			mes "^0404B4"+$survey_option$[@selected-1]+"^000000";
    			next;
    			input $survey_option$[@selected-1];
    		}
              if ( @selected2 == 3) {
    
    			for ( set @a,@selected-1; @a < getarraysize($survey_option$)-1; set @a,@a+1 ) {
    			set $survey_option$[@a],$survey_option$[@a+1];
    		}
                set $survey_option$[@a],"";
    		}
    	}
    }
    OnInit:
    waitingroom "Voting Poll",0;
    end;
    // GM Settings End
    } else {
    // Player view
    	if ( !$survey_running ) { mes @np$; mes "There is no survey currently running."; close; }
    	if ( !getd("##survey_id_"+$vote_id) ) {
    		mes @np$;
    		mes "Please choose an Option for the following Survey:";
    		next;
    		while (1) {
    		mes "- ^8A0808"+$survey_title$+"^000000 -";
    		mes "";
    		mes $survey_question$;
    		set @menu_string$,"";
    		for ( set @a,0; @a < getarraysize($survey_option$); set @a,@a+1 ) {
    		set @menu_string$,@menu_string$ +":"+(@a+1)+". ^0404B4"+$survey_option$[@a]+"^000000";
    		}
    	next;
    	set @select, select ( @menu_string$ )-2;
    	mes @np$;
    	mes "Are you positive with your choice?";
    	mes "";
    	mes "- ^0404B4"+$survey_option$[@select]+"^000000 -";
    	next;
    	if ( select ( "Nope","Yeah" ) == 2 ) { 
    		set getd("##survey_id_"+($vote_id-1)),0;
    		set getd("##survey_id_"+$vote_id),1;
    		set $survey_option_votes[@select],$survey_option_votes[@select]+1;
    		mes @np$;
    		mes "Thank you for your Vote.";
    		next;
    		break;
    		}
    	}
    }
    	if ( getd("##survey_id_"+$vote_id) ) {
    		mes "- ^8A0808"+$survey_title$+"^000000 -";
    		mes $survey_question$;
    		mes "";
    		for ( set @a,0; @a < getarraysize($survey_option$); set @a,@a+1 ) {
    		mes "^0404B4"+$survey_option$[@a]+"^000000 - ^8A0808"+$survey_option_votes[@a]+"^000000 Vote/s";
    		}
    		close;
    		}
    	}
    }// Ending bracket
    
  2.  

    change this

    }
    close;
    }
    
    CS_2:
    
    if( countitem(7179) < 1 )
    

    to

    }
    close;
    
    CS_2:
    
    if( countitem(7179) < 1 )
    

     

    Finally it works! Thanks Stolao  /no1

    turbo_room,106,117,4	script	Currency Exchanger	860,{
    
    menu "Skulls to PODs",-,"PODs to Skulls",CS_2,"^ff0000Leave^000000",M_EXIT;
    
    if( countitem(7420) < 1000 )
    	mes "You didnt have 1000 "+getitemname( 7420 );
    else{
    	set .@Amount,( countitem(7420) / 1000 );
    	delitem 7420,( .@Amount * 1000 );
    	getitem 7179,.@Amount;
    	mes "Done...you gained "+.@Amount+" "+getitemname(7179);
    }
    close;
    
    CS_2:
    
    if( countitem(7179) < 1 )
    	mes "You didnt have 1 "+getitemname( 7179 );
    else{
    	set .@Amount,( countitem(7420) / 1000 );
    	delitem 7179,( .@Amount * 1 );
    	getitem 7420,1000;
    	mes "Done...you gained 1000 "+getitemname(7179);
    }
    close;
    
    M_EXIT:
    	mes "^ff0000@awesomazingxed^000000 ( Admin )";
    	mes callfunc("F_Bye");
    	close;
    OnInit:
    
    end;
    }
    
  3. Hello there. Can anyone help me with this script. 

    I'm not good at math and i tried to use this script in this map. But I can't

    Can anyone help me with this. 

     

    This is the map.

     

    264gu0z.jpg

     

     

    Credits to the map owner and Emistry for this script

    
    prontera,156,188,4	script	Vending Helper	757,{
    for( set .@i,1; .@i <= .count; set .@i,.@i + 1 ){
    	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
    	if( !getareausers( .map$,.@x,.@y,.@x,.@y ) && .@x > 1 && .@y > 1 ){
    		set .@available,.@available + 1;
    		set .@menu$,.@menu$ + "Slot - "+.@i+":";
    	}else{
    		set .@menu$,.@menu$ + ":";
    	}
    }
    
    if( !.@available ){
    	mes "Dont have any available slot.";
    }else if( !getskilllv("MC_VENDING") ){
    	mes "You dont have ^0055FFVending Skill^000000.";
    }else{
    	mes "Available Slot : "+.@available;
    	mes "Please select a slot to vending.";
    	set .@i,select( .@menu$ );
    	getmapxy( .@map$,.@x,.@y,1,"#vend_slot"+.@i );
    	if( .@x == 1 || .@y == 1 ){
    		mes "This NPC at invalid location...";
    	}else{
    		warp .@map$,.@x,.@y;
    		hideonnpc "#vend_slot"+.@i;
    	}
    }
    close;
    
    OnInit:
    sleep 1000;
    // Map for vending
    set .map$,"prontera";
    setcell .map$,0,0,284,365,cell_novending,1;
    
    // x and y horizone ..
    setarray .x_line,149,154,159;
    setarray .y_line,173,169,165,161,157;
    
    set .x_line_size,getarraysize( .x_line );
    set .y_line_size,getarraysize( .y_line );
    set .count,1;
    for( set .@x,0; .@x < .x_line_size; set .@x,.@x + 1 )
    	for( set .@y,0; .@y < .y_line_size; set .@y,.@y + 1 )
    		if( checkcell( .map$,.x_line[.@x],.y_line[.@y],cell_chkpass ) ){
    			movenpc "#vend_slot"+.count,.x_line[.@x],.y_line[.@y];
    			setcell .map$,.x_line[.@x],.y_line[.@y],.x_line[.@x],.y_line[.@y],cell_novending,0;
    			set .count,.count + 1;
    		}
    npctalk "Vending Spot : "+.count;
    donpcevent "::OnSetup";
    end;
    }
    
    -	script	vend_slot	-1,{
    getmapxy( .@map$,.@x,.@y,1 );
    if( !getskilllv("MC_VENDING") ){
    	mes "You dont have ^0055FFVending Skill^000000.";
    }else if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
    	mes "Someone already selected this spot.";
    }else{
    	mes "Spot : ^777777Available^000000";
    	mes "^0055FF[ Vending Area Rules ]^000000";
    	mes "^FF0000 ~ Use proper Shop Name.^000000";
    	mes "^FF0000 ~ Never sell Junk/Gifts.^000000";
    	mes " ";
    	mes "^777777Player will failed to follow these will be punished.^000000";
    	if( select( "Select this Spot","Cancel" ) == 1 ){
    		warp .@map$,.@x,.@y;
    		hideonnpc strnpcinfo(0);
    	}
    }
    close;
    
    OnSetup:
    getmapxy( .@map$,.@x,.@y,1 );
    set .@npcname$,strnpcinfo(0);
    while( .@map$ != "" ){
    	if( getareausers( .@map$,.@x,.@y,.@x,.@y ) ){
    		hideonnpc .@npcname$;
    	}else{
    		hideoffnpc .@npcname$;
    		// specialeffect 313;
    	}
    	sleep 5000;
    }
    end;
    }
    
    // Add more if needed.
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot1	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot2	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot3	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot4	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot5	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot6	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot7	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot8	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot9	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot10	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot11	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot12	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot13	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot14	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot15	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot16	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot17	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot18	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot19	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot20	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot21	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot22	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot23	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot24	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot25	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot26	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot27	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot28	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot29	858
    prontera,1,1,4	duplicate(vend_slot)	#vend_slot30	858
    
  4. Hello Everybody, this is an item exchanger. Can someone tell me what's wrong plus can anyone help me with this? Any help will be appreciated. Ciao. 

     

     

    rAthena Version SVN: r17709

     

    oh7n1w.jpg

    turbo_room,106,117,4	script	Currency Exchanger	860,{
    
    menu "Skulls to PODs",-,"PODs to Skulls",CS_2,"^ff0000Leave^000000",M_EXIT;
    
    if( countitem(7420) < 1000 )
    	mes "You didnt have 1000 "+getitemname( 7420 );
    else{
    	set .@Amount,( countitem(7420) / 1000 );
    	delitem 7420,( .@Amount * 1000 );
    	getitem 7179,.@Amount;
    	mes "Done...you gained "+.@Amount+" "+getitemname(7179);
    }
    close;
    }
    
    CS_2:
    
    if( countitem(7179) < 1 )
    	mes "You didnt have 1 "+getitemname( 7179 );
    else{
    	set .@Amount,( countitem(7420) / 1000 );
    	delitem 7179,( .@Amount * 1 );
    	getitem 7420,1000;
    	mes "Done...you gained 1000 "+getitemname(7179);
    }
    close;
    }
    
    M_EXIT:
    	mes "^ff0000@awesomazingxed^000000 ( Admin )";
    	mes callfunc("F_Bye");
    	close;
    OnInit:
    
    end;
    }
    
  5. If you want to use a npc which can check this. You can add this line before warp to the map:

    if (getmapusers("prontera") >=2){
    mes "Too much players on the map!";
    close;
    }
    

    Or if you want to check the map without using npc. You can try this:

    -	script	PronLimitation	-1,{
    
    OnInit:
    	end;
    
    OnPCLoadMapEvent:
    	if (getmapusers("prontera") >=2 && strcharinfo(3) == "prontera"){
    		mes "The max. player limitation is 2 player.";
    		close2;
    		warp "geffen",11,11;
    		end;
    	}
    }
    prontera	mapflag	loadevent
    

    I hope it can help you.

     

    Best regards,

    Garkor

     

    That's exactly what i need. Appreciated!  /no1

  6. Does anyone has a fix for this?

    Even though you already break the emp, you can still break them again then it makes a spam announcement. 

    //phtownall,191,173,5	script	The King#KoE1	469,{
    
    -	script	KoE	-1,{
    OnInit:
    disablenpc "The King#KoE";
    disablenpc "Exit#KoE";
    end;
    OnWhisperGlobal:
    if ( getgmlevel() < 99 ) end;
    else if ( compare ( @whispervar0$, "on" ) ) goto L_start;
    else if ( compare ( @whispervar0$, "off" ) ) goto L_end;
    else end;
     
    L_end:
    OnClock0740:
    OnClock1240:
    OnClock1740:
    announce "The King of Emperium Hill is over!", 0;
    set .koe_start, 0;
    enablenpc "Exit#KoE";
    disablenpc "The King#KoE";
    killmonsterall "koe";
    end;L_start:
    OnMinute40:
    //OnClock0710:
    //OnClock1210:
    //OnClock1710:
    announce "The King of Emperium Hill has begun!", 0;
    set .koe_start, 1;
    enablenpc "The King#KoE";
    disablenpc "Exit#KoE";
    set $koegid, 0;
    donpcevent "::OnRevKoE";
    maprespawnguildid "koe", $koegid, 6;
    monster "koe",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
    end;
    OnEmpDead:
    set $koegid, getcharid(2);
    announce "The current King of Emperium Hill is the [" + strcharinfo(2) + "] guild.", 0;
    donpcevent "::OnRevKoE";
    maprespawnguildid "koe", $koegid, 6;
    sleep 500;
    if ( .koe_start )
      monster "koe",50,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
    end;
    }// KoE Entrance
    phtownall,191,173,5	script	The King#KoE	469,{
        mes "[The King]";
    if ( getcharid(2) == 0 ) {
      mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000.";
      close;
    }
        mes "Hello.";
        mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?";
    if ( select ( "Yes", "No" ) == 2 ) close;
        switch( rand(1,4) ){
    	    case 1: warp "koe", 85, 15; end;
    	    case 2: warp "koe", 12, 15; end;
    	    case 3: warp "koe", 14, 84; end;
    	    case 4: warp "koe", 86, 85; end;
    }
    }
    // KoE Exit
    koe,47,52,4	script	Exit#KoE	51,{
    mes "[Exit]";
    mes "See ya.";
    if ( getcharid(2) == $koegid )
      getitem 14232, 5; // configure prize here
      getitem 7829, 50; // configure prize here
      getitem 7711, 100; // configure prize here
    next;
    warp "Save",0,0;
    close;
    } Flags
    koe,49,38,4 script King of Emperium Hill#1::koe_flag 722,{
    set .@gid, $koegid;
    if ( .@gid == 0 ) end;
    mes "[King of Emperium Hill]";
    mes "The Current King of Emperium Hill is the ["+ getguildname(.@gid) +"] guild.";
    close;
    OnRevKoE:
    flagemblem $koegid;
    end;
    }
    koe,61,49,6 duplicate(koe_flag) King of Emperium Hill#2 722
    koe,38,49,2 duplicate(koe_flag) King of Emperium Hill#3 722
    koe,49,61,0 duplicate(koe_flag) King of Emperium Hill#4 722
    phtownall,187,173,4 duplicate(koe_flag) King of Emperium Hill#5 722
    koe mapflag gvg
    koe mapflag nobranch
    koe mapflag nomemo
    koe mapflag nopenalty
    koe mapflag noreturn
    koe mapflag nosave SavePoint
    koe mapflag noteleport
    koe mapflag gvg_noparty
    koe mapflag nowarp
    koe mapflag nowarpto
    
  7. // Awesomazing Coin Rewards
    -	shop	Emistry_Shop1	-1,512:100
    
    turbo_room,123,97,4	script	Donation Rewards	829,{
    
    function ShopSettings;
    function ValidateCost;
    function CurrencyInfo;
    function ClearData;
    function ValueConvert;
    function ErrorNotice;
    
    mes "[ RO2K15 Coin Rewards]";
    	mes "^d21838PODs^000000 can be traded here."; 
    	mes "You can obtain PODs from:";
    	mes "1. Donation";
    	mes "2. Lotti Girl";
    	mes "3. GM Held Events";
    	mes "4. Facebook Contest";
    next;
    
    // Menu Selection
    select("Headgear","Mid Headgear","Lower Headgear","Consumables & ETC");
    
    ClearData();
    ShopSettings( @menu );
    npcshopitem "Emistry_Shop1",512,100;
    npcshopdelitem "Emistry_Shop1",512;
    for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1)
    	npcshopadditem "Emistry_Shop1",@ItemLists[.@i],@ItemCost[.@i];
    CurrencyInfo( @Currency$ );
    callshop "Emistry_Shop1",1;
    npcshopattach "Emistry_Shop1";
    end;
    
    
    function	ShopSettings	{
    	switch( getarg(0) ){
    		Case 1:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5375,5376,5396,5498,5420,5383,5481,5423,5564,5399,5374,5518,5805,5452;
    			// Item Price
    			setarray @ItemCost[0],5,5,5,5,5,5,5,7,7,10,10,10,12,15;
    			break;
    		Case 2:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5421,5325,5800,5389,5664,5471,5402;
    			// Item Price
    			setarray @ItemCost[0],5,5,5,5,5,5,5;
    			break;
    		Case 3:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5532,5462,5155,5377,5521;
    			// Item Price
    			setarray @ItemCost[0],3,6,8,9,15;
    			break;
    		Case 4:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],7776,7619,7620;
    			// Item Price
    			setarray @ItemCost[0],1,1,1;
    			break;
    
    		// Case 4,5,6.....etc...
    		default:
    			ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." );
    			close;
    	}
    	
    	
    if( @Currency$ == "" )
    	ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." );
    if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) )
    	ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." );
    return;
    }
    
    function	ErrorNotice	{
    	mes "^FF0000ERROR^000000 - "+getarg(0);
    	mes "^00FF00____________________________^000000";
    	mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !";
    	close;
    }
    
    function	CurrencyInfo	{
    	if( getitemname( atoi( getarg(0) ) ) != "null" ){
    		mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000";
    		mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000";
    	}else if( getitemname( atoi( getarg(0) ) ) == "null" ){
    		mes "Variable Currency : ^FF0000"+getarg(0)+"^000000";
    		mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000";
    	}
    return;
    }
    
    function	ValidateCost	{
    	if( getitemname( atoi( getarg(0) ) ) != "null" ){
    		if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1;
    	}else{
    		if( getd( getarg(0) ) < getarg(1) ) return 1;
    	}
    return 0;
    }
    
    function ClearData	{
    	set @Currency$,"";
    	set @TotalCost,0;
    	deletearray @bought_nameid[0],getarraysize( @bought_nameid );
    	deletearray @bought_quantity[0],getarraysize( @bought_quantity );
    	deletearray @ItemLists[0],getarraysize( @ItemLists );
    	deletearray @ItemCost[0],getarraysize( @ItemCost );
    return;
    }
    
    function	ValueConvert	{
    	set .@num, atoi(""+getarg(0));
    	if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);
    	set .@l, getstrlen(""+.@num);
    	for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {
    		set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;
    			if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;
    	}
    	return .@num$;
    }
    
    OnBuyItem:
    	ShopSettings( @menu );
    	for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1)
    		for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1)
    			if( @ItemLists[@j] == @bought_nameid[@i] )
    			set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );
    	for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 )
    			mes "Reward : "+@bought_quantity[@i]+"  "+getitemname( @bought_nameid[@i] )+"";
    			mes "-----------------------------------";
    	if( getitemname( atoi( @Currency$ ) ) != "null" )
    		mes "Total Cost : "+ValueConvert( @TotalCost )+" "+getitemname( atoi( @Currency$ ) )+"";
    	else if( getitemname( atoi( @Currency$ ) ) == "null" ){
    		mes "Total Cost : "+ValueConvert( @TotalCost )+" "+@Currency$+"";
    	}
    	
    		if( ValidateCost( @Currency$,@TotalCost ) ){
    		if( getitemname( atoi( @Currency$ ) ) != "null" )
    			mes " Insufficient "+getitemname( atoi( @Currency$ ) )+"";
    		else{
    			mes "[^00FF00Insufficient^000000"+@Currency$+"";
    		}
    	}else{
    		if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){
    			if( getitemname( atoi( @Currency$ ) ) != "null" )
    				delitem atoi( @Currency$ ),@TotalCost;
    			else{
    				set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost;
    			}
    			for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1)
    				getitem @bought_nameid[@i],@bought_quantity[@i];
    				announce "Player "+ strcharinfo(0) +" has purchased "+ @bought_quantity[@i] +" "+ getitemname(@bought_nameid[@i]),bc_all;
    			message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items.";
    			mes "Thank you for purchasing!.";
    		}
    	}
    ClearData();
    close;
    
    }
    Try that

     

     

    Hello Luciar, it works but it says 

     

    Player "name" has purchased 0 null    

     How to fix this?

  8. Halo rathena. Can someone please fix this script for me. This is a simple item exchanger I just want to have a menu of:

     

    1. Skulls to PODS

    2. PODS to SKULL

     

    Thanks in advance. 

    turbo_room,106,117,4	script	Currency Exchanger	860,{
    
    	mes callfunc("F_Hi");
    	mes "Yo! I am the Currency Exchanger!";
    	mes "Do you want to change your Skulls to PODS?";
    	mes "or I rather say your PODS to Skulls?";
    	next;
    switch(select("Skulls to PODS:PODS to Skulls")) {
    
    case 1:
    if( countitem(7420) < 1000 )
    	mes "You didnt have 1000 "+getitemname( 7420 );
    else{
    	set .@Amount,( countitem(7420) / 1000 );
    	delitem 7420,( .@Amount * 1000 );
    	getitem 7179,.@Amount;
    	mes "Done...you gained "+.@Amount+" "+getitemname(7179);
    }
    close;
    }
    
    case 2:
    if( countitem(7179) < 1 )
    	mes "You didnt have 1 "+getitemname( 7179 );
    else{
    	set .@Amount,( countitem(7179) / 1 );
    	delitem 7179,( .@Amount * 1 );
    	getitem 7420,( .@Amount * 1000 );;
    	mes "Done...you gained "+.@Amount+" "+getitemname(7420);
    }
    close;
    }
    
    

    Anyone?

  9. Halo rathena. Can someone edit this script. If a player bought any items in my donation, it will announce globally. Thanks. 

    // Awesomazing Coin Rewards
    -	shop	Emistry_Shop1	-1,512:100
    
    turbo_room,123,97,4	script	Donation Rewards	829,{
    
    function ShopSettings;
    function ValidateCost;
    function CurrencyInfo;
    function ClearData;
    function ValueConvert;
    function ErrorNotice;
    
    mes "[ RO2K15 Coin Rewards]";
    	mes "^d21838PODs^000000 can be traded here."; 
    	mes "You can obtain PODs from:";
    	mes "1. Donation";
    	mes "2. Lotti Girl";
    	mes "3. GM Held Events";
    	mes "4. Facebook Contest";
    next;
    
    // Menu Selection
    select("Headgear","Mid Headgear","Lower Headgear","Consumables & ETC");
    
    ClearData();
    ShopSettings( @menu );
    npcshopitem "Emistry_Shop1",512,100;
    npcshopdelitem "Emistry_Shop1",512;
    for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1)
    	npcshopadditem "Emistry_Shop1",@ItemLists[.@i],@ItemCost[.@i];
    CurrencyInfo( @Currency$ );
    callshop "Emistry_Shop1",1;
    npcshopattach "Emistry_Shop1";
    end;
    
    
    function	ShopSettings	{
    	switch( getarg(0) ){
    		Case 1:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5375,5376,5396,5498,5420,5383,5481,5423,5564,5399,5374,5518,5805,5452;
    			// Item Price
    			setarray @ItemCost[0],5,5,5,5,5,5,5,7,7,10,10,10,12,15;
    			break;
    		Case 2:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5421,5325,5800,5389,5664,5471,5402;
    			// Item Price
    			setarray @ItemCost[0],5,5,5,5,5,5,5;
    			break;
    		Case 3:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],5532,5462,5155,5377,5521;
    			// Item Price
    			setarray @ItemCost[0],3,6,8,9,15;
    			break;
    		Case 4:
    			// Currency [ Item ID / Variable Name ]
    			set @Currency$,"7179";
    			// Item ID Lists
    			setarray @ItemLists[0],7776,7619,7620;
    			// Item Price
    			setarray @ItemCost[0],1,1,1;
    			break;
    
    		// Case 4,5,6.....etc...
    		default:
    			ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." );
    			close;
    	}
    	
    	
    if( @Currency$ == "" )
    	ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." );
    if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) )
    	ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." );
    return;
    }
    
    function	ErrorNotice	{
    	mes "^FF0000ERROR^000000 - "+getarg(0);
    	mes "^00FF00____________________________^000000";
    	mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !";
    	close;
    }
    
    function	CurrencyInfo	{
    	if( getitemname( atoi( getarg(0) ) ) != "null" ){
    		mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000";
    		mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000";
    	}else if( getitemname( atoi( getarg(0) ) ) == "null" ){
    		mes "Variable Currency : ^FF0000"+getarg(0)+"^000000";
    		mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000";
    	}
    return;
    }
    
    function	ValidateCost	{
    	if( getitemname( atoi( getarg(0) ) ) != "null" ){
    		if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1;
    	}else{
    		if( getd( getarg(0) ) < getarg(1) ) return 1;
    	}
    return 0;
    }
    
    function ClearData	{
    	set @Currency$,"";
    	set @TotalCost,0;
    	deletearray @bought_nameid[0],getarraysize( @bought_nameid );
    	deletearray @bought_quantity[0],getarraysize( @bought_quantity );
    	deletearray @ItemLists[0],getarraysize( @ItemLists );
    	deletearray @ItemCost[0],getarraysize( @ItemCost );
    return;
    }
    
    function	ValueConvert	{
    	set .@num, atoi(""+getarg(0));
    	if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0);
    	set .@l, getstrlen(""+.@num);
    	for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) {
    		set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$;
    			if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$;
    	}
    	return .@num$;
    }
    
    OnBuyItem:
    	ShopSettings( @menu );
    	for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1)
    		for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1)
    			if( @ItemLists[@j] == @bought_nameid[@i] )
    			set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] );
    	for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 )
    			mes "Reward : "+@bought_quantity[@i]+"  "+getitemname( @bought_nameid[@i] )+"";
    			mes "-----------------------------------";
    	if( getitemname( atoi( @Currency$ ) ) != "null" )
    		mes "Total Cost : "+ValueConvert( @TotalCost )+" "+getitemname( atoi( @Currency$ ) )+"";
    	else if( getitemname( atoi( @Currency$ ) ) == "null" ){
    		mes "Total Cost : "+ValueConvert( @TotalCost )+" "+@Currency$+"";
    	}
    	
    		if( ValidateCost( @Currency$,@TotalCost ) ){
    		if( getitemname( atoi( @Currency$ ) ) != "null" )
    			mes " Insufficient "+getitemname( atoi( @Currency$ ) )+"";
    		else{
    			mes "[^00FF00Insufficient^000000"+@Currency$+"";
    		}
    	}else{
    		if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){
    			if( getitemname( atoi( @Currency$ ) ) != "null" )
    				delitem atoi( @Currency$ ),@TotalCost;
    			else{
    				set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost;
    			}
    			for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1)
    				getitem @bought_nameid[@i],@bought_quantity[@i];
    			message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items.";
    			mes "Thank you for purchasing!.";
    		}
    	}
    ClearData();
    close;
    
    }
    
    

    Anyone? UP

  10. First I would like to say Hi. 

     

    Uhm. This is what I want. I have this working PVP warper. It works great. 

    It has 3 selection menu [ Normal / 1v1 Champ / 1v1 Any Job ]

    What I want is, in "1v1 Champ" and "1v1 Any Job" are only 2 players can be warp in that specific PVP Room. Plus, players can know if there's people in that pvp area. Something like this. 

     

    Menu

    • Normal PVP (13)
    • 1v1 Champ (2)    or      (1)=if there's only 1 player in that map     or     (0)=if there's no people
    • 1v1 Any Job (2)    or      (1)=if there's only 1 player in that map     or     (0)=if there's no people

    Plus in "1v1 Champ", only Champion class are enable to enter in that map. 

     

    Plus in any area, when player entered, they will be automatically all buffs will be remove, except Agi / Bless + Foods. 

     

    So yeah! Here's the script! Hopefully someone helps me and I'll thank you forever! 

    phtownall,208,173,4	script	PVP Warper	580,{
    mes "[ ^0065DFPVP Warper^000000 ]";
    mes "Welcome To PVP Warper";
    mes "I Can Help You Warp To PVP Room";
    next;
    mes "[ ^0065DFPVP Warper^000000 ]";
    mes "You Ready?";
    switch(select("Normal PVP:1v1 Champ:1v1 Any Class:No")) {
    //switch(select("Yes:No")) {
    case 1:
    set zz_point,zz_point+1;
    set my_point,zz_point;
    //announce ""+ strcharinfo(0) +" Has Entered The PVP Room.." + zz_point + " Times ",bc_all; //announce and end
    //announce ""+ strcharinfo(0) +" Has Entered The PVP Room",bc_all; //announce and end
    warp "prt_pvp" ,0,0;
    close;
    end;
    case 2:
    set zz_point,zz_point+1;
    set my_point,zz_point;
    announce ""+ strcharinfo(0) +" Has Entered The PVP Room.." + zz_point + " Times ",bc_all; //announce and end
    warp "ufc_pvp2" ,0,0;
    close;
    end;
    case 3:
    set zz_point,zz_point+1;
    set my_point,zz_point;
    announce ""+ strcharinfo(0) +" Has Entered The PVP Room.." + zz_point + " Times ",bc_all; //announce and end
    warp "ufc_pvp3" ,0,0;
    close;
    end;
    case 5:
    close;
    }
    OnInit:
    initnpctimer;
    end;
    
    OnTimer1000:
    delwaitingroom;
    waitingroom "PVP Room - "+getmapusers("prt_pvp"),0;
    initnpctimer;
    end;
    
    //OnInit:
    //waitingroom "Pvp Room "+getmapusers("guild_vs3")+" Users.",0,0;
    //end;
    }
    
    prt_pvp	mapflag	nosave
    prt_pvp	mapflag	nowarp
    prt_pvp	mapflag	nowarpto
    prt_pvp	mapflag	noteleport
    prt_pvp	mapflag	noreturn
    prt_pvp	mapflag	nosave
    prt_pvp	mapflag	nowarp
    prt_pvp	mapflag	nowarpto
    prt_pvp	mapflag	noteleport
    prt_pvp	mapflag	noreturn
    prt_pvp	mapflag	nosave
    prt_pvp	mapflag	nowarp
    prt_pvp	mapflag	pvp
    prt_pvp	mapflag	nowarpto
    prt_pvp	mapflag	noteleport
    prt_pvp	mapflag	noreturn
    prt_pvp	mapflag	nosave
    prt_pvp	mapflag	nowarp
    prt_pvp	mapflag	nowarpto
    prt_pvp	mapflag	noteleport
    prt_pvp	mapflag	noreturn
    
    

    /kis


    UP!  /pat

  11. Thanks Luciar! It works!  /no1

    turbo_room,94,105,4	script	Zenny Giver#BG8	804,{
    mes "^0055AA[ Banker ]^000000";
    	mes "Who wants to be a Millionaire?";
    	mes "For sure you are!"; 
    
    	next;
    
    Zeny += 5000000;
    	mes "Here you go!";
    	mes "5 million zeny for you, darling";
    
    close;
    OnInit:
    waitingroom "Zenny Giver",0;
    end;
    }
    
  12. Halo rathena, can anyone remake this script? I want to make this King of the Hill to be automated. 

    • The King of the Hill will starts during 12pm and 12am ( server time )
    • Event last for only 30 minutes
    • Winning guild can get 1pcs Event Ticket (12493)

    For those who can help me, i'll thank you forever. Ciao.  /no1

    -	script	KoE	-1,{
    OnInit:
    disablenpc "The King#KoE";
    disablenpc "Exit#KoE";
    end;
    OnWhisperGlobal:
    if ( getgmlevel() < 99 ) end;
    else if ( compare ( @whispervar0$, "on" ) ) goto L_start;
    else if ( compare ( @whispervar0$, "off" ) ) goto L_end;
    else end;
     
    L_end:
    announce "The King of Emperium Hill is over!", 0;
    set .koe_start, 0;
    enablenpc "Exit#KoE";
    disablenpc "The King#KoE";
    killmonsterall "koe";
    end;L_start:
    announce "The King of Emperium Hill has begun!", 0;
    set .koe_start, 1;
    enablenpc "The King#KoE";
    disablenpc "Exit#KoE";
    set $koegid, 0;
    donpcevent "::OnRevKoE";
    maprespawnguildid "koe", $koegid, 6;
    monster "koe",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
    end;
    OnEmpDead:
    set $koegid, getcharid(2);
    announce "The current King of Emperium Hill is [ " + strcharinfo(0) + " ] from the [ " + strcharinfo(2) + " ] guild.", 0;
    donpcevent "::OnRevKoE";
    maprespawnguildid "koe", $koegid, 6;
    sleep 500;
    if ( .koe_start )
      monster "koe",49,49,"EMPERIUM",1288,1,"KoE::OnEmpDead";
    end;
    }// KoE Entrance
    phtownall,191,173,5	script	The King#KoE1	469,{
        mes "[The King]";
    if ( getcharid(2) == 0 ) {
      mes "You must have a guild to participate in the ^FF0000King of Emperium Hill Tournament^000000.";
      close;
    }
        mes "Hello.";
        mes "Would you like to participate in the ^FF0000King of Emperium Hill Tournament^000000?";
    if ( select ( "Yes", "No" ) == 2 ) close;
        switch( rand(1,4) ){
    	    case 1: warp "koe", 13, 15; end;
    	    case 2: warp "koe", 11, 85; end;
    	    case 3: warp "koe", 88, 86; end;
    	    case 4: warp "koe", 86, 14; end;
    }
    }
    
    // KoE Exit
    koe,52,51,4	script	Exit#KoE	470,{
    next;
    warp "Save",0,0;
    end;
    }
    // Flags
    koe,90,10,1	script	King of Emperium Hill#1::koe_flag	722,{
    set .@gid, $koegid;
    if ( .@gid == 0 ) end;
    mes "[King of Emperium Hill]";
    mes "The Current King of Emperium Hill is the ["+ getguildname(.@gid) +"] guild.";
    close;
    OnRevKoE:
    flagemblem $koegid;
    end;
    }
    koe,49,77,4	duplicate(koe_flag)	King of Emperium Hill#a	722
    koe,50,22,0	duplicate(koe_flag)	King of Emperium Hill#b	722
    koe,60,59,3	duplicate(koe_flag)	King of Emperium Hill#c	722
    koe,39,59,5	duplicate(koe_flag)	King of Emperium Hill#d	722
    koe,39,40,7	duplicate(koe_flag)	King of Emperium Hill#e	722
    koe,60,40,1	duplicate(koe_flag)	King of Emperium Hill#f	722
    koe,22,50,6	duplicate(koe_flag)	King of Emperium Hill#g	722
    koe,8,89,5	duplicate(koe_flag)	King of Emperium Hill#h	722
    koe,91,89,3	duplicate(koe_flag)	King of Emperium Hill#i	722
    koe,8,11,7	duplicate(koe_flag)	King of Emperium Hill#k	722
    phtownall,187,173,4	duplicate(koe_flag)	King of Emperium#5	722
    koe	mapflag	gvg
    koe	mapflag	nobranch
    koe	mapflag	nomemo
    koe	mapflag	nopenalty
    koe	mapflag	noreturn
    koe	mapflag	nosave
    koe	mapflag	noteleport
    //guild_vs1	mapflag	gvg_noparty
    koe	mapflag	nowarp
    koe	mapflag	nowarpto
    
×
×
  • Create New...