Jump to content

hadiesyafiq

Members
  • Content Count

    156
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by hadiesyafiq


  1. 7 hours ago, L1nkZ said:

     

    What are the specs of the box you use to compile the project?

    Rust is actually pretty resource intensive when it comes to compiling and linking the code. For some projects for example, 4GiB of RAM might not be enough. I don't know for sure for RPatchur but it might require more than 1 or 2GiB, never checked.

    Have other way?/sob...my vps 2core 1gbram


  2. 11 hours ago, L1nkZ said:

    Hi,

     

    It seems you're missing a package on your distribution.

    Doing the following on Debian/Ubuntu will probably fix that (although you may have some other missing packages):

    sudo apt-get install libglib2.0-dev

    
    sudo apt-get install libglib2.0-dev

     

    Take a look at this Dockerfile to see most of the dependencies you may be missing for building the project on Debian or Ubuntu.

    Hi..i install all from dockerfile...all 243 of 244 success but just one error how to fix this error? /swt

     

    rpatchur.png


  3. i all ready success to make it give 24hours per reward

    but it only work per account not per character

    here my script

    function	script	getmercenary	{
    	set .Hour,24;
    	if( #dailymercenary < gettimetick(2) ) {
    		mes "Here your Mercenary Contract for today.";
    		set #dailymercenary,gettimetick(2) + ( .Hour * 3600 );
    		getitem 12160,5; //set the price here
    	}else{
    		set .@last,#dailymercenary - gettimetick(2);
    		set .@hour, .@last % ( 24 * 3600 ) / 3600;
    		set .@min, .@last % ( 24 * 3600 ) % 3600 / 60;
    		set .@sec, .@last % ( 24 * 3600 ) % 3600 % 60;
    		mes "You have to wait ^FF0000"+.@hour+":"+.@min+":"+.@sec+"^000000 countdown to get next Mercenary Contract";
    	}
    	close;
    }

    how to make it give per character?


  4. if (!quest_random) {
    				mes "[Swordman Guildsman]";
    				mes("Last Question.");
    				mes("If.....");
    				next();
    			}
    			switch(quest_random) {
    				case 1:
    					mes "[Swordman Guildsman]";
    					mes("1+3+5 = ???");
    					next();
    					input(.@guess);
    					if (.@guess == 9) {
    						mes "[Swordman Guildsman]";
    						mes "Then I'll end your training process and send you to the Swordman Guild.";
    						callfunc "F_NvErase",1;
    						close2;
    						savepoint "izlude",128,98; // Old coordinates: (95,104)
    						warp "izlude_in",74,167;
    						close();
    					} else {
    						mes("[Swordman Guildsman]");
    						mes("Sorry.");
    						close();
    					}
    				case 2:
    					mes "[Swordman Guildsman]";
    					mes("5+9+5 = ???");
    					next();
    					input(.@guess);
    					if (.@guess == 19) {
    						mes "[Swordman Guildsman]";
    						mes "Then I'll end your training process and send you to the Swordman Guild.";
    						callfunc "F_NvErase",1;
    						close2;
    						savepoint "izlude",128,98; // Old coordinates: (95,104)
    						warp "izlude_in",74,167;
    						close();
    					} else {
    						mes("[Swordman Guildsman");
    						mes("Sorry.");
    						close();
    				}
    			}
    		}
    	}
    }

    is this right way to make npc ask random different kind of questions?

    not only 1 questions but many


  5. hi all how to make this message to be broadcast message?

     

    on message.conf (1229 message) i want it be broadcast

    here on atcommand.c

    clif->message(sd->fd, msg_fd(fd,1229)); // Your group has changed.

     

    here is example broadcast message.conf (896 message)

    on clif.c

    safesnprintf(output, sizeof(output), msg_sd(sd, 896), sd->status.mod_exp, sd->status.mod_drop, sd->status.mod_death);

    clif->broadcast2(&sd->bl, output, (int)strlen(output) + 1, 0xffbc90, 0x190, 12, 0, 0, SELF);

     

    can someone help me change clif->message(sd->fd, msg_fd(fd,1229)); // Your group has changed. to be broadcast message?

     

    thanks in advance


  6. hi all i would to request annoucement (not for all server just for character) and disbottom will show when we login and change map {its mean we enter portal)..

    the message i like to show is current rates like this

     

     

    -    script    current_rate    FAKE_NPC,{

    OnPCLoginEvent:
            if (countitem(VIP_Card) > 0)

            {
              announce "E X P 120% ( basic 100% new 20%)";

              announce "DROP 120% ( basic 100% new 20%) ";

              announce "DEATH : 50% ( basic 100% new -50%) ";

             

              dispbottom "E X P 120% ( basic 100% new 20%)";
              dispbottom "DROP 120% ( basic 100% new 20%)";
              dispbottom "DEATH 50% ( basic 100% new -50%)";

            }
            else
            {

              announce "E X P 100% ( basic 100% new  0% )";

              announce "DROP 100% ( basic 100% new  0% ) ";

              announce " DEATH 100% ( basic 100% new  0% ) ";

             

              dispbottom "E X P 100% ( basic 100% new  0% )";
              dispbottom "DROP 100% ( basic 100% new  0% )";
              dispbottom "100% ( basic 100% new  0% )";


            }
        end;

    }
     

    the annoucement is like @broadcast yellow color font but only show on the character not on whole server

    the disbottom orange color font..

    will show when login and change to any map..

     

    thanks in advance


  7. 50 minutes ago, AnnieRuru said:

    totally don't understand what this trying to do

    on 1 thing, when player login, it will check the item, and if the player has the item, adjust the VIP like bonus

     

    1. what happens if the player drop the item ? will it recalculate the exp bonus ?

    2. what happens if the player has multiple of the said items ? will it stack the bonus ?

     

    3. why use an item ????????

     

    4. use OnPCStatCalcEvent ????? or Charms ???

     

    5. is the bonus is bind to an account ???? or bind to an item ???

     

    6. where the the .exp_rate comes from ?? if this isn't set anywhere, they actually get 0 because anything times ZERO is equal to ZERO

    setparam(125, 55 * .exp_rate); // SP_MOD_EXP setparam(126, 40 * .drop_rate); // SP_MOD_DROP setparam(127, 0); // SP_MOD_DEATH

    
    	setparam(125, 55 * .exp_rate); // SP_MOD_EXP
    	setparam(126, 40 * .drop_rate); // SP_MOD_DROP
     	setparam(127, 0); // SP_MOD_DEATH

     

    I have so many questions I don't even know where to start

     

     

    EDIT: I think no.6 just forgot to add getbattleflag("<something>")

    yes @AnnieRuru i use your charms plugins

    thats script above is just example...i made new item use charms plugins vip will bind to item its mean only the character have it will get vip bonus...the item can be store but cannot trade or drops...but have 3 item to get same script effect like 3day/7day/30day with rental script

    here like this 

    -    script    VIP    FAKE_NPC,{

        OnInit:
            // Players Exp rate (Base and Job Experience)
            // 0 = No Exp
            // 1 = Normal Exp
            // 2 = 2x Exp
            .exp_rate = 2;

            // Players Drop rate
            // 0 = No Drop
            // 1 = Normal Drop
            // 2 = 2x Drop
            .drop_rate = 3;

        end;

        OnPCLoginEvent:
            if (countitem(newitem1) > 0)

            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                //setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                //setparam(127, 100); // SP_MOD_DEATH
            }
        end;

     OnPCLoginEvent:
            if (countitem(newitem3) > 0)

            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                //setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                //setparam(127, 100); // SP_MOD_DEATH
            }
        end;

     OnPCLoginEvent:
            if (countitem(newitem1) > 0)

            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                //setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                //setparam(127, 100); // SP_MOD_DEATH
            }
        end;

    }

     

    1 hour ago, gantz said:

    if (countitem(apple) > 0 || countitem(meat) > 0 || countitem(orange) > 0){ // } else { // }

    
    if (countitem(apple) > 0 || countitem(meat) > 0 || countitem(orange) > 0){
    //
    } else {
    //
    }
    

    Thanks sir @gantz


  8. hi i want make this script will work if we have just one of 3 different item

    1 got 3 kind of item apple,meat and orange...this script will be use if we have one of the item..

    example

     

    -    script    VIP    FAKE_NPC,{

        OnPCLoginEvent:
            if (countitem(apple) > 0)
            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
        end;

        OnPCLoginEvent:
            if (countitem(meat) > 0)
            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
        end;

        OnPCLoginEvent:
            if (countitem(orange) > 0)
            {
                setparam(125, 55 * .exp_rate); // SP_MOD_EXP
                setparam(126, 40 * .drop_rate); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
            else
            {
                setparam(125, 100); // SP_MOD_EXP
                setparam(126, 100); // SP_MOD_DROP
                setparam(127, 0); // SP_MOD_DEATH
            }
        end;

    }

     

    not work like above..i forgot how to make script if and else...can someone show me the script?


  9. 3 minutes ago, AnnieRuru said:

    is this a different request ?

    feels totally different from the first post

     

    - script kjhfkshdf FAKE_NPC,{ OnNPCKillEvent: if (strcharinfo(PC_MAP) != "prt_fild08" || .spawned == true) end; if (killedrid == PORING) ++.poringkill; else if (killedrid == DROPS) ++.dropskill; else if (killedrid == POPORING) ++.poporingkill; if (.poringkill > 10 && .dropskill > 10 && .poporingkill > 10) { getmapxy .@map$, .@x, .@y, UNITTYPE_PC; while (checkcell(.@map$, .@x2 = rand(.@x - .@area, .@x + .@area), .@y2 = rand(.@y - .@area, .@y + .@area), cell_chknopass)); monster "prt_fild08", .@x2, .@y2, "--ja--", MASTERING, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnMobKill"; mapannounce "prt_fild08", "Mastering has been spawn", bc_map; .spawned = true; } end; OnMobKill: mapannounce "prt_fild08", "Mastering has been killed", bc_map; initnpctimer; end; //OnTimer5000: OnTimer86400000: .poringkill = 0; .dropskill = 0; .poporingkill = 0; .spawned = false; end; } prt_fild08,0,0,0,0 monster Poring 1002,1000,0,0 prt_fild08,0,0,0,0 monster Drops 1113,1000,0,0 prt_fild08,0,0,0,0 monster Poporing 1031,1000,0,0

    
    -	script	kjhfkshdf	FAKE_NPC,{
    OnNPCKillEvent:
    	if (strcharinfo(PC_MAP) != "prt_fild08" || .spawned == true)
    		end;
    	if (killedrid == PORING)
    		++.poringkill;
    	else if (killedrid == DROPS)
    		++.dropskill;
    	else if (killedrid == POPORING)
    		++.poporingkill;
    	if (.poringkill > 10 && .dropskill > 10 && .poporingkill > 10) {
    		getmapxy .@map$, .@x, .@y, UNITTYPE_PC;
    		while (checkcell(.@map$, .@x2 = rand(.@x - .@area, .@x + .@area), .@y2 = rand(.@y - .@area, .@y + .@area), cell_chknopass));
    		monster "prt_fild08", .@x2, .@y2, "--ja--", MASTERING, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnMobKill";
    		mapannounce "prt_fild08", "Mastering has been spawn", bc_map;
    		.spawned = true;
    	}
    	end;
    OnMobKill:
    	mapannounce "prt_fild08", "Mastering has been killed", bc_map;
    	initnpctimer;
    	end;
    //OnTimer5000:
    OnTimer86400000:
    	.poringkill = 0;
    	.dropskill = 0;
    	.poporingkill = 0;
    	.spawned = false;
    	end;
    }
    prt_fild08,0,0,0,0	monster	Poring	1002,1000,0,0
    prt_fild08,0,0,0,0	monster	Drops	1113,1000,0,0
    prt_fild08,0,0,0,0	monster	Poporing	1031,1000,0,0

     

    Hehehehe thank you very very much @AnnieRuru


  10. On 10/22/2020 at 6:44 PM, AnnieRuru said:

    - script kjhfkshdf FAKE_NPC,{ OnNPCKillEvent: if (killedrid == PORING && strcharinfo(PC_MAP) == "prt_fild08") { if (++.poringkill == 100) { monster "prt_fild08", 0,0, "--ja--", MASTERING, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnMobKill"; // mapannounce "prt_fild08", "Mastering has been spawn", bc_map; } } end; OnMobKill: // mapannounce "prt_fild08", "Mastering has been killed", bc_map; initnpctimer; end; //OnTimer5000: OnTimer86400000: .poringkill = 0; end; } prt_fild08,0,0,0,0 monster Poring 1002,1000,0,0

    
    -	script	kjhfkshdf	FAKE_NPC,{
    OnNPCKillEvent:
    	if (killedrid == PORING && strcharinfo(PC_MAP) == "prt_fild08") {
    		if (++.poringkill == 100) {
    			monster "prt_fild08", 0,0, "--ja--", MASTERING, 1, strnpcinfo(NPC_NAME_UNIQUE)+"::OnMobKill";
    //			mapannounce "prt_fild08", "Mastering has been spawn", bc_map;
    		}
    	}
    	end;
    OnMobKill:
    //	mapannounce "prt_fild08", "Mastering has been killed", bc_map;
    	initnpctimer;
    	end;
    //OnTimer5000:
    OnTimer86400000:
    	.poringkill = 0;
    	end;
    }
    prt_fild08,0,0,0,0	monster	Poring	1002,1000,0,0

    tested with

    https://annieruru.blogspot.com/2019/01/mapmoblist-script-version.html

    hi @AnnieRuru i've test the script several time..there is nothing error on map-server but nothing happen when i kill 100 poring..no mastering spawn and no map announcement..

×
×
  • Create New...

Important Information

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