Jump to content

GmOcean

Community Contributors
  • Content Count

    371
  • Joined

  • Last visited

  • Days Won

    8

Reputation Activity

  1. Like
    GmOcean got a reaction from AnnieRuru in Scripting Tutorials & Guides   
    On a passing whim, I've stopped by here and updated the links. A few years late, but better late than never. Good bye for now....
  2. Upvote
    GmOcean got a reaction from Begin in Slot Machine   
    File Name: Slot Machine
    File Submitter: GmOcean
    File Submitted: 14 Sep 2014
    File Category: Events & Games
     
    This script will allow users to spend zeny &/or an item for a chance to win a prize from the slot machine. Currently there are 2 versions. First is a Single Slot Machine, where only 1 slot is rolled. Second is the Triple Slot machine, where 3 slots are rolled. For either version, SUCCESS must be the only thing displayed in order to win.
     
    To add the cutins, just place them in: data/texture/À¯ÀúÀÎÅÍÆäÀ̽º/illust
     
    /* =============================================================
    /* NOTE - If using soundeffects you must add the ".wav" files
    /* provided in the ".rar" file to your: data/wav folder located
    /* in either your: ( Ragnarok folder ) OR ( .grf file )
    /* =============================================================
     
    I've included the PSD file, so you can edit it as you like.
     
    Click here to download this file
  3. Upvote
    GmOcean got a reaction from Legend in Introducing the Item Options System   
    OMG!! Finally an official system to do what I've created through script. Hmm, may pop back in just to release something using this in the future.
  4. Upvote
    GmOcean got a reaction from NewNewbie in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  5. Upvote
    GmOcean got a reaction from taunner 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; }}
  6. Upvote
    GmOcean got a reaction from IndieRO in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  7. Upvote
    GmOcean got a reaction from Random756 in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  8. Upvote
    GmOcean got a reaction from Ehwaz in Progress bar   
    I'd have to go with Emistry's idea honestly, it's far better than having it toggle'd in a conf file. Especially since there are multiple instances where you could use the progress bar with both walkable and non-walkable forms.
     
    Example that I used in a few scripts:
    1. In a custom crafting system, players were unable to move while the progress bar went through (much like other MMORPGs).
    2. In a custom battle ground, I add pyres that needed to be activated 5 times, each time took 5seconds. Meaning if they moved, or were attacked, the bar cancelled, thus making them have to start over. Really adds depth and variety to scripts with just this simple option.
    3. Made an item that simulated using a long cast time skill, however they needed to remain still or else it would cancel (intended feature), since the spell casted a global stun effect bypassing stats. No need to punish the players by making them unable to move to re-position themselves for strategic use.
     
    So again, I'd go with Emistry's idea, and add an extra parameter to make it root players, or allow them to walk.
  9. Upvote
    GmOcean reacted to Emistry in Progress bar   
    or maybe can provide an extra parameter to indicate it's moveable or not ?  default to not moveable.
  10. Upvote
    GmOcean got a reaction from Z3R0 in Z3R0 Here ;)   
    Yes wow. Welcome back. I used to refer to your work quite abit trying to learn scripting, as well as bookmarking your php scriptcommands page. But that was way back in eA days. Glad to see you re-entering the RO scene. It seems people who leave (myself included) always come back to this wonderful game and community.
    Welcome back.
  11. Upvote
    GmOcean reacted to Z3R0 in Z3R0 Here ;)   
    Hey guys!
     
    Most of you probably don't know me, but I am happy to be back!
     
    Looking to help in NPC Scripting Support and hopefully come up with some new and improved concepts! I miss it!
     

  12. Upvote
    GmOcean got a reaction from anacondaq in explode to push arraysize   
    I just wanna suggest that the *explode script command, should push the array size of the one it creates. So that things like this are possible:
    .@a = 10;while( .@b != .@a ) { .@menu$ = .@menu$ +""+ .@b +":"; .@b++;}.@menu$ = .@menu$ +"Last Option";if( select( .@menu$ ) == ( .@size = explode( .@temp$, .@menu$, ":" ) ) ) { close; } // Clicked Last Option in list. vs what we have to do now:
    .@a = 10;while( .@b != .@a ) { .@menu$ = .@menu$ +""+ .@b +":"; .@b++;}.@menu$ = .@menu$ +"last Option";explode( .@temp$, .@menu$, ":" );if( select( .@menu$ ) == getarraysize( .@temp$ ) ){ close; } // Clicked Last Option in list.  
    It's not really " needed " more of just a feature I think it should have since commands like query_sql have it. I figure why not give it the extra feature since it's not a downgrade nor does it break backwards compatibility.
  13. Upvote
    GmOcean got a reaction from Sephus in Passing npc array variable to function?   
    She meant to place .test as arg(0), which would make it pass the info from .test. But if I'm not mistaken, only .test[0].
    If you REALLY need to copy an array over to a function for w/e reason, turn it into a temp global array $@test.
     
    You can also use setd/getd to dynamically create these names so they are unique each time you make them, so they don't overlap with one another and cause errors.
  14. Upvote
    GmOcean got a reaction from Jenox in Custom Cardscript Job-Declaration   
    Right now it's checking for BaseClass. That will always return a 1-1 Class unless they have not become any of those classes. In which case it returns Job_Novice.
    BaseClass - The character's 1-1 'normal' job, regardless of Upper value. For example, this will return Job_Acolyte for Acolyte, Priest/Monk, High Priest/Champion, and Arch Bishop/Sura. If the character has not reached a 1-1 class, it will return Job_Novice.  
    You'll need to check for each class using Class.
     
    { if(Class==Job_Hunter || Class==Job_Sniper) {bonus3 bAutoSpell,SN_SHARPSHOOTING,5,50;} } (Can't remember if you can do this with Upper or not).
  15. Upvote
    GmOcean got a reaction from Aurora in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  16. Upvote
    GmOcean reacted to Dastgir in duplicatenpc & duplicateremove   
    Your Wish has been granted
  17. Upvote
    GmOcean reacted to Dastgir in Duplicate NPC Commands   
    File Name: Duplicate NPC Commands
    File Submitter: Dastgir
    File Submitted: 12 Jan 2015
    File Category: Plugins
     
    2 Self Explanatory Commands:
    duplicatenpc("NpcName", "DuplicateName", "DupHiddenName", "map", x, y, dir{, sprite{, xs, ys}});duplicateremove({"NPCname"});
     
    Example Script:
    prontera,150,150,5 script DupTest 999,{mes strnpcinfo(0);close;OnInit:duplicatenpc(strnpcinfo(0),"Duplicated","","prontera",150,148,5,998);end;OnWhisperGlobal:duplicateremove();}
    ^ Above script will self-duplicate itself with name "Duplicated" to prontera,150,148 with Sprite ID 998, and upon whispering to any of those npc, the duplicate will be removed.
     
     
    Requested by GMOcean @ http://herc.ws/board/topic/7718-duplicatenpc-duplicateremove/?view=getnewpost
     
    Click here to download this file
  18. Upvote
    GmOcean got a reaction from Neneka in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  19. Upvote
    GmOcean got a reaction from Alexandria in Add a message to my healer   
    Find this:
    if (@HD > gettimetick(2)) end;  
    and replace with this:
    if (@HD > gettimetick(2)) { message strcharinfo(0),"Please wait: "+callfunc("Time2Str",@HD)+""; end; }  
    That should make it display how much longer they need to wait before getting healed.
  20. Upvote
    GmOcean got a reaction from fiction in Scripting Tutorials & Guides   
    Scripting Tutorials and Guides
    I'm going to attempt to help everyone here with their scripts while not being directly involved in helping you with them xD.
    This will also help future/current scripters get some fresh info and maybe inspire innovative ideas towards scripting.
    So that we can prove that us " Scripters " are the superior ragnarok emulation race! Take that Source Code writers!! Jk lol, we need you too .

    What I'm going to do, is write detailed tutorials on how to write a few scripts. Starting from the basics to more advanced scripts.
    This way everyone can follow along. And hopefully this will help everyone understand how to write a few scripts and even troubleshoot their own scripts.
     
    Also please read: Scripting Standards.
    It will help you understand how to read some of the syntax and way people script things.
    // A list of <sprite id>s can be found here: Sprite_IDs Credits: Ai4rei
    Scripting Tutorials & Guides
    In this section you will learn how to write scripts ranging from Complete Begginer Level Scripts ( Me and Some of you ) -> Expert Level Scripts ( Think, Developer Status O.o; )
    - Beginner Scripts -
    Scripts for complete beginners and novice scripters.
     
     
    - Intermediate Scripts -
    Scripts for intermediate level scripters. If you completed my beginner script series, then you are ready for this section.
     
     
    - Advanced Scripts -
    Scripts for advanced level scripters. If you completed my intermediate script series and have made a few of your own intermediate scripts, then you are ready for this section.
     
     
    The idea behind this topic, is for new users, and current ones, to have a (second)place they can go to for reference when trying to write a script if they can't figure it out with script_commands.txt file. It will also help people learn how to write scripts. While hopefully, keeping script writing techniques to a ' very ' similar structure!
     
    *Read Me* - I have updated the links on this post to link to the oldboard so these guides can be viewed. However, do note that the script_commands.txt links within those guides are no longer accurate. Enjoy your scripting.
  21. Upvote
    GmOcean got a reaction from fiction in Scripting Tutorials & Guides   
    Updated~!!
    Sorry, this took so long. This was quite a long post, so long I hit it's limit.
    At any rate, first advanced script uploaded. Disguise Event Script - Compeleted (2 Parts)
  22. Upvote
    GmOcean reacted to Takari in CORA™ CMS   
    CORA™, formerly named as Taka Control Panel, is a FREE and Stand-alone Content Management System for your private ragnarok online websites!

    Easily change the contents of your site by accessing the admin panel. No need to open up a text editor and hassle yourself with the source code.
    You can even change themes or manage widgets in your website with just a few clicks!

    with CORA™ you can:

      Create/Update/Delete news and events with CKEditor Create/Update/Delete pages with CKEditor Easy navigation creation Easy users(players) management Easily Add/Edit/Remove widgets on your website Easily change into different themes ​ Easily manage your cash shop Easily manage your vote links and donate options Easily edit your settings View your characters with ROChargen View guild emblems View player/guild rankings View WoE Schedule View castle status

    Click 
    for a video demonstration of CORA™ back when it was still in early development.
     
    DOWNLOAD
    Visit our website to download CORA™: http://cora.takaworks.net/
    or you can clone it from github: https://github.com/takari1994/CORA

    Install guide is provided in our website.
     
    SCREENSHOTS
    Screenshot 01 | Screenshot 02 | Screenshot 03 | Screenshot 04 | Screenshot 05 | Screenshot 06 | Screenshot 07
    Screenshot 08 | Screenshot 09 | Screenshot 10 | Screenshot 11 | Screenshot 12 | Screenshot 13 | Screenshot 14
     
    NOTES
    Recent updates requires CORA to use some custom and ready-made scripts such as AnnieRuRu's PVP ladder. All required scripts will be included and placed in the `scripts` folder.
     
    DISCLAIMER
    CORA™ is currently in beta phase and does not provide warranty of any sort, including but not limited to, warranty of quality, performance, usability. You assume all risks associated with using the software.
     
    BUG REPORT & SUGGESTIONS
    Please submit your reports and suggestions as a reply to this thread or by sending an email to [email protected]
    Or if you have quick questions such as "does this support so and so" .. then yes you may ask, but if you need support
    regarding installation and what not, please send me a PM or perhaps I might start a support topic instead.
     
    SUPPORT US
    Also, please support us by liking us on facebook: http://facebook.com/takaworks
    and/or by donating. Any amount will be deeply appreciated.
     
     https--,,--//www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif[/url]]
     
    UPDATE
    CORA™ v0.9.4.2 BETA [Download]
    ​Added a `memory_limit` index in  settings.php to increase/decrease memory allocation. Fixed some database and missing variable errors for eAthena users. Fixed the query in generate_profiles.sql. Potential Fix for the memory leak problem in logs module. Fixed missing images in cash shop checkout page. Fixed item weight in item database search. Fixed checkout spam, which will drain players' credits/vpoints, by disabling the pay button after submitting the form. Fixed ranking widget where a display glitch occurs when selecting the "Display Guild Only" option. Fixed the error in registration/account update where the birthday doesn't apply to the login table. Fixed registration/account update page where users can directly input birthday. Fixed an issue where admin is required to login w/ regular account to update other accounts. Added an option in account settings to allow/disallow username change. Added an option in account settings to allow/disallow birthday change. Added an option in account settings to custom username/password format error message. Added an option in general settings for "Construction Mode" to redirect users (Excluding admin) to a "Under Construction" page when enabled. Added support for item_db_re and item_db2. UPDATE: Admin can now change a player's username and password regardless of the settings. UPDATE: Admin can now change a player's credits and vpoints. Started to implement responsive design for dashboard for mobile content management (not yet finished/ongoing).
    CORA™ v0.9.4 BETA - changelogs
    CORA™ v0.9.3 BETA - changelogs
    CORA™ v0.9.2 BETA - changelogs
    CORA™ v0.9.1 BETA - changelogs
    CORA™ v0.9.0 BETA - changelogs
     
    https--,,--//i.creativecommons.org/l/by-nc-sa/4.0/88x31.png[/url]] CORA™ by Takaworks is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.


  23. Upvote
    GmOcean reacted to Mystery in Midgard-Community   
    Hey everyone! I think it's time to add some more 'liveness' to our main page by bringing in more servers to register with us! For this, I'm offering free ad spots for a whole free month!
     
    If you visit our ad page, you'll notice I have two advertisement spots labeled. One being Kafra's Bulletin and Kafra's Cover. For new servers that are going to be listed, I'll be giving them a spot (server owner chooses) in Kafra's Bulletin for a full 30 days for free*! 
     
    * Terms & Guidelines
    Before getting your ad listed with us, there are a few guidelines a server owner must adhere to:
    [*]Ad Dimension: 700 x 90 [*]Your server must be newly listed with us [*]You must have a 24/7 up server [*]Must follow our Server Owner Rules [*]You must have a link on your server's homepage that redirects users to review your site on Midgard-Community [*]You must email us at [email protected] with the following criteria (taken from our ad spot): [*]Your username registered here at Midgard-Community [*]You must show your server’s banner (As an attachment or as a link) [*]Name of Advertisement section(s) (names are listed below) [*]Target URL (i.e. landing page) [*]and, the spot you are going to choose for that specific advertisement section (i.e. from review listing, review listing: low rate, etc).



    I will only be accepting the first 25 newly listed servers! This will be a first come first served basis. Please check the availability down below for available spots.
     
    Availability
    To keep track of available spots, here is the current list:
    [*]Review Listing (Lists all servers) – (5 / 5) Slots Available [*]Review Listing: Low Rate – (5 / 5) Slots Available [*]Review Listing: Mid Rate – (5 / 5) Slots Available [*]Review Listing: High Rate – (5 / 5) Slots Available [*]Review Listing: Super High Rate – (5 / 5) Slots Available

  24. Upvote
    GmOcean got a reaction from milk in Alternative method to use goto option   
    You can use the same method you were before, or would use with *goto command. Just simply use *callsub command instead. It'll function much the same way, but with the added benefit of passing information as well, should you choose to do so.
  25. Upvote
    GmOcean got a reaction from Hadeszeus in Ask for help with this Status Ailment   
    sc_def = bst->int_*20;
    That should make it -1 for every 20 int.
     
    tick_def = bst>int_ * 20 + SCDEF_LVL_CAP(bl, 150) *20;
    That should make it last about 55% less than normal, but I dunno for sure. Since I don't know what the last *50 is a reference to.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.