Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

  • #006040

  • 0 - None Assigned

  • Fixed

Issue Confirmations

  • Yes (1)No (0)
Photo

Neuralizer

Posted by Hercules Bot on 16 June 2012 - 04:26 PM

Originally posted by Yum
12213,Neuralizer,Neuralizer,2,2,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ callfunc "F_CashReset"; },{},{}

It works! But if I'm with Peco Peco or something, does not reset the skills and the item is still consumed. It should not consume the item.

Originally posted by Kenpachi
The item return has to be handled inside the function.
-> Moving to Scripts section.

Originally posted by Euphy
The item is always consumed - it should not be when it fails.  From what I've tried, it can't be corrected with a script, so someone needs to code a source check (I think).
In pc.c:

case 12213: //Neuralizer
if( !map[sd->bl.m].flag.reset )
return 0;
break;


Originally posted by MarkZD
I edited post, but you had already seem, yep, it should have to be coded in src but if I'm not wrong, it's the official way.

I'll check.

Edited by MarkZD, 20 June 2012 - 02:39 AM.


Originally posted by Euphy
@MarkZD: No, the function will consume the item no matter what's coded in the function.  The only way to resolve the issue there is by adding a "getitem" at the end, which is just messy - and there's a hardcoded check, anyway.

I'm a little confused as to why the item is used even if I end the function with "end;", because when I tried it with a custom item, the item wasn't consumed.  Does it have to do with the source code?

Originally posted by MarkZD
I confirmed, it's official to consume item even if it fails.
-------------------------------------------------------------------

Edit: It should consume, see below.

Edited by MarkZD, 20 June 2012 - 04:28 AM.


Originally posted by Euphy

I confirmed, it's official to consume item even if it fails.

Where did you get that information?  The only source I found was secondhand from pRO, and states:

If you attempt to use the Neuralizer with weight, nothing will happen. The Neuralizer will not be used up either.



Originally posted by MarkZD
Oh sorry, I misread it.

bRO data:
Atenção: para usar o Neuralizador você deve seguir as mesmas exigências do NPC de Reset Skill.
Guarde todos os seus itens, equipamentos e flechas em seu armazém, remova seu PecoPeco, GrandPeco, Carrinho ou Falcão e só então clique duas vezes no Neuralizador. Do contrário, mesmo que você tente usá-lo, ele não será gasto, mas nada acontecerá!

It really shoudn't be consumed.

Edited by MarkZD, 20 June 2012 - 02:52 AM.


Originally posted by Euphy
Neuralizer is a cash item, though.  Afaik those aren't auto-consumed upon failure (heck, there's even a source-coded feature preventing item consumption).

Originally posted by MarkZD

Neuralizer is a cash item, though.  Afaik those aren't auto-consumed upon failure (heck, there's even a source-coded feature preventing item consumption).


You're right, I corrected my post.

Originally posted by GM Takumirai
i have this problem months ago
and i plan to edit the script

12213,Neuralizer,Neuralizer,2,2,,0,,,,,0xFFFFFFFF,7,2,,,,,,{ if(Weight <= 0){ callfunc "F_CashReset"; }else{dispbottom "Your weight must be [0%]!"; getitem 12213,1;} },{},{}


- it only check weight , not the riding

Originally posted by Euphy
@GM Takumirai: Yeah, a "getitem" can easily be added into the function as well.  It's just not the best way to do it. c:

Originally posted by MarkZD

I'm a little confused as to why the item is used even if I end the function with "end;", because when I tried it with a custom item, the item wasn't consumed.  Does it have to do with the source code?


I created itemid 21100 with just end; and it was normally consumed.

From what I read only items cretaed by rentitem are supposed to not be deleted if they're usable and are used.

Maybe devs could create a new option to check if it should be deleted or not, so the script self will delete it(delitem) or just hard code it, but last option isn't so good.

Originally posted by Aleos
You could also make it an item type 11 and force the item to be consumed/deleted in the function when it successfully runs. It won't be consumed if it fails.

Edited by Aleos, 20 June 2012 - 04:46 PM.


Originally posted by Masao
Gonna bump this up!

Originally posted by Euphy
Fixed according to Aleos' suggestion in [rev=16367].