-
Content Count
2178 -
Joined
-
Last visited
-
Days Won
66
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by evilpuncker
-
I tried creating a command that will execute different actions on different intervals, and using the command will turn them ON/OFF, but it is just not working, what am I doing wrong? - script test FAKE_NPC,{ OnInit: bindatcmd("test", strnpcinfo(NPC_NAME)+"::OnAtcommand", 0, 99); end; OnAtcommand: atcommand("@test"); // executes the "test" command ON/OFF if (.@on == 1) { .@on = 0; deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent1"); deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent2"); deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent3"); end; } else { .@on = 1; // 1000 = 1 second | 60000 = 1 min | 3600000 = 1 hour addtimer(10000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent1"); addtimer(5000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent2"); addtimer(300, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent3"); end; } end; OnEvent1: if (.@on == 0) { deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent1"); end; } // do something X addtimer(10000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent1"); end; OnEvent2: if (.@on == 0) { deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent2"); end; } // do something Y addtimer(5000, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent2"); end; OnEvent3: if (.@on == 0) { deltimer(strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent3"); end; } // do something Z addtimer(300, strnpcinfo(NPC_NAME_UNIQUE)+"::OnEvent3"); end; }
-
clif->ShowScript doubt and retVal question
evilpuncker replied to evilpuncker's question in Source Support
thanks! the "full" code is here on this paste (its missing the showScript part thought) so I can just remove these three lines? since now the code is using preHook if (!mannersize || pc_has_permission(*sd, bypass_chat_filter) || !pc->can_talk(*sd)) //return retVal; return true; yeah I forgot to say my OS is windows, this is the warning: when I click the warning it sends the cursor directly to the *sd part -
Hello everyone! thanks for stopping by. I have zero source/programing knowledge but I was able to make this code to work (yes, it works), but there are two things bothering me: the clif->ShowScript part works but its throw a warning when compiling the warning is: the return retVal; that I commented out and changed it to return true;, is it okay? I made these changes to old code following these changes to make the code work on newer hercules (yes I know I can ignore warnings, but maybe its something really easy that I'm missing and can be fixed) this is the code: bool filter_chat(struct map_session_data **sd, const char **message_) { const char* message = *message_; unsigned int i; char output[254]; // Compiler supposed to reuse the pre-allocated space but who knows, those few bytes doesn't worth lowering the speed. if (!message) return false; if (!mannersize || pc_has_permission(*sd, bypass_chat_filter) || !pc->can_talk(*sd)) //return retVal; return true; for (i = 0; i < mannersize; ++i) { if (libpcre->exec(mannerlist[i].regex, mannerlist[i].extra, message, (int)strlen(message), 0, 0, NULL, 0) != PCRE_ERROR_NOMATCH) { sprintf(output, "i've been saying bad stuff"); clif->messagecolor_self((*sd)->fd, COLOR_RED, output); clif->ShowScript(*sd, "watch out for your mouth", AREA); hookStop(); return false; } } return true; } its part of this plugin (the lite version)
-
I was able to make the lite version work, except that I don't know what to return in place of return retVal;... I just changed it to return true but I don't know if its the correct way here is the "working" lite version in case anyone wants! unfortunately, the full version was too complicated for me to try fixing it WARNING: players can bypass it by simply using an uppercase letter, since the check is not case sensitive and the filter doesn't seem to support "/i" to ignore case sensitiveness
-
Add permanent stats, if condition is true
evilpuncker replied to Timokha's question in Script Support
use OnPCStatCalcEvent by annie ruru https://github.com/AnnieRuru/Release/tree/master/plugins/Release/OnPCStatCalcEvent -
post the solution in case anyone else have this problem/question in the future
-
I need some help about translation.
evilpuncker replied to myimmortal's question in Client-Side Support
msgstringtable.txt or MsgString_KR.lub or anything similar should do the trick -
something like this: prontera,150,150,3 script NPC NAME 1_F_SIGNZISK,{ if (strcharinfo(PC_GUILD) != "Guild Name") { mes "Sorry, you are not allowed to talk to me."; close; } // rest of the code that will be executed by the players }
-
Gunslinger and Rebel bug in latest emulator
evilpuncker replied to godgiven25's question in Database Support
since the rebel class skills have not been implemented in Hercules yet, it is a normal behavior that you can't use any of them -
yeah these files shouldn't be there anyway, the fault is probably your Lua files pointing it wrong
-
when using ranged weapons monsters jump back several tiles
evilpuncker replied to HoraK-FDF's question in General Server Support
please provide MORE information, like: emulator pre-re or re client version video showing the issue -
I don't really think so, but who knows, it may be useful someday
-
the easiest way is to use a client that supports it by default (like 2019-05-30aRagexe), it seems that you are trying to use the new menu image resources with an old client that still displays the menu the old way
-
that is perfect! thank you so much
-
So I was thinking about a mercenary to help new players, but our database is kinda limited on that, they are not really useful as "buffers", they don't even heal, so I was thinking about using the: I wanted to use it to copy, for example, one of the following: an acolyte, a priest, a high priest or an archbishop... but since the player (support that will be cloned) must exist and be online, I have no idea how to do that... any ideas?
-
sorry annie, I completely forgot this topic and didn't got a notification either! let me try to be a little more clear: - right now we can only use the coma effect by using the bWeaponComaRace and nothing else. (or no?!) what I want to achieve is to be able to have a "custom" Eff_Coma instead of the bWeaponComaRace so I could make use of the useful bonuses bAddEff, bResEff, bAddEffOnSkill, bAddEff2, bAddEffWhenHit and etc right now we only have these: ### Status effects - `Eff_Stone`: 0 - `Eff_Freeze`: 1 - `Eff_Stun`: 2 - `Eff_Sleep`: 3 - `Eff_Poison`: 4 - `Eff_Curse`: 5 - `Eff_Silence`: 6 - `Eff_Confusion`: 7 - `Eff_Blind`: 8 - `Eff_Bleeding`: 9 - `Eff_DPoison`: 10 - `Eff_Fear`: 11 - `Eff_Cold`: 12 - `Eff_Burning`: 13 - `Eff_Deepsleep`: 14
-
WOW, just WOW 😮 this is splendid!!!
-
oh we also need an alternative to thor patcher (yes it is awesome, but no longer developed)
-
very cool idea, I can't test it right now tho, are players outside it, able to use buff/heal on players inside it?
-
A palette viewer/editor with option to create random ones and such (the image above is from the "Act Editor" tool by @Tokeiburu, just open an job act sprite and select Edit-> Palette Editor...) but its kinda buggy, specially the pick color thing
-
can anyone help me regarding my exe.
evilpuncker replied to joven15's question in Client-Side Support
have you tried using open setup? have you tried installing RO in another folder? have you checked if other settings are saving or just resolution isn't? have you tried running setup as admin? -
there is no need to use SQL, a simple vip system will do the trick, like this one (found via google): vip system by brianL from eAthena: ticks = how long their VIP will last, in seconds. // usage: callfunc "F_VIPstart", <ticks>; function script F_VIPstart { set .@ticks, getarg(0); // getarg(0) = ticks (seconds) if (.@ticks <= 0) { debugmes "F_VIPstart - tried to set a timer in the past"; end; } // set a variable, #VIP_expire, as the Unixtime when this expires set #VIP_expire, gettimetick(2) + .@ticks; // add a timer with that tick (in case they stay logged in that long) if (.@ticks < 2147483) { // prevent overflow error addtimer .@ticks *1000, "vip_rental::OnVIPend"; } else { addtimer 2147483, "vip_rental::OnVIPcheck"; } // change them to GM level 1 atcommand "@adjgroup 1 "+strcharinfo(0); dispbottom "You now have access to VIP commands!"; return; } - script vip_rental -1,{ OnPCLoginEvent: if (#VIP_expire > gettimetick(2)) { // timer in future dispbottom "VIP Rental : expires in " + callfunc("Time2Str",#VIP_expire); atcommand "@adjgroup 1 "+strcharinfo(0); } OnVIPcheck: if (#VIP_expire > gettimetick(2)) { if ((#VIP_expire - gettimetick(2)) < 2147483) { // prevent overflow error addtimer (#VIP_expire - gettimetick(2)) *1000, strnpcinfo(3)+"::OnVIPend"; } else { addtimer 2147483, strnpcinfo(3)+"::OnVIPcheck"; } } else if (#VIP_expire) { // timer already expired doevent strnpcinfo(3)+"::OnVIPend"; } end; OnVIPend: // change them to GM level 0 atcommand "@adjgroup 0 "+strcharinfo(0); set #VIP_expire, 0; // clear timer dispbottom "Your VIP Rental has expired."; end; }
-
Custom Robe Sprite 2018-04-18bRagexeRE
evilpuncker replied to rans's question in Client-Side Support
ok I've stumbled with this same problem, none of the 91 official ROBES works! I'm using fully updated kRO, Hercules and 2019-05-30aRagexe (and original Lua files from kRO)... have you solved your issue @rans? -
I didn't made a custom one, I just copied the soul reaper and star gladiator new jobs to the costume folder to make my players be able to change into them until hercules implement them (I can dream, right? 😀) that is why I asked that time to make the body style option show for them too (my body palette issue I explained here)