stiflerxx
-
Content Count
125 -
Joined
-
Last visited
Reputation Activity
-
stiflerxx reacted to raPalooza~ in ModScript Professions ~ Fishing
Fish Fish Fishing
Well,
Lately i went back on Scripting and testing ideas around ragnarok, and decided to develop a series of professions, but as i'ma well known lazy ass so i'll be releasing the "raw" script as soon as possible as it is probably full of bugs and memory problems.
Starting with Fishing! here is a sneak peak of the progress so far. ;D
-I'm also using .tga shadows, and custom damage font.
Right now it works as follow:
- First runs a loop with percentage of breaking it so the fish bites de bait.
- Then a "mini-game" starts, where you need to choose the right random placed option, an bait animation ocours, and that minigame start over, guider by a random number rand(2,4) in the video.
-Fish/Item Catched! Loot Animation, start over.
TODO:
-Random placement on water cells (also control on how much you can "fish" from one node, till it unspawn or warp away)
-General Configuration for easy using (If item needed, how many minigames tries, loot selection(i hear that there are good functions scripts that base drop % in arrays.)
-And so on.
Hope you guys enjoy it.
Want to hear some thoughts on other profession! and feed back about that one as Well!
(already thinking about a lumberjack minigame where you will need to time the hit) -
stiflerxx got a reaction from sirchrono in Script Ranking WOE
I do not know I searched everywhere for a ranking of woe and death kill however just thought that I just need that when someone dies in the maps of woe him in SQL +1 point more that there is error not put the T.T points
-
stiflerxx reacted to evilpuncker in lvup the group.conf
atcommand.conf
blvl: ["lvup", "blevel", "baselvl", "baselvup", "baselevel", "baselvlup"]
use "blvl" in groups.conf and no the ones between [ ]
-
stiflerxx reacted to GmOcean in Debug Npc Pack Guild
Umm, in your script, you're starting each label with this command next; you need to remove those.
Example:
continuar:next;if(strcharinfo(0) == getguildmaster(.@guild))goto cadastro;query_sql "SELECT `id_guild`,`quant_menber_re`,`quant_menber_max`,`lider`,`name_guild` FROM `cadastro_pack_guild` WHERE `id_guild`='" +.@guild+"'",.@id_guild,.@Quant_RE,.@Quant_Max,.@LiderG$,.@N_Guild$;if(!getarraysize(.@id_guild) || .@id_guild == 0){goto Nocadastro; Remove the next;
continuar:if(strcharinfo(0) == getguildmaster(.@guild))goto cadastro;query_sql "SELECT `id_guild`,`quant_menber_re`,`quant_menber_max`,`lider`,`name_guild` FROM `cadastro_pack_guild` WHERE `id_guild`='" +.@guild+"'",.@id_guild,.@Quant_RE,.@Quant_Max,.@LiderG$,.@N_Guild$;if(!getarraysize(.@id_guild) || .@id_guild == 0){goto Nocadastro;
Do this for ALL of your labels. The problem should go away.
Edit:
Here, I did it for you.
prontera,146,164,4 script Pack Guild 65,{set .@conta_id,getcharid(3);set .@guild,getcharid(2);if (.@guild <= 0)goto Noguild;if(BaseLevel < 299 || JobLevel < 149)goto Nolv;if ((Class < 20 && Class == 4001 && Class == 4002 && Class == 4003 && Class == 4004 && Class == 4005 && Class == 4006 && Class == 4007))goto NoClass;if(#pegoupack == 1)goto japegou;if (Weight > 5000)goto Nopeso;query_sql "SELECT `last_mac` FROM `login` WHERE `account_id`='"+.@conta_id+"'",.@mac$;query_sql "SELECT `account_id` FROM `recebeu_packguild` WHERE `mac`='" +.@mac$+"'",.@checkaccount;if(!getarraysize(.@checkaccount)){ goto continuar;}else{ query_sql "SELECT `name_guild`,`name`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg` FROM `recebeu_packguild` WHERE `mac`='" +.@mac$+"'",.@name_guild$,.@name$,.@dia,.@mes,.@ano,.@hora,.@minuto,.@seg; mes "[^FF7F24Pack Guild^000000]"; mes "Você já pegou seu Pack Guild"; mes "Quanto você era do Clã:^FF7F24"+.@name_guild$+"^000000."; mes "Com o Char:^FF7F24"+.@name$+"^000000."; mes "No dia ^FF7F24"+.@dia+"^000000/^FF7F24"+.@mes+"^000000/^FF7F24"+.@ano+"^000000 ás ^FF7F24"+.@hora+"^000000:^FF7F24"+.@minuto+"^000000:^FF7F24"+.@seg+"^000000."; close;}continuar://next;if(strcharinfo(0) == getguildmaster(.@guild))goto cadastro;query_sql "SELECT `id_guild`,`quant_menber_re`,`quant_menber_max`,`lider`,`name_guild` FROM `cadastro_pack_guild` WHERE `id_guild`='" +.@guild+"'",.@id_guild,.@Quant_RE,.@Quant_Max,.@LiderG$,.@N_Guild$;if(!getarraysize(.@id_guild) || .@id_guild == 0){ goto Nocadastro;}else{// next; mes "[^FF7F24Pack Guild^000000]"; mes "Olá Sua Guild já esta cadastrada"; mes "Deseja receber seu pack guild?"; mes "Nome da Guild:"+.@N_Guild$+"."; mes "Membros que já receberam:"+.@Quant_RE+"."; mes "Total Max de Membros:"+.@Quant_Max+"."; mes "Líder:"+.@LiderG$+"."; switch(select(">>Sim:>>Não")) { case 1: mes "Ok receba seu pack guild"; close2; set #pegoupack,1; query_sql "INSERT INTO `recebeu_packguild` (`account_id`,`name`,`name_guild`,`mac`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg`) values ('"+.@conta_id+"','"+strcharinfo(0)+"','"+getguildname(.@guild)+"','"+.@mac$+"','"+gettimestr("%d",21)+"','"+gettimestr("%m",21)+"','"+gettimestr("%Y",21)+"','"+gettimestr("%H",21)+"','"+gettimestr("%M",21)+"','"+gettimestr("%S",21)+"')"; if(.@Quant_Max == 15){ // pack guild de 10 a 15 membros getitem 12032,100; getitem 12030,50; getitem 4195,2; getitem 4411,2; getitem 4198,1; getitem 19021,2; getitem 4047,1; }else{ // pack guild de 15 a 20 membros getitem 12032,100; getitem 12030,50; getitem 4047,1; getitem 19021,2; getitem 4174,1; } end; case 2: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok volte quando quiser"; close; }}cadastro: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Deseja Cadastra seu clã para pegar o pack guild?"; switch(select(">>Sim:>>Ver pack Guild:>>Não")) { case 1: query_sql "SELECT COUNT(*) FROM`char` WHERE `online`= 1 AND `guild_id`= '"+.@guild+"'",@Cont; set @Cont,@Cont+1; if(@Cont < 10)goto No10Menber; if(@Cont < 15 && @Cont > 10 || @Cont == 15)goto ate15menber; if(@Cont > 15)goto maisde15menber; end; case 2: next; mes "[^FF7F24Pack Guild^000000]"; mes "Pack Guild de 10 à 15 Membros"; mes "Infos"; next; mes "[^FF7F24Pack Guild^000000]"; mes "Pack Guild de 15 à 20 Membros"; mes "Infos"; close; case 3: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok volte quando quiser"; close; }Noguild: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Você não tem guild para pegar o pack guild"; close;No10Menber: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Seu clã não tem 10 Membros Online ela só tem ^FF7F24"+@Cont+"^000000."; mes "Volte quando tiver no minimo 10 online"; close;japegou: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Você já pegou o pack guild"; close;Nocadastro: //next; mes "[^FF7F24Pack Guild^000000]"; mes "A Guild "" Não está cadastrada para receber o pack guild"; mes "Chame seu Líder aqui e mande-o falar comigo!"; close;Nolv: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Você tem que ter no Minimo Level 300 e JobLv/Base 150 para pegar o Pack Guild!"; close;NoClass: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Você Precisa ser um Transclasse ou um Ninja/Guns/Tk para fala comigo volte quanto estiver na sua ultima classe"; close;Nopeso: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Você deve ter Menos que 5.000 de peso para falar comigo"; close;ate15menber: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Olá Deseja continua e Registrar?"; mes "Nome do Clã "+getguildname(.@guild)+"."; mes "Membros Online do Clã "+@Cont+"."; mes "Membros que já receberam: ""."; mes "Pack Guild Liberado a: 15 Membros"; switch(select(">>Sim:>>Não")) { case 1: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok Guild cadastrada Pode Chama Todos os membros para pegar o pack guild!"; close2; // pack de menos de 15 membros getitem 12032,100; getitem 12030,50; getitem 4195,2; getitem 4411,2; getitem 4198,1; getitem 19021,2; getitem 4047,1; getitem 5325,1; set #pegoupack,1; query_sql "INSERT INTO `recebeu_packguild` (`account_id`,`name`,`name_guild`,`mac`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg`) values ('"+.@conta_id+"','"+strcharinfo(0)+"','"+getguildname(.@guild)+"','"+.@mac$+"','"+gettimestr("%d",21)+"','"+gettimestr("%m",21)+"','"+gettimestr("%Y",21)+"','"+gettimestr("%H",21)+"','"+gettimestr("%M",21)+"','"+gettimestr("%S",21)+"')"; query_sql "INSERT INTO `cadastro_pack_guild` (`account_id_lider`,`lider`,`name_guild`,`id_guild`,`quant_menber_re`,`quant_menber_max`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg`) values ('"+.@conta_id+"','"+strcharinfo(0)+"','"+getguildname(.@guild)+"','"+.@guild+"','1','15','"+gettimestr("%d",21)+"','"+gettimestr("%m",21)+"','"+gettimestr("%Y",21)+"','"+gettimestr("%H",21)+"','"+gettimestr("%M",21)+"','"+gettimestr("%S",21)+"')"; end; case 2: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok volte quando quiser"; close; }maisde15menber: //next; mes "[^FF7F24Pack Guild^000000]"; mes "Olá Deseja continua e Registrar?"; mes "Nome do Clã "+getguildname(.@guild)+"."; mes "Membros Online do Clã "+@Cont+"."; mes "Membros que já receberam: ""."; mes "Pack Guild Liberado a: 20 Membros"; switch(select(">>Sim:>>Não")) { case 1: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok Guild cadastrada Pode Chama Todos os membros para pegar o pack guild!"; close2; // pack de mais de 15 membros getitem 12032,100; getitem 12030,50; getitem 14232,2; getitem 4047,1; getitem 19021,2; getitem 4174,1; getitem 5325,1; set #pegoupack,1; query_sql "INSERT INTO `recebeu_packguild` (`account_id`,`name`,`name_guild`,`mac`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg`) values ('"+.@conta_id+"','"+strcharinfo(0)+"','"+getguildname(.@guild)+"','"+.@mac$+"','"+gettimestr("%d",21)+"','"+gettimestr("%m",21)+"','"+gettimestr("%Y",21)+"','"+gettimestr("%H",21)+"','"+gettimestr("%M",21)+"','"+gettimestr("%S",21)+"')"; query_sql "INSERT INTO `cadastro_pack_guild` (`account_id_lider`,`lider`,`name_guild`,`id_guild`,`quant_menber_re`,`quant_menber_max`,`dia`,`mes`,`ano`,`hora`,`mto`,`seg`) values ('"+.@conta_id+"','"+strcharinfo(0)+"','"+getguildname(.@guild)+"','"+.@guild+"','1','20','"+gettimestr("%d",21)+"','"+gettimestr("%m",21)+"','"+gettimestr("%Y",21)+"','"+gettimestr("%H",21)+"','"+gettimestr("%M",21)+"','"+gettimestr("%S",21)+"')"; end; case 2: next; mes "[^FF7F24Pack Guild^000000]"; mes "Ok volte quando quiser"; close; }} -
stiflerxx reacted to GmOcean in Fakename /[TAG]
I see, well I'll take a look at them later, and I'll see if I can port them to Hercules so you can make use of it.
Edit:
Okay, so I took a look at them, and it seems they could easily be converted to Hercules, however i'm not 100% sure if it'll work. And if it does work, you'll still have the same issues as Digos posted when he released the whisper patch. That is, if someone uses @fakename to disguise their name as an existing player name, they won't be PM-able since it checks for real names first then fake names.
Also last thing of note is, I could make a diff for the changes, but I'm too dumb to make them plugins xD. I don't know how to do the pre/post hooking yet.
-
stiflerxx reacted to evilpuncker in block GM / CM Drop
can_trade : Ability to trade or otherwise distribute items (drop, storage, vending etc...).can_party : Ability to join parties.all_skill : Ability to use all skills.all_equipment : Ability to equip anything (can cause client errors).skill_unconditional : Ability to use skills without meeting the required conditions (SP, items, etc...).join_chat : Ability to join a password protected chatrooms.kick_chat : Protection from being kicked from a chat.hide_session : Hides player session from being displayed by @commands.who_display_aid : Ability to see GMs and Account/Char IDs in the @who command.hack_info : Ability to receive all informations about any player that try to hack, spoof a name, etc.any_warp : Ability to bypass nowarp, nowarpto, noteleport and nomemo mapflags. This option is mainly used in commands which modify a character's map/coordinates (like @memo, @mapmove, @go, @jump, etc...).view_hpmeter : Ability to see HP bar of every player.view_equipment : Ability to view players equipment regardless of their setting.use_check : Ability to use client command /check (display character status).use_changemaptype : Ability to use client command /changemaptype.all_commands : Ability to use all atcommands and charcommands.receive_requests : Ability to receive @requests.show_bossmobs : Ability to see boss mobs with @showmobs.disable_pvm : Ability to disable Player vs. Monster.disable_pvp : Ability to disable Player vs. Player.disable_commands_when_dead : Ability to disable @command usage when dead.can_trade_bound: Ability to trade or otherwise distribute bound items (drop, storage, vending etc...).hchsys_admin : Hercules Chat System Admin (Ability to modify channel settings regardless of ownership and join password-protected channels without requiring a password.)disable_pickup: Ability to disable the player from picking up any item from ground, they can still receive items picked up by others means like party share píck.disable_exp: Ability to disable the player from gaining any experience point.disable_store: Ability to disable the player from using/openning npc and player stores.disable_skill_usage: Ability to disable the player from using any skill. -
stiflerxx reacted to GmOcean in script commands
It's just letting you know you're using a command that will be removed in the (very)near future.
So you should use these commands instead: *setmount {<flag>}; & *checkmount()
-
-
stiflerxx reacted to Angelmelody in .lub to .lua someone know?
try grf editorhttp://herc.ws/board/files/file/138-grf-editor/
-
stiflerxx reacted to Dastgir in [Guide] Adding New Status Icons
Hello Hercules Community,
Here's a Guide to Add a New Custom Status Icons(the one displayed on the right)
What you Need?
Knowledge of Editing and Compiling Server(and ofcourse custom icons)
1) Server Side Edits:
open
src/map/status.h
Find
SC_MAX Add Before
SC_MYCUSTOMBUTTON,
Find
SI_MAX, Add Before
SI_MYCUSTOMBUTTON = ID_OF_BUTTON, (ID of Button can be any, but I suggest to have them > 2000, so not to avoid any updates with kRO(which is at 900) now)
P.S: Remember that ID_OF_BUTTON, we gonna need them later.
src/map/status.c
Find
status->IconChangeTable[SC_DECORATION_OF_MUSIC] = SI_DECORATION_OF_MUSIC; Add Below
status->IconChangeTable[SC_MYCUSTOMBUTTON] = SI_MYCUSTOMBUTTON;
Recompile
2) ClientSide Edits
Get a CleanCopy of statusicon folder (https://github.com/ROClientSide/Translation/tree/master/Data/luafiles514/lua%20files/stateicon)
Open efstids.lub
Find:
__newindex = function()error("unknown state") Before it add,
EFST_MYCUSTOMBUTTON = ID_OF_BUTTON, P.S: ID_OF_BUTTON should match the one on source(status.h)
Open stateiconinfo.lub
Find
StateIconList[EFST_IDs.EFST_JUMPINGCLAN] = { Add Before
StateIconList[EFST_IDs.EFST_MYCUSTOMBUTTON] = { haveTimeLimit = 1, posTimeLimitStr = 2, descript = { { "My Custom Button Heading", COLOR_TITLE_BUFF }, {"%s", COLOR_TIME}, --do not edit this, this shows time remaining { "Description 1" }, { "Description 2" }, { "Description 3" } }} Open
stateiconimginfo.lua
Find
[PRIORITY_GOLD] = { OR
[PRIORITY_RED] = { OR
[PRIORITY_BLUE] = { OR
[PRIORITY_GREEN] = { OR
[PRIORITY_WHITE] = { (Depending on what background your Custom Button is)
Add below
[EFST_IDs.EFST_MYCUSTOMBUTTON] = "MYCUSTOMBUTTONFILE.TGA", P.S: Your Button File must be in .TGA form only.
.tga file must go to data/texture/effect/ Folder
And Its DONE!!!
NOTE: Replace MYCUSTOMBUTTON with your own Icon/Effect Name
-
stiflerxx reacted to Garr in Full Protection
It is written that if 32 then GOSPEL WILL REMOVE IT.
// 32 - SC considered as debuff and (will) be removed by Gospel and etc.
And one of tarot cards uses same code as gospel, so it won't be removed as well.
-
stiflerxx reacted to Garr in Full Protection
There's no SC_FULLPROTECTION. You just made that up.
SC_PROTECTWEAPON, 28SC_PROTECTSHIELD, 28SC_PROTECTARMOR, 28SC_PROTECTHELM, 28
You need to change those. I think you need to remove 16 from them, but not sure.
SC_PROTECTWEAPON, 12SC_PROTECTSHIELD, 12SC_PROTECTARMOR, 12SC_PROTECTHELM, 12 -
-
stiflerxx reacted to evilpuncker in Keep GM on map after Emperium breaks
int buildin_maprespawnguildid_sub_pc(struct map_session_data* sd, va_list ap){ int16 m=va_arg(ap,int); int g_id=va_arg(ap,int); int flag=va_arg(ap,int); if(!sd || sd->bl.m != m) return 0; if(pc_get_group_level(sd) == 99) return 0; if( (sd->status.guild_id == g_id && flag&1) //Warp out owners || (sd->status.guild_id != g_id && flag&2) //Warp out outsiders || (sd->status.guild_id == 0) // Warp out players not in guild [Valaris] ) pc->setpos(sd,sd->status.save_point.map,sd->status.save_point.x,sd->status.save_point.y,CLR_TELEPORT); return 1;} -
stiflerxx reacted to evilpuncker in mount2??
o nome foi mudado para "cashmount"
https://github.com/HerculesWS/Hercules/commit/3be853cff81fbdc590fc5538b60951f0179945f8
-
stiflerxx reacted to Shatowolf in Diff Harmony>>Hercules
Hi,
There's already patch on this. Here
Good luck.
-
stiflerxx reacted to Garr in problems Event
I didn't really understood what you wanted, but here goes:
setcell "eden_dun03",86,220,86,216,cell_walkable,0;announce "[ Dungeo Guild ]: E as Barricadas Apareceram vão destrui-las !!!",8; goto OndsBarri; }end;//BarricadasOndsBarri:set $mobs,5;monster "eden_dun03",87,220,"Barricadas da DG",1905,1,"DS3::OndsBdead";monster "eden_dun03",87,219,"Barricadas da DG",1905,1,"DS3::OndsBdead";monster "eden_dun03",87,218,"Barricadas da DG",1905,1,"DS3::OndsBdead";monster "eden_dun03",87,217,"Barricadas da DG",1905,1,"DS3::OndsBdead";monster "eden_dun03",87,216,"Barricadas da DG",1905,1,"DS3::OndsBdead";end;OndsBdead:set $mobs,$mobs-1;if($mobs == 0){ announce "[ Dungeo Guild ]: As Barridacas foram Destruidas!!",8; }if($mobs == 0){ announce "[ Dungeo Guild ]: E os Baús Apareceram vão destrui-los !!!",8; goto Ondsbox; }end;//BausOndsbox:set $mobs,8;areamonster "eden_dun03",32,200,50,195,"Baú Perdido",2855,4,"DS3::Ondsboxdead";areamonster "eden_dun03",60,190,20,200,"Baú Perdido",2855,4,"DS3::Ondsboxdead";setcell "eden_dun03",86,220,86,216,cell_walkable,1;end;Ondsboxdead:set $mobs,$mobs-1;if($mobs == 0){ announce "[ Dungeo Guild ]: A última Caixa do Tesouro foi destruída!",8;announce "[ Dungeo Guild ]: Obrigado a todos que participaram.",8;disablenpc "[DG]Entrada Dungeo Guild";disablenpc "Entrada Dungeo";disablenpc "darkmall1";sleep2 7000;mapwarp "eden_dun03","prontera",150,150; You missed an end; after OndsBdead: label, so after first kill it went straight to Ondsbox: label.
Also, in your Ondsbox: label amount of monsters does not correspond with $mobs variable, so I made each areamonster spawn 4 monsters. You can change it back to 1 and set $mobs to 2 instead, depending on what you want.
-
stiflerxx reacted to evilpuncker in Setwall
use something like this:
setcell "new_1-1",72,114,72,109,cell_walkable,0;
and change 0 to 1 to make it walkable again
-
stiflerxx reacted to evilpuncker in Fluxcp>>Mysql
o erro na verdade está falando que o usuário "ragnarok" não tem permissão pra acessar o banco de dados, pelo jeito vc colocou a senha errada
-
stiflerxx reacted to evilpuncker in Skillinfoz.Lua
usa o programa luadec e/ou use os próprios arquivos do bRO!
http://herc.ws/board/topic/2473-luadec-for-lua-514-a-easy-and-super-powerful-lub-lua-decompiler/