Jump to content

Only4fun

Members
  • Content Count

    11
  • Joined

  • Last visited

Posts posted by Only4fun


  1. Hello everyone.
     
    I'm trying to hide costume items and shows the original equip in same maps where are PvP, GvG and Battleground ON because this confuses the player when will fight.
     
    The player doesn't know what the opponent is equipped, this way he can't defend herself.
     
    To try do this, I change some lines in map/pc.c:
    //Added check to prevent sending the same look on multiple slots ->//causes client to redraw item on top of itself. (suggested by Lupus)if(pos&(EQP_HEAD_LOW|EQP_COSTUME_HEAD_LOW)) {    if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID|EQP_COSTUME_HEAD_MID|EQP_COSTUME_HEAD_TOP)))    sd->status.head_bottom = id->look;    else    sd->status.head_bottom = 0;    if((pos&EQP_HEAD_LOW && (pc_checkequip(sd,EQP_COSTUME_HEAD_LOW)) < 0) || pos&EQP_COSTUME_HEAD_LOW)    clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);}if(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)) {    if(id)    sd->status.head_top = id->look;    else    sd->status.head_top = 0;    if((pos&EQP_HEAD_TOP && (pc_checkequip(sd,EQP_COSTUME_HEAD_TOP)) < 0) || pos&EQP_COSTUME_HEAD_TOP)    clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);}if(pos&(EQP_HEAD_MID|EQP_COSTUME_HEAD_MID)) {    if(id && !(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)))    sd->status.head_mid = id->look;    else    sd->status.head_mid = 0;    if((pos&EQP_HEAD_MID && (pc_checkequip(sd,EQP_COSTUME_HEAD_MID)) < 0) || pos&EQP_COSTUME_HEAD_MID)    clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);}
    I change to:
    //Added check to prevent sending the same look on multiple slots ->//causes client to redraw item on top of itself. (suggested by Lupus)if(strcmp( mapindex_id2name(sd->mapindex), "morocc" )){    if(pos&(EQP_HEAD_LOW|EQP_COSTUME_HEAD_LOW)) {        if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID|EQP_COSTUME_HEAD_MID|EQP_COSTUME_HEAD_TOP)))        sd->status.head_bottom = id->look;        else        sd->status.head_bottom = 0;        if((pos&EQP_HEAD_LOW && (pc_checkequip(sd,EQP_COSTUME_HEAD_LOW)) < 0) || pos&EQP_COSTUME_HEAD_LOW)        clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);    }    if(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)) {        if(id)        sd->status.head_top = id->look;        else        sd->status.head_top = 0;        if((pos&EQP_HEAD_TOP && (pc_checkequip(sd,EQP_COSTUME_HEAD_TOP)) < 0) || pos&EQP_COSTUME_HEAD_TOP)        clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);    }    if(pos&(EQP_HEAD_MID|EQP_COSTUME_HEAD_MID)) {        if(id && !(pos&(EQP_HEAD_TOP|EQP_COSTUME_HEAD_TOP)))        sd->status.head_mid = id->look;        else        sd->status.head_mid = 0;        if((pos&EQP_HEAD_MID && (pc_checkequip(sd,EQP_COSTUME_HEAD_MID)) < 0) || pos&EQP_COSTUME_HEAD_MID)        clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);    }}else{ //Old way before comes costome items    if(pos & EQP_HEAD_LOW) {        if(id && !(pos&(EQP_HEAD_TOP|EQP_HEAD_MID)))        sd->status.head_bottom = id->look;        else        sd->status.head_bottom = 0;        clif_changelook(&sd->bl,LOOK_HEAD_BOTTOM,sd->status.head_bottom);    }    if(pos & EQP_HEAD_TOP) {        if(id)        sd->status.head_top = id->look;        else        sd->status.head_top = 0;        clif_changelook(&sd->bl,LOOK_HEAD_TOP,sd->status.head_top);    }    if(pos & EQP_HEAD_MID) {        if(id && !(pos&EQP_HEAD_TOP))        sd->status.head_mid = id->look;        else        sd->status.head_mid = 0;        clif_changelook(&sd->bl,LOOK_HEAD_MID,sd->status.head_mid);    }}
    I put Morocc town just as example, but after I'll change the maps.
     
    This change works partially: the equip just hide if is changed manually. In other words, the player needs unequip the item and after equip again, so the costume hide.
     
    I think I need call this function in some other location, like when the char warps, but I do not know how to do this.
     
    Can anyone help me? Very thanks!

  2. src/map/pc.c
    	} else if( sd->bg_id ) {		struct battleground_data *bgd = bg->team_search(sd->bg_id);		if( bgd && bgd->mapindex > 0 ) { // Respawn by BG			if(strcmp( mapindex_id2name(sd->mapindex), "guild_vs3" )){				timer->add(tick+1000, pc->respawn_timer, sd->bl.id, 0);				return 1|8;			}		}	}
    Change "guild_vs3" to your map and recompile.
     
    Or you can use:
    .red=createbgid("",0,0,strnpcinfo(3)+"::OnRedQuit",strnpcinfo(3)+"::OnRedDead");
    This way the respawn map do not exist, and will display a little error in map-server, what don't disrupts nothing.

  3. Ai4rei, thanks to reply.
     
    Just now I downloaded NEMO diff more updated and I diffed a new hexed.
    I do no why, but this time the client show a shield yellow and blue from windows.
    When play new Client.exe is requested a permission of user to execute.
    After enter in game and close the client, all the process was successful closed.
     
    No idea about Loki Launcher too.

  4. Hello.
     
    I found a problem in my client. 
     
    When I open the client and later was closed the game, the process in task manager isn't ending.
     
    If I open more than one client, all processes remain always open.
     
    This is also occurring with Loki Launcher.exe. 
     
    Any idea how to solve the problem?
     
    _process_1.jpg

  5. Hello,
     
    How to alter @killable to only players with the command active can kill themselves?
     
     
    In src/map/battle.c:
    	if( sd->state.killable ) {		state |= BCT_ENEMY; // Everything can kill it		strip_enemy = 0;	}

     

     

    What needs to change to work?

     
    Grateful,
    char0.
×
×
  • Create New...

Important Information

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