gidzdlcrz
-
Content Count
74 -
Joined
-
Last visited
-
Days Won
1
Posts posted by gidzdlcrz
-
-
-
Weird discovery. Sometimes it doesnt have a problem. Sometime it does. Look at the animation. The slow ones is the custom statue.
I wonder why. -
On 12/13/2020 at 11:58 PM, deviruzy said:Hello.
I've been trying to set a server via this guide:
and i'm having a hard time on Step 3e. How do you load main.sql? Below is my current state. I've managed to make hercules as default schema and that's it. I'm stuck 🙁. Can I get some help please? Thank you.
from there. You click the OPEN SQL SCRIPT FILE.
After you saw the texts generated in your query window hit the lightning logo.
Do the same with logs.
-
21 hours ago, Sikdope said:nice miss annie thank you so much! mwuah chup chup haha!
lol 😂
-
Oh! my wish is granted! ♥ Ofcourse i do!
-
Hello hercules folks. Ive been using this broadcaster npc of mine way back year 2014. Now i would like to update its feature.
prontera,187,210,3 script Broadcaster#1::BC 894,{ set @npcname$, "^FF9300 Broadcaster ^000000"; set @header$,"[^0000ff" + @npcname$ + "^000000]"; set broadcastfee, 3000000; mes @header$; mes "Hi, I'm the Broadcaster."; mes "I can Broadcast a message for you."; mes " "; mes " "; mes " "; mes "It costs ^ff0000"+ broadcastfee +"^000000 zeny."; next; mes @header$; mes "Would you like to Broadcast?"; next; switch (select("Yes","Nevermind")){ case 1: if(Broadcast> gettimetick(2)) { mes @header$; mes "Sorry you have to wait for 1 min."; close; } mes @header$; if(Zeny<3000000) goto $nozenybc; set Zeny,zeny - broadcastfee; mes "Please input your message."; next; input broadcast$; announce "Shout from "+strcharinfo(0)+": "+broadcast$+"",0,0x5AFF00; // Edit 5AFF00 for color code HTML Color Code close2; set Broadcast, gettimetick(2)+60; //Timer 60 = 1 minute/s dispbottom "Broadcaster: Please wait for 1min until next broadcast to avoid flooding."; end; case 2: mes @header$; mes "Suit yourself."; close; } $nozenybc: mes "You don't have enough zeny."; close; }
^ This is the script. Simple Broadcaster NPC with a fee for every broadcast.
Now there's this Ragnarok Server that using somehow similar NPC. Yet, they have 3rd option. Its called Automated Broadcast. Check my screenies below.
This is the broadcaster NPC with Auto Broadcast menu. (see the rest of the screenshot below to see how the NPC's behavior)
After you input your desired number you can review it to proceed or not.
Annie made me a script which is similar to this one. Can be used as a case 3 for my script. But i dont know how to link it to my current script. Also, its asking for item. I cant make it to ask for zeny instead. Here's what annie wrote.
prontera,155,185,5 script sjdfsdlf 1_F_MARIA,{ mes "input your broadcast message"; mes "each broadcast use 1 "+ F_MesItemInfo(Poring_Coin); if (!countitem(Poring_Coin)) close; next; input .@text$; mes "input how many times to broadcast"; next; input .@num; if (countitem(Poring_Coin) < .@num) { mes "you don't have enough "+ F_MesItemInfo(Poring_Coin); close; } mes "after closing this dialog box I'll start broadcast"; close2; if (countitem(Poring_Coin) < .@num) { // hacking recheck mes "you don't have enough "+ F_MesItemInfo(Poring_Coin); close; } delitem Poring_Coin, .@num; while (.@loop++ < .@num) { announce .@text$, bc_all; sleep 1000; } end; }
Good Script indeed.
Thank you so much! -
rAthena conversion annie. Thanks!
-
On 9/18/2020 at 7:32 AM, AnnieRuru said:2. "@dotaannounce" off
hmm ... after talked to some people, they want the announcement set to global, but then some players want to see who are dead, and some players doesn't bother
and I also saw this is a custom modification ... can be made into this script but ... nah ... I'll do it when I feel like it
Waiting for this. Imagine some people would like to have some peace and quiet time. They will be opt out to PVP Announcements. Hehe!
Anyway here's the script you can add to manually truncate the PVP Ladder (Must be 99 GM Account).
Again, same principle. Just add the BOLD to the script. Find these lines.Quoteprontera,166,188,5 script PvP-StatsViewer 1_F_MARIA,{
.@npcname$ = strnpcinfo(NPC_NAME_VISIBLE);
while (true) {
mes "["+ .@npcname$ +"]";
mes "Hello "+ strcharinfo(PC_NAME) +"...";
mes "If you want to I can show you your PVP stats.";
next;
switch (select("Most Kills","Highest Streak","Longest Ownage","Own Information","Explanation",(getgroupid() < 99 )?"":"^FF0000[GM]^000000 Reset Ladder")) {
mes "["+ .@npcname$ +"]";
case 1:.........
...
...
...case 5:
mes "Explanation for Most Kills:";
mes " ";
mes "^996600Rank. ^006699NAME ^00AA00[Total Kills] ^FF0000<Deaths>^000000";
mes " ";
mes "--------------------------------";
mes " ";
mes "The ^00AA00Kills^000000 added when a player kills another player.";
mes " ";
mes "^FF0000Deaths^000000 count increase when a player killed by another player, or suicide (eg: Grand Cross).";
mes " ";
mes "A player killed by monsters, homunculus or pets will not add the kills or deaths count.";
next;
mes "["+ .@npcname$ +"]";
mes "Explanation for Highest Streak:";
mes " ";
mes "^996600Rank. ^006699NAME ^70AC11{Highest Streak} ^000000on :";
mes " ^EE8800TIME^000000";
mes " ";
mes "--------------------------------";
mes " ";
mes "The ^70AC11Streak^000000 are added every time a player kills another player. It will reset upon log out, killed by another player, or suicide (eg: Sacrifice).";
mes " ";
mes "Then it record in the server the ^EE8800TIME^000000 when that player got that highest streak.";
mes " ";
mes "A player killed by monsters, homunculus or pets will not reset the streak.";
mes " ";
mes "--------------------------------";
mes " ";
mes "The numbers of straight kills to get these announcements are :";
mes "^70AC11"+ getvariableofnpc(.killingspree,"DOTAPVP") +"^000000 : Killing Spree";
mes "^70AC11"+ getvariableofnpc(.dominating,"DOTAPVP") +"^000000 : Dominating";
mes "^70AC11"+ getvariableofnpc(.megakill,"DOTAPVP") +"^000000 : Mega Kill";
mes "^70AC11"+ getvariableofnpc(.unstoppable,"DOTAPVP") +"^000000 : Unstoppable";
mes "^70AC11"+ getvariableofnpc(.wickedsick,"DOTAPVP") +"^000000 : Wicked Sick";
mes "^70AC11"+ getvariableofnpc(.monsterkill,"DOTAPVP") +"^000000 : Monster Kill";
mes "^70AC11"+ getvariableofnpc(.godlike,"DOTAPVP") +"^000000 : Godlike";
mes "^70AC11"+ getvariableofnpc(.holyshit,"DOTAPVP") +"^000000 : Beyond Godlike";
next;
mes "["+ .@npcname$ +"]";
mes "Explanation for Longest Ownage:";
mes " ";
mes "^996600Rank. ^006699NAME ^00AAAA(Longest Ownage) ^000000on :";
mes " ^EE8800TIME^000000";
mes " ";
mes "--------------------------------";
mes " ";
mes "The ^00AAAAOwnage^000000 added every time any guild members killed another player that doesn't belong to his/her guild. It will reset when any of the guild member was killed by ANY player, including his/her guild member.";
mes " ";
mes "Then it record in the server the ^EE8800TIME^000000 when the guild got that longest ownage.";
mes " ";
mes "If the server went under maintainance, the current ownage will survive after the server restart.";
mes " ";
mes "Any guild member killed by monster, homunculus or pets will not reset the ownage count.";
next;
if (getvariableofnpc(.lvltokill,"DOTAPVP")) {
mes "["+ .@npcname$ +"]";
mes "You must kill another player with minimum base level of "+ getvariableofnpc(.lvltokill,"DOTAPVP") +", in order to get an announcement or get in the ladder.";
mes " ";
mes "It's possible for a base level 1 novice kills a base level 99 player and still can get in the ladder.";
mes "However when a player level 99 kills a level 1 novice will get nothing.";
next;
}
if (getvariableofnpc(.counttopunish,"DOTAPVP")) {
mes "["+ .@npcname$ +"]";
mes "Some noob players try to kill the same person over and over again in hope of getting his/her name appear in the ladder.";
mes "However if you trying to do the same thing on this ladder, your name will announce to the public, and your action will be recorded into the server to notify the GMs.";
next;
}
if (getvariableofnpc(.minlvlrange,"DOTAPVP")) {
mes "["+ .@npcname$ +"]";
mes "When you kill another player thats lower base level than you, the base level gap between you and that player must not more than "+ getvariableofnpc(.minlvlrange,"DOTAPVP") +".";
mes " ";
if (getvariableofnpc(.minlvlrange,"DOTAPVP") >= 200)
mes "In other words, if your base level is 500, the player you killed must be at least level "+(500 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder.";
else if (getvariableofnpc(.minlvlrange,"DOTAPVP") >= 70)
mes "In other words, if your base level is 255, the player you killed must be at least level "+(255 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder.";
else
mes "In other words, if your base level is 99, the player you killed must be at least level "+(99 - getvariableofnpc(.minlvlrange,"DOTAPVP"))+" then only you will get the announcement and in the ladder.";
mes "Higher base level kills lower level gets nothing, however lower level player kills higher level will get the announcement.";
next;
}
break;
case 6:
mes "Would you like to Reset the ladder?";
next;
menu "No.",PVP_NO,"Confirmation - Yes",PVP_YES;
PVP_NO:
mes "["+ .@npcname$ +"]";
mes "Suit yourself.";
next;
break;
PVP_YES:
query_sql("TRUNCATE TABLE `pvpladder`");
query_sql("TRUNCATE TABLE `ownladder`");
mes "["+ .@npcname$ +"]";
mes "PVP Ladder has been reset.";
next;
break;
close;}
}
}
-
Me my Cyclop's Eye. Lol
-
For the people who wants their costume robe to show up!
Find these lines and add this BOLD.Quote.@query$ = "SELECT `char`.`char_id`, `char`.`name`, `char`.`guild_id`, `char`.`class`, `char`.`sex`, `char`.`hair`, `char`.`hair_color`, `char`.`clothes_color`, `char`.`body`, `char`.`head_top`, `char`.`head_mid`, `char`.`head_bottom`, `char`.`robe`, ";
Quote.@nb = query_sql(.@query$, .@cid, .@name$, .@guild_id, .@class, .@sex$, .@hair, .@hair_color, .@clothes_color, .@body, .@head_top, .@head_mid, .@head_bottom, .@robe, .@kills, .@streaks, .@deaths);
Quotesetunitdata .statue[.@i +1], UNPC_HEADTOP, .@head_top[.@i];
setunitdata .statue[.@i +1], UNPC_HEADMIDDLE, .@head_mid[.@i];
setunitdata .statue[.@i +1], UNPC_HEADBOTTOM, .@head_bottom[.@i];
setunitdata .statue[.@i +1], UNPC_ROBE, .@robe[.@i];Alright.
*Edit again. I forgot to mention that this is for rathena. 😝
-
12 hours ago, AnnieRuru said:another server from rathena side told me his server has animated sprite overlapping on the statue
so again its YOUR problem that having animated sprite ... but at least this one can be fix easily by resetting the UDT_HEADTOP|UDT_HEADMIDDLE|UDT_HEADBOTTOM back to 0
3.5 - script
- add .fix_custom_sprite setting to fix your server having custom animation equipment
simple script conversion
at least I don't find anything hassle to convert this script into rathena ... unlike promotion code ... already 3 rathena members ask me to do that, and I turn down every time
OMG its really Christmas! Those small fonts. 😁 -
Wow this is huge jump from 2.9. This comes with statues too! Is it Christmas? Thanks annie!
Will this work to rathena?
-
On 10/14/2020 at 11:36 PM, gidzdlcrz said:
Err! Why i didnt get notification for this. I will try @AnnieRuru. I'll give feedback after i test this. ♥
Hey @AnnieRuru. It works! Sorry for the late feedback. -
On 10/7/2020 at 3:48 PM, Eternity said:Is there any way possible madam you can do for rAthena aswell? i would appreciate it thank you!
I second this. Think of it as same function but different approach. Thanks annie! ♥
-
On 10/9/2020 at 1:20 AM, Sikdope said:Hi anyone else how to fix when using the box of thunder no longer walking speed thanks!
12028,Box_Of_Thunder,Box of Thunder,2,1000,0,200,,,,,0xFFFFFFFF,7,2,,,2,,,{ sc_start SC_SpeedUp0,20000,20; },{},{}
You have to buff it up.
Mind you walking speed are not stackable. -
On 10/10/2020 at 10:53 PM, AnnieRuru said:OnMinute40: if (mobcount(.Map$, strnpcinfo(0)+"::OnMobKilled") == 0) end; killmonster .Map$, strnpcinfo(0)+"::OnMobKilled"; announce "All left over mushroom has been removed", bc_all; end;
OnMinute40: if (mobcount(.Map$, strnpcinfo(0)+"::OnMobKilled") == 0) end; killmonster .Map$, strnpcinfo(0)+"::OnMobKilled"; announce "All left over mushroom has been removed", bc_all; end;
I do
n'tuse rAthena but should work
Err! Why i didnt get notification for this. I will try @AnnieRuru. I'll give feedback after i test this. ♥ -
we also have this on Herc as ive checked my fresh trunk.
//===== Hercules Script ====================================== //= Find the Mushroom //===== By: ================================================== //= Mysterious //===== Current Version: ===================================== //= 3.6a //===== Description: ========================================= //= Find the Mushroom - random amount of Mushrooms spawns in random maps. //= Players need to find these mushrooms and kill them to gain prizes! //===== Additional Comments: ================================= //= 3.0 Fully Functional with Rewritten script. [Mysterious] //= 3.6a Slightly edited. [Euphy] //============================================================ prontera,142,228,6 script Find the Mushroom BLACK_MUSHROOM,{ mes "[ Find The Mushroom ]"; if (!.status) mes "There is no event at the moment!"; else { mes "There are "+.Spawn+" Mushrooms left in "+.Map$+"!"; mes "Find and kill the mushrooms to gain "+getitemname(.Prize)+"!"; } if (.status || getgmlevel() < .GM) close; mes "Start the event?"; next; if(select("- No", "- Yes") == 1) close; donpcevent strnpcinfo(NPC_NAME)+"::OnMinute10"; mes "[ Find The Mushroom ]"; mes "Event started!"; close; OnInit: set .Prize,512; // Reward item ID set .Amount,10; // Reward item amount set .GM,60; // GM level required to access NPC setarray .maps$[0],"izlude","geffen","morocc","prontera"; // Possible maps end; OnMinute10: // Start time (every hour) if (.status) end; set .status,1; set .Spawn,rand(1,10); // How many Mushrooms should spawn? set .Map$,.maps$[rand(getarraysize(.maps$))]; killmonster(.Map$, "all"); monster .Map$,0,0,"Please don't kill me!",1084,.Spawn,strnpcinfo(NPC_NAME)+"::OnMobKilled"; announce "Find the Mushroom : Total of "+.Spawn+" Mushrooms have been spawned in "+.Map$+"!",0; sleep 2500; announce "Find the Mushroom : Every Mushroom you kill will give you "+getitemname(.Prize)+"!",0; end; OnMobKilled: set .Spawn, .Spawn - 1; if (playerattached() != 0) { getitem .Prize, .Amount; if (.Spawn) announce "[ "+strcharinfo(PC_NAME)+" ] has killed a Mushroom. There are now "+.Spawn+" Mushroom(s) left.",bc_map; } if (!.Spawn) { announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; set .status,0; } end; }
Link: https://github.com/HerculesWS/Hercules/blob/stable/npc/custom/events/mushroom_event.txt
-
4 hours ago, evilpuncker said:before the OnMobKilled: label add the following:
OnMinute40: killmonster .event_map$, "OnMobKilled"; end
OnMinute40: killmonster .event_map$, "OnMobKilled"; end
I don't use rAthena but should work
Will test this.
*Edit
Doesn't work. I even tried OnTimer.. Hmmm -
-
//===== rAthena Script ======================================= //= Find the Mushroom //===== By: ================================================== //= Mysterious //===== Current Version: ===================================== //= 3.6a //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Find the Mushroom - random amount of Mushrooms spawns in random maps. //= Players need to find these mushrooms and kill them to gain prizes! //===== Additional Comments: ================================= //= 3.0 Fully Functional with Rewritten script. [Mysterious] //= 3.6a Slightly edited. [Euphy] //============================================================ prontera,142,228,6 script Find the Mushroom 1084,{ mes "[ Find The Mushroom ]"; if (.status == 1) { .@count = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@count > 0) { mes "There are " + .@count + " Mushrooms left in " + .event_map$ + "!"; mes "Find and kill the mushrooms to gain " + getitemname(.prize) + "!"; close; } .event_map$ = ""; .status = 0; mes "All the mushrooms are killed?"; } mes "There is no event at the moment!"; if (.status || getgmlevel() < .GM) close; mes "Start the event?"; next; if (select("- No:- Yes") == 1) close; donpcevent strnpcinfo(0) + "::OnMinute10"; mes "[ Find The Mushroom ]"; mes "Event started!"; close; OnInit: .prize = 512; // Reward item ID .amount = 10; // Reward item amount .GM = 60; // GM level required to access NPC setarray .maps_list$[0],"izlude","geffen","morocc","prontera"; // Possible maps end; OnMinute10: // Start time (every hour) if (.status) end; .status = 1; .@spawn = rand(1,10); // How many Mushrooms should spawn? .event_map$ = .maps_list$[ rand(getarraysize(.maps_list$)) ]; .@label$ = strnpcinfo(0) + "::OnMobKilled"; killmonster .event_map$, .@label$; monster .event_map$,0,0,"Please don't kill me!",1084,.@spawn, .@label$; announce "Find the Mushroom : Total of " + .@spawn + " Mushrooms have been spawned in " + .event_map$ + "!",0; sleep 2500; announce "Find the Mushroom : Every Mushroom you kill will give you " + getitemname(.prize) + "!",0; end; OnMobKilled: if (playerattached() == 0) end; getitem .prize, .amount; .@spawn = mobcount( .event_map$, strnpcinfo(0) + "::OnMobKilled" ); if (.@spawn > 0) announce "[ " + strcharinfo(0) + " ] has killed a Mushroom. There are now " + .@spawn + " Mushroom(s) left.",bc_map; else { announce "The Find the Mushroom Event has ended. All the Mushrooms have been killed.",0; .status = 0; .event_map$ = ""; } end; }
^ This is the whole script. Can we have an option to set time limit for this quest? Because it wont re start until all the mushroom has been slain. I am thinking to have 30 minutes for every event. Thanks!
-
Will this work to rathena? Thanks Annie! ♥
-
5 hours ago, Sikdope said:Hello ma'am sorry for the late reply, I made a new video for clarity and here the whole script! https://pastebin.com/uJwwxFbK I'm sorry if I ask for help
The one you recorded is a Break the Seal Quest. The one you posted is a different version. They all come in Seal quests like annie told you. Whats wrong with the one you have? Basically they are just the same thing. And its working upon testing it. -
@AnnieRuru I can pay you with different project in mind rather than this. I'll contact you once i think of something. Anyway regarding to the topic. I already have an idea. Thanks for the option 1. ♥
-
16 hours ago, AnnieRuru said:and what is token quest exactly ?
this kind of topic .... I usually lock them up immediately because there are not enough explanation ...
https://rathena.org/board/topic/124678-treasure-hunter-quests-regarding-the-taken-quest/
I went over to rathena forum, you also just say "gimme your token quest script I saw on other server pls help" but you never say how your players gonna get token in the first place
Welcome back @AnnieRuru ♥
Sorry. Anyway this is included in rathena/herc trunk. \npc\custom\quests\thqSo this is how it works.
You will go there to register yourself as a Treasure Hunter. Once you do. You will able to take the quest/go to their exclusive member token shop. Basically its a point system. Anyway. The main concern is regarding the THQS_QuestNPC.txt. This is the npc in charge of giving you a quest. But its somehow lacking feature. Some server already made possible to re check your the quest you've taken.
Let me provide you screenshot.
Okay this is me taking a quest
Lets say i selected Aww shoot!
Now i already taken the quest and for some reason i forgot what it is..
The option i will have is to talk again to the same NPC and cancel my quest (pay the fine)
This is what im requesting. An option to recheck what quest you've taken.
High-Res DamageFont
in Spriting & Palette Releases
Posted
i second this. Thanks!