Peopleperson49 Posted January 4, 2013 Posted January 4, 2013 Their is currently the command for @identify which only does one item at a time, but why not make a command for @identifyall in the SVN? I already made one for scripts and others have also, but why not just take it one step farther? Peopleperson49 2
Nipsino Posted January 4, 2013 Posted January 4, 2013 Yeah, haha. I was going through the hassle of @identifying 50 gazillion times earlier today. :3
Peopleperson49 Posted January 4, 2013 Author Posted January 4, 2013 Yeah, haha. I was going through the hassle of @identifying 50 gazillion times earlier today. :3 I added my Super Magnifier script to my script collection so you don't have to identify any more items ever again! Peopleperson49
Nipsino Posted January 4, 2013 Posted January 4, 2013 Yeah, haha. I was going through the hassle of @identifying 50 gazillion times earlier today. :3 I added my Super Magnifier script to my script collection so you don't have to identify any more items ever again! Peopleperson49 Haha, well I already know how to do it. But I'm just suggesting it for the SVN. :3
technoriot01 Posted January 4, 2013 Posted January 4, 2013 bindatcmd xD - script identifyall -1,{ OnInit: bindatcmd "identifyall",strnpcinfo(3)+"::OnAtcommand"; end; OnAtcommand: getinventorylist; for(set @i, 0; @i < @inventorylist_count; set @i, @i + 1) { if (@inventorylist_identify[@i] == 1) continue; delitem2 @inventorylist_id[@i],1,0,0,0,0,0,0,0; getitem @inventorylist_id[@i],1; } }
Peopleperson49 Posted January 4, 2013 Author Posted January 4, 2013 I understand bindatcmd and I have that also already. It just makes sense to have the @idenfityall there. Keep script and other stuff at a minimum that way. Either way I'm covered, but suggestions are what source discussion is for. Peopleperson49
technoriot01 Posted January 4, 2013 Posted January 4, 2013 I understand bindatcmd and I have that also already. It just makes sense to have the @idenfityall there. Keep script and other stuff at a minimum that way. Either way I'm covered, but suggestions are what source discussion is for. Peopleperson49 Yep, i also agree.
Akinari Posted January 5, 2013 Posted January 5, 2013 (edited) atcommand.c addition: /*=============================================== * @identifyall * => Indentify all items in inventory - Akinari *-----------------------------------------------*/ ACMD_FUNC(identifyall) { int i,cost=100; // Zeny cost nullpo_retr(-1, sd); for (i=0; i<MAX_INVENTORY; i++) { if (sd->status.inventory[i].nameid > 0 && sd->status.inventory[i].identify!=1) { if((sd->status.zeny < cost) && (pc_get_group_level(sd) < 10)) { //GMs above group 9 bypass zeny check sprintf(atcmd_output, msg_txt(719),cost); clif_displaymessage(fd, atcmd_output); clif_updatestatus(sd,SP_ZENY); return 0; } else if(pc_get_group_level(sd) < 10) sd->status.zeny-=cost; sd->status.inventory[i].identify=1; //I gotta poop, BRB clif_item_identified(sd,i,0); } } clif_updatestatus(sd,SP_ZENY); return 0; } ACMD_DEF(identifyall), msg_athena.conf addition: 719: You need %d Zeny to use this function. There's a Zeny addition for my server in there. This has only been tested a few times on my test server using GM and non-GM character so try it out. If you don't want a Zeny check, just remove if((sd->status.zeny < cost) && (pc_get_group_level(sd) < 10)) { //GMs above group 9 bypass zeny check sprintf(atcmd_output, msg_txt(719),cost); clif_displaymessage(fd, atcmd_output); clif_updatestatus(sd,SP_ZENY); return 0; } else if(pc_get_group_level(sd) < 10) sd->status.zeny-=cost; and clif_updatestatus(sd,SP_ZENY); Edited January 5, 2013 by Akinari
Recommended Posts