Jump to content

Bin4ry

Members
  • Posts

    782
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Bin4ry

  1. https://raw.githubusercontent.com/rathena/rathena/master/doc/script_commands.txt

    *resetstatus;
    
    This is a character reset command, which will reset the stats on the invoking 
    character and give back all the stat points used to raise them previously. 
    Nothing will happen to any other numbers about the character.
    
    Used in reset NPC's (duh!)
    
    ---------------------------------------
    
    *resetskill;
    
    This command takes off all the skill points on the invoking character, so they 
    only have Basic Skill blanked out (lvl 0) left, and returns the points for them 
    to spend again. Nothing else will change but the skills. Quest skills will also 
    reset if 'quest_skill_reset' option is set to Yes in 'battle_athena.conf'. If 
    the 'quest_skill_learn' option is set in there, the points in the quest skills 
    will also count towards the total.
    
    Used in reset NPC's (duh!)
    
  2. -    script    se#atSE    -1,{
    OnPlay:
    	.Playing = 1;
    	initnpctimer;
    	while(.Playing == 1) {
    		soundeffectall "dont_forget_me_not.wav",0,"hugel";
    		sleep 26000;
    	}
    	end;
    
    OnTimer600000:
    	stopnpctimer;
    	.Playing = 0;
    	end;
    
    OnInit:
    	bindatcmd("soundeffect",strnpcinfo(3)+"::OnPlay",99,99);
    	end;
    }
    

    This should work, not really sure what do you want to make anyway.

    • Upvote 1
  3. Easiest way might be removing the string in conf/msg_conf/map_msg.conf but it might show empty line (not sure?).

    You might want to try removing then @reloadmsgconf, if it shows empty line imma try take a look in src.

     

    Oops, just found out you have to edit the src anyway. In atcommand.c line 8812:

    	if ( atcmd_binding_count ) {
    		int i, count_bind, gm_lvl = pc_get_group_level(sd);
    		for( i = count_bind = 0; i < atcmd_binding_count; i++ ) {
    			if ( gm_lvl >= ( (type - 1) ? atcmd_binding[i]->level2 : atcmd_binding[i]->level ) ) {
    				unsigned int slen = strlen(atcmd_binding[i]->command);
    				if ( count_bind == 0 ) {
    					cur = line_buff;
    					memset(line_buff,' ',CHATBOX_SIZE);
    					line_buff[CHATBOX_SIZE-1] = 0;
    					clif_displaymessage(fd, "-----------------");
    					clif_displaymessage(fd, msg_txt(sd,509)); // Script-bound commands:
    				}
    				if (slen + cur - line_buff >= CHATBOX_SIZE) {
    					clif_displaymessage(fd,line_buff);
    					cur = line_buff;
    					memset(line_buff,' ',CHATBOX_SIZE);
    					line_buff[CHATBOX_SIZE-1] = 0;
    				}
    				memcpy(cur,atcmd_binding[i]->command,slen);
    				cur += slen+(10-slen%10);
    				count_bind++;
    			}
    		}
    		if ( count_bind )
    			clif_displaymessage(fd,line_buff);// last one
    		count += count_bind;
    		
    	}
    

    Removing this whole block > clean > recompile.

     

    JfyMBhQ.png

     

    Let me know if you encounter any issue.

    • Upvote 1
  4. Try to clone a fresh respiratory from FluxCP again, before opening the site make sure you cleared existing previous FluxCP MySQL entry and configured config.php first.

     

    You might also want to show us your current config for us to troubleshoot.

  5. To integrate a new plugin (function) you are required to learn PHP (function) and CSS (style) and of course basic HTML (template).

    Of course, If you only looking for minimal re-design you can start by looking at FluxCP's default theme and compare with other themes you can find here: http://rathena.org/board/files/category/126-web-resources/

     

    or really minimalism you could start by playing around with default css and images folder by switching colors changing border, changing site logo and so.

     

    As for plugin, you could try integrate some basic php scripts like chat room by using iframe first and slowly learn how to integrate into the site's code.

     

    Good luck! :]

     

    p/s: I'd prefer to learn things by comparing (or looking at completed script) instead of learning from scratch.

  6. If not mistaken MVP and mini boss does considered both as MD_BOSS. You can try to use this but you had to add the MVP ID yourself.

    -	script	MobExtraDrops	-1,{
    OnNPCKillEvent:
    	// Configuration
    	// How it works? - Incubus (1374) will drop 28307 (Item ID) at a rate of 75 (0.75%)
    	setarray .@MobID[0], 1374, 1370, 1754, 1492, 1871, 1150, 1147, 1243, 1039, 1115, 1148, 1167, 1159, 1163, 1276, 1685, 1369, 1110; // Monsters ID
    	setarray .@DropID[0], 28307, 28308, 28108, 28304, 28209, 28114, 28102, 28319, 28134, 28135, 28136, 28137, 28142, 28143, 28143, 28221, 28322, 28132; // Items ID
    	setarray .@Chance[0], 75, 75, 250, 250, 250, 250, 250, 75, 250, 250, 100, 75, 250, 75, 75, 250, 75, 75; // Drop Rate, as in percentage (100 = 1%)
    	// End of Config
    	for(set .@c,0; .@c < getarraysize(.@MobID); set .@c, .@c + 1) {
    		if (killedrid == .@MobID[.@c]){
    			set .@d, rand(0,10000);
    			if (.@d <= .@Chance[.@c]) {
    				getitem .@DropID[.@c],1;
    				announce strcharinfo(0) + " obtained a " + getmonsterinfo(.@MobID[.@c],MOB_NAME) + "!",BC_SELF;
    			}
    		}
    	}
    	end;
    }
    
    // MVP ID Backup
    // setarray @MobID,1038,1039,1046,1150,1511,1647,1785,1630,1874,1272,
    // 1719,1389,1112,1115,1418,1871,1252,1768,1086,1990,
    // 1649,1651,1832,1492,1734,1779,1251,1688,1646,1373,
    // 1147,1059,1150,1087,1190,1157,1159,1623,1650,1708,
    // 1583,1991,1312,1751,1685,1658,1648,1917,1885;
    
  7. https://raw.githubusercontent.com/rathena/rathena/master/doc/item_bonus.txt

    bonus2 bAddRace,r,x;      		+x% physical damage against race r
    bonus2 bMagicAddRace,r,x; 		+x% magical damage against race r
    bonus2 bSubRace,r,x;      		+x% damage reduction against race r
    
    bonus bDelayrate,n;        		Increases skill delay by n%
    
    bonus bAllStats,n; 			STR + n, AGI + n, VIT + n, INT + n, DEX + n, LUK + n
    
    * Race (r)
    	RC_Formless, RC_Undead, RC_Brute, RC_Plant, RC_Insect, RC_Fish,
    	RC_Demon, RC_DemiHuman, RC_Angel, RC_Dragon, RC_Player, RC_All
    

    It should work as intended, did your map server show any error?

  8. function	script	B_Sunlight	{
    	if (getcharid(1)) {
    		getmapxy(.@map1$, .@x1, .@y1, 0);
    		getpartymember getcharid(1), 1;
    		getpartymember getcharid(1), 2;
    			for(set .@i,0; .@i < $@partymembercount; set .@i,.@i+1) {
    			if (isloggedin($@partymemberaid[.@i], $@partymembercid[.@i])) {
    				attachrid $@partymemberaid[.@i];
    				if (HP > 0) {
    					getmapxy(.@map2$,.@x2,.@y2,0);
    					if ((.@map1$ == .@map2$) && (distance(.@x1,.@y1,.@x2,.@y2) <= 30)) {
    						sc_start SC_Intravision,30000,0;
    					}
    				}
    			}
    		}
    	} else {
    		sc_start SC_Intravision,30000,0;
    	}
    	end;
    } 

    This should work, I can't test for you. This script will also check the range between the party member and only affect members within the screen (and alive).

     

    Change your Box of Sunlight item_db script into

    callfunc "B_Sunlight";
    • Upvote 2
  9. Can you elaborate more? If you wanted to know whether your npc have casted skill or not you can use a npc variable like .var then check back with if (.var != 0) close;

     

    Not sure what are you trying to do but here's the example:

    if (!.healed) { 
        npcskill "AL_HEAL",10,99,60;
        .healed = 1;
    } else {
        mes "Healed already.";
        close;
    }
    

    Here is a list of different variable types:

      name  - permanent character integer variable
      name$ - permanent character string variable
     @name  - temporary character integer variable
     @name$ - temporary character string variable
     $name  - permanent global integer variable
     $name$ - permanent global string variable
    $@name  - temporary global integer variable
    $@name$ - temporary global string variable
     .name  - NPC integer variable
     .name$ - NPC string variable
    .@name  - scope integer variable
    .@name$ - scope string variable
     #name  - permanent local account integer variable
     #name$ - permanent local account string variable
    ##name  - permanent global account integer variable
    ##name$ - permanent global account string variable
    
×
×
  • Create New...