Jump to content

GmOcean

Community Contributors
  • Content Count

    371
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by GmOcean


  1. This is a neat idea, an AutoTrade effect, for afk use.

    My only suggestion is, remove the ignore monster effect because, this makes it 100% abusable for leeching people to higher levels.

     

    Other than that, I like it, and will give it a test =P


  2. mapname,x,y,z	script	npc_name	123,{mes "Where do you want to be warped?";next;.@select = select( implode( .warps$, ":" ) );mes "Are you sure you want to be warped to: "+ .warps$[.@select] +"?";if( select( "Yes, warp me now.", "No, I've changed my mind." ) == 2 ){ close; }warp .maps$[.@select],.x[.@select],.y[.@select];close;OnInit:setarray .warps$[0],"Map display names","Example","Prontera","Payon","Morroc";setarray .maps$[0],"prontera","payon","morroc";setarray .x[0],150,170,140;setarray .y[0],180,190,150;end;}

    my appologies, there was a typo with  the warp command. it reads, .map$

    it should say .maps$  so you can either add an S to that, or remove the S where the array is being set.


  3. mapname,x,y,z	script	npc_name	123,{mes "Where do you want to be warped?";next;.@select = select( implode( .warps$, ":" ) );mes "Are you sure you want to be warped to: "+ .warps$[.@select] +"?";if( select( "Yes, warp me now.", "No, I've changed my mind." ) == 2 ){ close; }warp .map$[.@select],.x[.@select],.y[.@select];close;OnInit:setarray .warps$[0],"Map display names","Example","Prontera","Payon","Morroc";setarray .maps$[0],"prontera","payon","morroc";setarray .x[0],150,170,140;setarray .y[0],180,190,150;end;}

  4. @1 - Didn't know it worked without being used for strings O.o. See even i'm still learning xD

    @2 - That would be better, but you forgot to add :: in your example, they are needed to push the options down or else, No thank you will go to case 2.

     

    Edit: Updated, with Dastgir's suggestion.


  5. File Name: Monster Search
    File Submitter: GmOcean
    File Submitted: 12 Oct 2014
    File Category: Utility

    Official Supported Projects: Midgard-Community Project & Yourolist Project & RateMyServer Website
    =============================================================
    Description
    =============================================================
    This script will allow users to search information about a
    monster in-game, and then open up a page to that exact mob on
    any website admins choose to enable. Works for both re/non-re monsters.
    =============================================================
    Features
    =============================================================
    Choose between what website you want your server to use.
    Or simply leave that upto your players by enabling all sites.
    =============================================================
    NOTE - Requires a client from 2011-10-10aRagexe.exe onwards.
    NOTE2 - RateMyServer Link does not support custom mobs.

    NOTE3 - As of yet, Midgard-Community & Yourolist also, do not support

    custom mobs to the extent of my knowledge.
    =============================================================

    Click here to download this file


  6. Glad you like it. But I don't need to be rewarded for it lol. It's just making it easier for players to search if they are sitting around. Since they would have just gone to the website themselves otherwise.


  7. Update!

    Finished Basic Item Trader with 2 parts ( for lack of other things to add to it D: ).

    Created & Finished Basic Floating Rates NPC with 2 parts.

     

    Edit:

    Going to start intermediate scripts next, anyone got any idea's for one? If not I'll just throw in a more detailed and modified version of the Healer & Buffer script.


  8. -	script	at_sameip	-1,{OnInit:bindatcmd "sameip",strnpcinfo(3)+"::OnAtSameIP";//,99,99,0; // 0 = No log, 1 = Log usageend;OnAtSameIP:freeloop(1);.@size = query_sql("SELECT `account_id` FROM `char` WHERE `online` = '1'",.@acct_id);.@size2 = query_sql("SELECT `account_id`, `last_ip` FROM `login` WHERE `account_id` != '1'", .@aid, .@ip$);while( .@a < .@size ) {	for( .@i = 0; .@i < getarraysize(.@aid); .@i++ ) {		if( .@aid[.@i] == .@acct_id[.@a] ) {			.@tempaid$[.@a] = ""+ .@aid[.@i] +"";			.@tempaip$[.@a] = .@ip$[.@i];			}		}	.@a++;}.@size3 = getarraysize(.@tempaid$);while( .@c != .@size3 ) {	for( .@i = 0; .@i < getarraysize( .@usedaids$ ); .@i++ ) {		if( .@usedaids$[.@i] == .@tempaid$[.@c] ) { //Account ID already in array.		.@used = 1;		}	}	if( !.@used ) {		.@usedaids$[( getarraysize( .@usedaids$ ) + 1 )] = .@tempaid$[.@c];		.@duplicateaid$[.@c] = "Account IDs: "+ .@tempaid$[.@c] +"";		.@duplicaterid2name$[.@c] = "Character Names: "+ rid2name( atoi( .@tempaid$[.@c] ) ) +"";		.@duplicateaip$[.@c] = "IP Address: "+ .@tempaip$[.@c] +"";				for( .@i = 0; .@i < getarraysize( .@tempaid$ ); .@i++ ) {			if( .@tempaip$[.@c] == .@tempaip$[.@i] && .@tempaid$[.@c] != .@tempaid$[.@i] ) {				.@duplicateaid$[.@c] = .@duplicateaid$[.@c] +", "+ .@tempaid$[.@i] +"";				.@duplicaterid2name$[.@c] = .@duplicaterid2name$[.@c] +", "+ rid2name( atoi( .@tempaid$[.@i] ) ) +"";				.@usedaids$[( getarraysize( .@usedaids$ ) + 1 )] = .@tempaid$[.@i];				}			}		}	.@used = 0;	.@c++;	}dispbottom "---------------- List of Same IP User ----------------";for( .@i = 0; .@i < getarraysize(.@duplicateaid$); .@i++ ) {	if( .@duplicateaid$[.@i] != "" ) {		dispbottom " ";		dispbottom .@duplicateaip$[.@i];		dispbottom .@duplicateaid$[.@i];		dispbottom .@duplicaterid2name$[.@i];		}	}freeloop(0);end;}

    All you needed to do was just change the sql query to omit the requirement for a map name, and then it'll get data on everyone who is online at the time of the scripts activation.

     

    My only concern is that your using rAthena emulator. This means your arrays are limited to 128 elements. A lot more would have to be changed to make it work 100% for you. So, you can just take this edit and have someone over there change it to work with rA's array system


  9. I agree! Begin the purge !! My Disguise Event has lived in that dusty old folder amongst the revisions for long enough lol. It's time to let it die, and give breed to a new era of innovation!

    ( Besides, I recently updated that script for myself using new standard techniques and replaced the black list with a dynamic function which does the same thing, but never needs to be updated, unless mob_ids go past 32k ).

     

    Not to mention, every time I decide to make a new test server, I always head over to script release forums to find a Warper, Healer(+ Buffer), Jobchanger, Stylist,, etc.. that I like. The ones in the revision work, but they don't have that pazazz that newer scripts have since they have just the bare minimum. It's like comparing comparing a 2d game to it's re-mastered 3d version. Just not living up to the expectations.

     

    Edit:

    Except Card Remover. That script is just perfect as it is lol. I say just update this one to the new standard and let it live. Because players just do not make this script at all lol. It's practically 1 of a kind.


  10. @Dastgir - Noted and changed. I'll try to do that from now on lol. Constants for items, are kind of new for me, because I don't think rAthena has them, and I've only recently made the switch to Herc.

    Edit: Okay, figured out how item constants are listed =P. I'll make sure to use them from now on, atleast in my tuts lol. No promises for script releases :ho: Also, for some reason, my scripts won't load when using Direction Constants in a script header :/

     

    Edit:

    @Haru - Alright, well. For now I'll leave it as numbers, since that's what's working. And I'll change it to the constants once it's been implemented.


  11. I am definitely going to be setting variables like that in the future, starting with my next script tutorial. I just feel that using " set " as a corner stone for scripting is almost a necessity for helping people understand the process of how to set a variable. This will also help make the shift to the new standard easier imo. It's just that's how I learned, so I figured it'd be easier to teach if they go through the same process.

    But thank you for letting me know. I guess i'm using a mix of Kernel and K&R style @.@; How mixed I must be lol.


  12. Yes, as Angelmelody showed, that is the proper way to handle your particular situation. However with other concerns where you may be using a make shift loop like the following:

    L_Loop:.@a = rand(1,6);if( .@a != 2 ){ .@b++; goto L_Loop; }mes "It took you "+ .@b +" tries to roll a 2.";close;

    You can replace goto L_Loop with 1 of the following. The first example being the correct way.

    while( rand(1,6) != 2 ) {.@b++}mes "It took you "+ .@b +" tries to roll a 2.";close;

    OR simply replace goto with callsub

    .@a = rand(1,6);if( .@a != 2 ){ .@b++; callsub L_Loop; }mes "It took you "+ .@b +" tries to roll a 2.";close;

     

    But lastly, if you read the documentation in that link, they did mention a synonym may be provided. Meaning a command which will act like goto " could " be created. The difference is, this will also act like jump_zero as well. So basically replacing 2 commands with 1 command.


  13. Yea, the active and inactive tabs on the client are purely visual. It's to help players decide quests they want to (actively) complete. So they are over whelmed by a lot of quests. They choose have 2 or 3 active. However, this doesn't matter source side. Since even if a quest is inactive, kills and the like, will still be counted. This is the same with 99.9% of all other MMO-RPG games with a questing system.

    If you have ever played WoW, it's the same way. AION, same thing. Ragnarok Online 2,same thing.

     

    So, we should make the changes. Because that is how official works. If we keep what we have, we're just using a make-shift system. Even if it does work.

×
×
  • Create New...

Important Information

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