Jump to content

Akbare

Members
  • Posts

    478
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Akbare

  1. i want to ask how to change this VIP message

    msgstringtable.txt

    line 3033

    %.1f%% (VIP %.1f%% + Server %.1f%%)#

    i found this code but i'dont know how to change

    /**
     * Transmit personal information to player. (rates)
     * 0x08cb <packet len>.W <exp>.W <death>.W <drop>.W <DETAIL_EXP_INFO>7B (ZC_PERSONAL_INFOMATION)
     * <InfoType>.B <Exp>.W <Death>.W <Drop>.W (DETAIL_EXP_INFO 0x08cb)
     * 0x097b <packet len>.W <exp>.L <death>.L <drop>.L <DETAIL_EXP_INFO>13B (ZC_PERSONAL_INFOMATION2)
     * 0x0981 <packet len>.W <exp>.W <death>.W <drop>.W <activity rate>.W <DETAIL_EXP_INFO>13B (ZC_PERSONAL_INFOMATION_CHN)
     * <InfoType>.B <Exp>.L <Death>.L <Drop>.L (DETAIL_EXP_INFO 0x97b|0981)
     * FIXME!
     * - Find/decide for details of EXP, Drop, and Death penalty rates
     * - For now, we're assuming values for DETAIL_EXP_INFO are:
     *   0 - map adjustment (bexp mapflag), 1 - Premium/VIP adjustment, 2 - Server rate adjustment, 3 - None
    */
    #ifdef VIP_ENABLE
    void clif_display_pinfo(struct map_session_data *sd, int cmdtype) {
    	if (sd) {
    		struct s_packet_db* info;
    		int16 len, szdetails = 13, maxinfotype = PINFO_MAX;
    		int cmd = 0, fd, i = 0;
    		int tot_baseexp = 100, tot_penalty = 100, tot_drop = 100, factor = 1000;
    		int details_bexp[PINFO_MAX];
    		int details_drop[PINFO_MAX];
    		int details_penalty[PINFO_MAX];
    
    		/**
    		 * Set for EXP
    		 */
    		//0:PCRoom
    		details_bexp[0] = map_getmapflag(sd->bl.m, MF_BEXP);
    		if (details_bexp[0] == 100 || !details_bexp[0])
    			details_bexp[0] = 0;
    		else {
    			if (details_bexp[0] < 100) {
    				details_bexp[0] = 100 - details_bexp[0];
    				details_bexp[0] = 0 - details_bexp[0];
    			}
    			else
    				details_bexp[0] = details_bexp[0] - 100;
    		}
    		//1:Premium
    		if (pc_isvip(sd)) {
    			details_bexp[1] = battle_config.vip_base_exp_increase * 10;
    			if (details_bexp[1] < 0)
    				details_bexp[1] = 0 - details_bexp[1];
    		}
    		else
    			details_bexp[1] = 0;
    		//2:Server
    		details_bexp[2] = battle_config.base_exp_rate;
    		if (details_bexp[2] == 100)
    			details_bexp[2] = 0;
    		else {
    			if (details_bexp[2] < 100) {
    				details_bexp[2] = 100 - details_bexp[2];
    				details_bexp[2] = 0 - details_bexp[2];
    			}
    			else
    				details_bexp[2] = details_bexp[2] - 100;
    		}
    		//3:TPLUS
    		details_bexp[3] = 0;
    		/* End - EXP set*/
    
    		/**
    		 * Set for Drop rate
    		 */
    		//0:PCRoom
    		details_drop[0] = 0;
    		//1:Premium
    		details_drop[1] = (battle_config.vip_drop_increase * battle_config.item_rate_common) / 100;
    		if (pc_isvip(sd)) {
    			if (details_drop[1] < 0)
    				details_drop[1] = 0 - details_drop[1];
    		}
    		else
    			details_drop[1] = 0;
    		//2:Server
    		details_drop[2] = battle_config.item_rate_common;
    		if (details_drop[2] == 100)
    			details_drop[2] = 0;
    		else {
    			if (details_drop[2] < 100) {
    				details_drop[2] = 100 - details_drop[2];
    				details_drop[2] = 0 - details_drop[2];
    			}
    			else
    				details_drop[2] = details_drop[2] - 100;
    		}
    		//3:TPLUS
    		details_drop[3] = 0;
    		/* End - Drop set*/
    
    		/**
    		 * Set for Penalty rate
    		 */
    		//! FIXME: Current penalty system makes this announcement unable to give info on + or - rate
    		//0:PCRoom
    		details_penalty[0] = 0;
    		//1:Premium
    		if (pc_isvip(sd)) {
    			details_penalty[1] = battle_config.vip_exp_penalty_base;
    			if (details_penalty[1] == 100)
    				details_penalty[1] = 0;
    			else {
    				if (details_penalty[1] < 100) {
    					details_penalty[1] = 100 - details_penalty[1];
    					details_penalty[1] = 0 - details_penalty[1];
    				}
    				else
    					details_penalty[1] = details_penalty[1] - 100;
    			}
    		}
    		else
    			details_penalty[1] = 0;
    		//2:Server
    		details_penalty[2] = battle_config.death_penalty_base;
    		if (details_penalty[2] == 100)
    			details_penalty[2] = 0;
    		else {
    			if (details_penalty[2] < 100) {
    				details_penalty[2] = 100 - details_penalty[2];
    				details_penalty[2] = 0 - details_penalty[2];
    			}
    			else
    				details_penalty[2] = details_penalty[2] - 100;
    		}
    		//3:TPLUS
    		details_penalty[3] = 0;
    		/* End - Penalty set*/
    
    		cmd = packet_db_ack[cmdtype];
    		info = &packet_db[cmd];
    		len = info->len; //this is the base len without details
    		if(!len) return; //version as packet disable
    
    		if (cmdtype == ZC_PERSONAL_INFOMATION && cmd == 0x08cb) { //0x08cb version
    			szdetails = 7;
    			factor = 1;
    		}
    		else if (cmd == 0x097b) {
    			tot_baseexp *= factor;
    			tot_drop *= factor;
    			tot_penalty *= factor;
    		}
    
    		fd = sd->fd;
    		WFIFOHEAD(fd,len+maxinfotype*szdetails);
    		WFIFOW(fd,0) = cmd;
    
    		for (i = 0; i < maxinfotype; i++) {
    			WFIFOB(fd,info->pos[4]+(i*szdetails)) = i; //infotype //0 PCRoom, 1 Premium, 2 Server, 3 TPlus
    
    			WFIFOL(fd,info->pos[5]+(i*szdetails)) = details_bexp[i]*factor;
    			WFIFOL(fd,info->pos[6]+(i*szdetails)) = details_penalty[i]*factor;
    			WFIFOL(fd,info->pos[7]+(i*szdetails)) = details_drop[i]*factor;
    
    			tot_baseexp += details_bexp[i]*factor;
    			tot_drop += details_penalty[i]*factor;
    			tot_penalty += details_drop[i]*factor;
    
    			len += szdetails;
    		}
    		WFIFOW(fd,info->pos[0])  = len; //packetlen
    		if (cmd == 0x08cb) { //0x08cb version
    			WFIFOW(fd,info->pos[1])  = tot_baseexp;
    			WFIFOW(fd,info->pos[2])  = tot_drop;
    			WFIFOW(fd,info->pos[3])  = tot_penalty;
    		}
    		else { //2013-08-07aRagexe uses 0x097b
    			WFIFOL(fd,info->pos[1])  = tot_baseexp;
    			WFIFOL(fd,info->pos[2])  = tot_drop;
    			WFIFOL(fd,info->pos[3])  = tot_penalty;
    		}
    		if (cmdtype == ZC_PERSONAL_INFOMATION_CHN)
    			WFIFOW(fd,info->pos[8])  = 0; //activity rate case of event ??
    		WFIFOSET(fd,len);
    	}
    }
    #endif

     

    i thought it was arround this part

    		for (i = 0; i < maxinfotype; i++) {
    			WFIFOB(fd,info->pos[4]+(i*szdetails)) = i; //infotype //0 PCRoom, 1 Premium, 2 Server, 3 TPlus
    
    			WFIFOL(fd,info->pos[5]+(i*szdetails)) = details_bexp[i]*factor;
    			WFIFOL(fd,info->pos[6]+(i*szdetails)) = details_penalty[i]*factor;
    			WFIFOL(fd,info->pos[7]+(i*szdetails)) = details_drop[i]*factor;
    
    			tot_baseexp += details_bexp[i]*factor;
    			tot_drop += details_penalty[i]*factor;
    			tot_penalty += details_drop[i]*factor;
    
    			len += szdetails;
    		}

    i want to change like this one with VIP premium  

    before VIP active

    f934e05c-06aa-4f4b-82ea-ad36bb936ed6.jpg.0832aac810ee1ce9dd2c6ccee6178707.jpg

     

    When VIP

    173da4a4-c0df-4b4e-8ee2-7131963881e7.thumb.jpg.676799bb42a02a07122edd62df3ce7f0.jpg

     

    thx for advance

  2. On 11/25/2021 at 5:14 PM, DEsMOn said:

    Hello Everyone,

    One of my developer installed Custom damage effects but one Taekwon Class having issue when using any skill game getting crashed. Now that developer didn't fix that issue and left i don't no how to fix that issue can any 1 guide to fix that?

     

    Thanks in Advance.

    can show video maybe?

  3. On 10/17/2021 at 10:37 PM, rokimoki said:

    Hello, I don't remember how to create clients and so. I've read some guides but some links are broken, etc. So I think there are some missing information about client guides.

    Anyway, I created a client with this ragexe.

    And I patched with WARP but I'm getting this error while executing the .exe... I read that NEMO is working but I can't find a recent version for 2018 clients.

    image.png

     

    for 2018 just select recomended in nemo I'm sure it works

  4. 12 hours ago, Pelo said:

    Hello i have open new server and its work very well with all player but one player have this problem I try to give him  RixSquirrel_10.eot and try to give him full system file but still dont work with him is there any idea how to solve this problem ?

    242.png

    try move to other drive  to C

  5. On 7/26/2021 at 10:34 PM, mrfizi said:

    Boleh cari, tapi kena cari direct contact. Kadang kala di forum tidak aktif, tetapi aktif di facebook.

     

    Hi sahabat lama @Akbare .. Memang sudah lama tak bersua. Masih aktif dalam pembuatan server atau punya server sendiri?

    hahaha....saya tidak terlalu mengikuti perkembangan rathena, semakin sulit memahami dengan apa yang terjadi.

    saya sedang dalam proses pembuatan server sendiri yang mungkin akan dimainkan secara private for fun saja hehehe

  6. On 3/19/2021 at 12:44 PM, mrfizi said:

    Rasanya ramai dev server dari Malaysia dan Indonesia yang masih aktif. Tak kira yang baru atau yang lama semoga semuanya sihat dan kekal selamat dalam menempuh pandemik Covid-19 ini.

    Hai @mrfizi lama tak bersua hahaha

  7. how to solved ?

    [ Error ] : Guild skill "GD_GUILD_STORAGE" with Id 10016 is out of the guild skill range [10000-10020], skipping.

     

    On 7/8/2021 at 5:49 PM, LearningRO said:

    in mmo.hpp

    change maxguild
    into 
    #define MAX_GUILDSKILL    17 

    thx brother work like a charm 🥰

  8. On 4/14/2021 at 8:18 PM, Mael said:

    im use 20200410

    and implent initial support for web service

    [Status]: rAthena web server Started, listening on port 8888
    [Debug]: [2000000, "rAthena"] Not found in table, sending new info
    [Info]: 127.0.0.1 [POST /userconfig/load] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200
    [Info]: 127.0.0.1 [POST /emblem/upload] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200
    [Info]: 127.0.0.1 [POST /emblem/upload] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200
    [Info]: 127.0.0.1 [POST /emblem/download] 200

    emblem not show

    maybe you can help me, thanks

×
×
  • Create New...

Important Information

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