Jump to content

Santafe

Members
  • Posts

    325
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Santafe

  1. Hey guyz was wondering if any 1 can send me a link to an already existing guide on how to duplicate maps (if exists?) or could some 1 tell me here? that would be great thanks in advance :) cuz i dont understand how and when/where the weemapcache shld be used cuz im only used to adding new maps X_X

  2. prontera,155,175,5    script    Skull Exchanger    123,{
        
        mes "[ Skull Girl ]";
        mes "I really love "+getitemname(.skull_id)+"s";
        mes "give me "+.skull_required+"x and I will give you";
        mes .exchange_qty+"x "+getitemname(.exchange_id);
        mes "How many do you want to exchange?";
        input .@input;
        if(!.@input){
            next;
            mes "[ Skull Girl ]";
            mes "Come back again~";
            close;
        }
        if(.@input < countitem(.skull_id)){
            next;
            mes "[ Skull Girl ]";
            mes "You don't have enough to exchange that many.";
            close;
        }
        next;
        delitem .skull_id,.skull_required * .@input;
        getitem .exchange_id,.exchange_qty * .@input;
        mes "[ Skull Girl ]";
        mes "Oh em geeee";
        mes "Yasss I hassss "+getitemname(.skull_id)+" nowwww!";
        mes "Me so happy, here take these "+getitemname(.exchange_id)+"!";
        close;
    
        
        OnInit:
            .skull_required,1; //number of skulls
            .skull_id,7179; //id # of skull
            .exchange_qty,1; //number of exchanged items
            .exchange_id,7539; //id # of exchanged item
        
        end;
    }
    
    

    Not tested, but it should work.

     

    Hey panda just got 1 error at the line "."skull_required,1;

    is it because im using eamod or smthing else?

  3. Hey guyz! , I need a script which says Hi to the player (such that i can edit the "mes" part later xD) that exchanges skulls for some item say poring coin. Unlike the usual scripts where u exchange 100 for 1 item i want to exchange 1 skull for 1 item. so the relation between the 2 should be 1skull = 1 item. plz help me :/ thanks in advance :D

  4. Guyz need suggestion for a huge map which is already in RO database to clone, it shouldnt have warps to other similar maps or anything, just one big map xD plz this is for a gold room for my server so i need all the help i can get :)

  5. Mind posting the script, or at least where the script says a team won? We can start from there.

     

    no idea cuz the script is the eamod bg thing which has bg common then flavius etc etc so dont know which to post here xD

    Edit: Found it , it wasnt in bg_common like u said the team won thing was there for each individial bg event script :)

  6. 	set .soundef_number, .soundef_number + 1;
     
    	switch (.soundef_number)
    	{
     
    		case 1:
    		soundeffect "hollen2.wav",0;
    		break;
     
    		case 2:
    		soundeffect "hollen3.wav",0;
    		break;
     
    		case 3:
    		soundeffect "hollen4.wav",0;
    		break;
     
    		case 4:
    		soundeffect "hollen5.wav",0;
    		break;
     
    	}
     
    	if (.soundef_number >= 3)
    	{
    		set .soundef_number, 0;
    	}
    

    Try removing those from the script itself and see if it still crashes.

     

    ROFL it worked u made my day thanks xD after all this time those damn sounds ;P

  7. Hey rA community! So yea the thing is , i want to change my BG drops from valour/other badges to an item say a ticket(ID1231?) where do i need to go to change the drop item id from the badges to this particular item? P.S. i use eamod but i think the common structure and location of item declaration will be the same. Thanks in advance :D

  8. The problem is in your client side try to look for those wav files and put it inside your data. your client might set to read data folder first.

     

    ever tried re-downloading kRO??

     

    ive tried removing the .wav too instead of crashing when i click on NPC it crashes when i enter the game xD

  9. Hey guyz, this is an old script that used to run on my server. now i changed pc and reinstalled everything and all of it works except this script. i click on it and the game crashes. But NOTE: this script used to work well and good. I use eamod rathena so here it goes:

    //<?> -o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
    //          Blacksmith/Card Removal Npc V.2.0         \\
    //                   by Luther                        \\
    //<?> -o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
    //          Blacksmith/Card Removal Npc V.2.0         \\
    //                   by Luther                        \\
    // Credit To : Mytzer,TyrNemisis,ShadowMaster and     \\
    // who ever made the Item Identifyer Deckard Cain.    \\
    // Whoms Scripts were used in making this npc.        \\
    // Also ToastOfDoom and Chachi911 for helping Debug it\\
    // (V.2.0 Uses the original eAthena Refine Script that\\ 
    //can have its rates configured in the refine_db.txt) \\
    // -o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o-o \\
    
    prontera,146,160,5	script	Expert Refiner	731,{
    	set .soundef_number, .soundef_number + 1;
     
    	switch (.soundef_number)
    	{
     
    		case 1:
    		soundeffect "hollen2.wav",0;
    		break;
     
    		case 2:
    		soundeffect "hollen3.wav",0;
    		break;
     
    		case 3:
    		soundeffect "hollen4.wav",0;
    		break;
     
    		case 4:
    		soundeffect "hollen5.wav",0;
    		break;
     
    	}
     
    	if (.soundef_number >= 3)
    	{
    		set .soundef_number, 0;
    	}
    
    callfunc "refinemainx","Advanced Hollgrehenn",1;
     
    	end;
    
    	}
    	
    //============================================================
    //= Main Refiner Function
    //============================================================
    //= To allow auto safe refining/multiple refining set the
    //= 0 after Melchior to '1' in the function call.
    //= To Change the Name of the NPC, just Edit it in the
    //= Beginning of the Script and the Melchior part of the
    //= Call function. 
    //============================================================
    function	script	refinemainx	{
    	set .@features,getarg(1);
      mes "[" + getarg(0) + "]";
    	mes "I can Refine, Extract Cards, Identify Items, and Repair Broken Items ^FF0000which of my services are you interested in?^000000";
    	menu "Refining",L_Refine,"Item Repair",L_Repair;
    	
      L_Refine:
      mes "refining eh?";
      next;
      mes "[" + getarg(0) + "]";
    	mes "I can refine all kinds of weapons, armor and equipment, so let me";
    	mes "know what you want me to refine.";
    	next;
      
      setarray .@position$[1], "Head","Body","Left hand","Right hand","Robe","Shoes","Accessory 1","Accessory 2","Head 2","Head 3";
    	set .@menu$,"";
    	for( set .@i,1; .@i <= 10; set .@i,.@i+1 )
    	{
    		if( getequipisequiped(.@i) )
    			set .@menu$, .@menu$ + .@position$[.@i] + "-" + "[" + getequipname(.@i) + "]";
     
    		set .@menu$, .@menu$ + ":";
    	}
    	set .@part,select(.@menu$);
    	if(!getequipisequiped(.@part)) {
    		mes "[" + getarg(0) + "]";
    		mes "You're not wearing";
    		mes "anything there that";
    		mes "I can refine.";
    		emotion 6;
    		close;
    	}
    	//Check if the item is refinable...
    	if(!getequipisenableref(.@part)) {
    		mes "[" + getarg(0) + "]";
    		mes "I don't think I can";
    		mes "refine this item at all...";
    		close;
    	}
    	//Check if the item is identified... (Don't know why this is in here... but kept it anyway)
    	if(!getequipisidentify(.@part)) {
    		mes "[" + getarg(0) + "]";
    		mes "You can't refine this";
    		mes "if you haven't appraised";
    		mes "it first. Make sure your";
    		mes "stuff is identified before";
    		mes "I can refine it.";
    		close;
    	}
    	//Check to see if the items is already +10
    	if(getequiprefinerycnt(.@part) >= 10) {
    		mes "[" + getarg(0) + "]";
    		mes "I can't refine this";
    		mes "any more. This is as";
    		mes "refined as it gets!";
    		close;
    	}
    	set .@refineitemid, getequipid(.@part); // save id of the item
    	set .@refinerycnt, getequiprefinerycnt(.@part); //save refinery count
    	switch(getequipweaponlv(.@part)){
    	case 0: 	//Refine Armor
    		set .@price,2000;
    		set .@material,985;
    		set .@safe,4;
    		break;
    	case 1: 	//Refine Level 1 Weapon
    		set .@price,50;
    		set .@material,1010;
    		set .@safe,7; 
    		break;
    	case 2: 	//Refine Level 2 Weapon
    		set .@price,200;
    		set .@material,1011;
    		set .@safe,6; 
    		break;
    	case 3: 	//Refine Level 3 Weapon
    		set .@price,5000;
    		set .@material,984;
    		set .@safe,5; 
    		break;
    	case 4: 	//Refine Level 4 Weapon
    		set .@price,20000;
    		set .@material,984;
    		set .@safe,4; 
    		break;
    	case 5: 	//Refine other stuff?
    		set .@price,2000;
    		set .@material,985;
    		set .@safe,4; 
    		break;
    	}
    	if(.@features != 1) {
    		mes "[" + getarg(0) + "]";
    		mes "To refine this I need";
    		mes "one ^003366"+getitemname(.@material)+"^000000 and";
    		mes "a service fee of " + .@price + " Zeny.";
    		mes "Do you really wish to continue?";
    		next;
    		if(select("Yes:No") == 2){
    			mes "[" + getarg(0) + "]";
    			mes "Yeah...";
    			mes "There's no need to";
    			mes "rush. Take your time.";
    			close;
    		}
    		if(getequippercentrefinery(.@part) < 100) {
    			mes "[" + getarg(0) + "]";
    			mes "Oh no! If I continue to";
    			mes "refine this, there's a risk it could";
    			switch(.@material) {
    			case 985:
    				mes "be destroyed! That means that ^FF0000this equipment^000000, and ^FF0000any cards^000000 or special properties added to this armor, ^FF0000will be gone^000000.";
    				break;
    			default:
    				mes "be destroyed, and you'd ^FF0000lose the weapon^000000, any ^FF0000cards in the weapon^000000,";
    				mes "or any added special properties.";
    				break;
    			}
    			next;
    			mes "["+getarg(0)+"]";
    			mes "I can't make it any clearer.";
    			mes "Once a weapon is destroyed,";	
    			mes "there's no getting it back.";
    			mes "You really have a chance to";
    			mes "^FF0000lose this weapon^000000 forever.";
    			mes "Do you still want to refine?";
    			next;
    			if(select("Yes:No") == 2){
    				mes "[" + getarg(0) + "]";
    				mes "I completely agree...";
    				mes "I might be a great refiner, but sometimes even I make mistakes.";
    				close;
    			}
    		}
    		if((countitem(.@material) < 1) || (Zeny < .@price)) {
    			mes "[" + getarg(0) + "]";
    			mes "You don't seem to have";
    			mes "enough Zeny or "+getitemname(.@material)+"...";
    			mes "Go get some more. I'll be";
    			mes "here all day if you need me.";
    			close;
    		}
    		set Zeny,Zeny-.@price;
    		delitem .@material,1;
    		if(getequipisequiped(.@part) == 0) { // hacker has removed the item (not changed, why?)
    			mes "[" + getarg(0) + "]";
    			mes "Look here... you don't have any Items on...";
    			close;
    		}
    		if(getequiprefinerycnt(.@part) != .@refinerycnt || getequipid(.@part) != .@refineitemid) { // hacker has changed the item
    			mes "[" + getarg(0) + "]";
    			Emotion e_an;
    			mes "Wait a second...";
    			mes "Do you think I'm stupid?!";
    			mes "You switched the item while I wasn't looking! Get out of here!";
    			close;
    		}
    		if(getequippercentrefinery(.@part) <= rand(100)) {
    			failedrefitem .@part;
    			mes "[" + getarg(0) + "]";
    			set .@emo,rand(1,5);
    			if (.@emo == 1) {
    				Emotion e_cash;
    			} else {
    				Emotion e_swt;
    			}
    			set .@lose,rand(1,3);
    			if (.@lose == 1) {
    				mes "OH! MY GOD!";
    				mes "Damn it! Not again!";
    				mes "I'm terribly sorry, but you know practice does make perfect.";
    				mes "Um, right? Heh heh...";
    			} else if(.@lose == 2) {
    				mes "Nooooooo!";
    				mes "It broke!";
    				mes "I-I'm sorry!";
    			} else {
    				mes "Crap!";
    				mes "It couldn't take";
    				mes "much more tempering!";
    				mes "Sorry about this...";
    			}
    			close;
    		}
    		mes "["+getarg(0)+"]";
    		successrefitem .@part;
    		Emotion e_heh;
    		set .@win,rand(1,3);
    		if (.@win == 1) {
    			mes "Perfect!";
    			mes "Heh heh!";
    			mes "Once again,";
    			mes "flawless work";
    			mes "from the master~";
    		} else if(.@win == 2) {
    			mes "Success...!";
    			mes "Yet again, my amazing";
    			mes "talent truly dazzles";
    			mes "and shines today.";
    		} else {
    			mes "Heh heh!";
    			mes "I'm all done.";
    			mes "No doubt, my work is";
    			mes "to your satisfaction.";
    			mes "Sheer, utter perfection~";
    		}
    		close;
    	}
     
    // New Refining Functions ========================
    	if(getequiprefinerycnt(.@part) < .@safe) {
    		mes "[" + getarg(0) + "]";
    		mes "I can refine this to the safe limit or a desired number of times... it's your choice...";
    		next;
    		set .@menu2,select("To the safe limit please.","I'll decide how many times.","I've changed my mind...");
    	} else set .@menu2,2;
    	switch(.@menu2){
    	case 1: 
    		set .@refinecnt,.@safe - getequiprefinerycnt(.@part);
    		break;
    	case 2:
    		next;
    		mes "[" + getarg(0) + "]";
    		mes "So how many times would you like me to refine your item?";
    		next;
    		input .@refinecnt;
    		set .@refinecheck,.@refinecnt + getequiprefinerycnt(.@part);
    		if (.@refinecnt < 1 || .@refinecheck > 10) {
    			mes "[" + getarg(0) + "]";
    			mes "I can't refine this item that many times.";
    			close;
    		}
    		if(.@refinecheck > .@safe) {
    			set .@refinecheck,.@refinecheck - .@safe;
    			mes "[" + getarg(0) + "]";
    			mes "This will try to refine the equipment " + .@refinecheck + " times past the safe limit. Your equipment may be destroyed... is that ok?";
    			next;
    			if(select("Yes...","No...") == 2){
    				mes "[" + getarg(0) + "]";
    				mes "You said so..Hmm so be it...";
    				close;
    			}
    		}
    		break;
    	case 3:
    		next;
    		mes "[" + getarg(0) + "]";
    		mes "You said so..Hmm so be it...";
    		close;
    	}
    	set .@fullprice,.@price * .@refinecnt;
    	mes "[" + getarg(0) + "]";
    	mes "That will cost you " + .@refinecnt + " " + getitemname(.@material) + " and " + .@fullprice + " Zeny. Is that ok?";
    	next;
    	if(select("Yes","No...") == 2){
    		mes "[" + getarg(0) + "]";
    		mes "You said so..Hmm so be it...";
    		close;
    	}
    	if(countitem(.@material) < .@refinecnt || Zeny < .@fullprice) {
    		mes "[" + getarg(0) + "]";
    		mes "Is that all you got? Unfortunately I can't work for you at a lower price. Try putting yourself in my shoes.";
    		close;
    	}
    	set Zeny,Zeny - .@fullprice;
    	delitem .@material,.@refinecnt;
    	while(.@refinecnt){
    		if (getequipisequiped(.@part) == 0) {
    			mes "[" + getarg(0) + "]";
    			mes "Look here... you don't have any Items on...";
    			close;
    		}
    		if (getequipid(.@part) != .@refineitemid || (.@menu2 == 1 && getequippercentrefinery(.@part) < 100)) {
    			mes "[" + getarg(0) + "]";
    			mes "Clan... No, but Did you imagine I could be so stupid !?!";
    			mes "You have changed it...";
    			mes "Go out before I stun you with my Hammer!!!";
    			close;
    		} 
    		mes "Clang, clang!!!";
    		if(.@menu2 == 2 && getequippercentrefinery(.@part) <= rand(100)) {
    			failedrefitem .@part;
    			emotion 23;
    			mes "[" + getarg(0) + "]";
    			mes "WAHHHH!!! I'm so sorry... I warned you this could happen...";
    			set .@refinecnt,.@refinecnt - 1;
    			if(.@refinecnt == 0) close;
    			mes "Here's the unused Zeny and Material back...";
    			getitem .@material,.@refinecnt;
    			set .@fullprice,.@refinecnt * .@price;
    			set Zeny,Zeny + .@fullprice;
    			close;
    		}
    		successrefitem .@part;
    		emotion 21;
    		set .@refinecnt,.@refinecnt - 1;
    		next;
    	}
    	mes "[" + getarg(0) + "]";
    	mes "All finished... Come again soon.";
    	close;		
     
    L_Repair:
    mes "Repairing it is!";
    next;
    if (getbrokenid(1) == 0) goto L_Waste;
    mes "[" + getarg(0) + "]";
    mes "Each repair costs 2000 zeny would you like to repair an item now?";
    menu "Yes",L_RepairItem,"No",L_Bye;
     
    L_RepairItem:
    if(zeny < (2000)) goto L_NoZeny;
    mes "Select the item to repair from the menu.";
    set @choice, select(getitemname(getbrokenid(1)), getitemname(getbrokenid(2)), getitemname(getbrokenid(3)), getitemname(getbrokenid(4)), getitemname(getbrokenid(5)), getitemname(getbrokenid(6)), getitemname(getbrokenid(7)), getitemname(getbrokenid(8)), getitemname(getbrokenid(9)), getitemname(getbrokenid(10)));
     
    set zeny, zeny - 2000;
    repair(@choice);
    goto L_Repaired;
     
    L_Waste:
    mes "[" + getarg(0) + "]";
    mes "Do not waste my time, you have no items in need of repair.";
    close;
    L_Repaired:
    mes "[" + getarg(0) + "]";
    mes "Your item has been repaired, please be more careful.";
    close;
     
    }
    

    Thanks in advance, Really need all the help i can get :) thnx again :D

  10. pls help. i already follow corectly step by step tutorial..

     

    this is my problem.. TIA

    attachicon.gifreport.jpg

    pls help. i already follow corectly step by step tutorial..

     

    this is my problem.. TIA

    attachicon.gifreport.jpg

    Problem Solved the solution is i patched rsu-kro-renewal-lite and rsu-kro-lite. thats it.

     

     

    now i have another problem.. please help TIA

    attachicon.gifproblem2.jpg

    make sure that ur sql login id is same as what u put in ur char server.conf/mapserver.conf and all those. check if ur sql admin is running it should be those not sure.

  11.  

     

    16. Change the ‘debug’ into ‘release’ like the picture below.

    visual1.png

     

    17. Block (select) char-server.sql, login-server.sql, map-server.sql, mapcache and then right click and choose ‘build selection’ like in the picture below:

     

    visual2.png

     

    Since the pictures are broken (at least for me they are), could someone tell me which 'debug' i need to change into 'release'?

    Also, could you give me some kind of pointer as what to do in step 17? Are you supposed to choose these files in a certain folder? Which one? /oops

     

    Edit: In both cases, I assume you should use Visual Basic, am I right?

     

    Thanks in advance  /kis

     

    Hello Lumi, in visual studio 2010, in the top centre area there will be a drop down box which shows the word "debug" . u click on it and ull see another option to "release" so select release. Then select all the map server . char server, mapcache and login server and rightclick = build selection nd ur done hope u got wat i tried to explain

     

     

    Hey, thanks for the reply, although i honestly cannot find the drop down box, i suppose my version of Visual Studio is newer or I have to change a setting perhaps?

     

    Here's a (HUGE) picture of what the window looks like when i open it:

    aa4cd842ffd8a3fef47b75773b435b48.png

     

    Do you have any idea what i should do?

     

     

    What version is that visual studio? cuz it looks like 2013 version ( not sure) in order to make rathena-10 work u need Visual studio 2010 (the sln is based on version of visual studio ) and the drop down box i mentioned is for visual studio 2010 

    • Upvote 1
  12.  

    16. Change the ‘debug’ into ‘release’ like the picture below.

    visual1.png

     

    17. Block (select) char-server.sql, login-server.sql, map-server.sql, mapcache and then right click and choose ‘build selection’ like in the picture below:

     

    visual2.png

     

    Since the pictures are broken (at least for me they are), could someone tell me which 'debug' i need to change into 'release'?

    Also, could you give me some kind of pointer as what to do in step 17? Are you supposed to choose these files in a certain folder? Which one? /oops

     

    Edit: In both cases, I assume you should use Visual Basic, am I right?

     

    Thanks in advance  /kis

     

     

    Hello Lumi, in visual studio 2010, in the top centre area there will be a drop down box which shows the word "debug" . u click on it and ull see another option to "release" so select release. Then select all the map server . char server, mapcache and login server and rightclick = build selection nd ur done hope u got wat i tried to explain

    • Upvote 1
  13. Ok so this is tough to explain but it kinda shares ideas from other available scripts ( i think but its only the timer challenge part thats the same)

     

    So i would like to request for a Guild mission script where the following are done:

    1.Each Guild member of a guild will be given a challenge with random time limits. ( it could even be impossible like hunting 6 glooms in 2 minutes LOL)

     random in the sense mobs , MvPs all times of monsters can be given as the challenge.

    2.Based on difficulty : points are alloted : Normal mobs : 30 points , MvPs: 100 points. 

    3.Each guild member can only do 1 challenge a day so basically the challenges get refreshed the next day :D

    4.Monthly Guild rankings based on these points collected by members

    5.Winning guild will get a shower ( each member gets a certain item like item2436)

     

    btw i dont think it matters much but i use eamod rathena  :X

     

  14. Guys i was wondering if there was a link between script.h /script.c with script_athena.conf and the rest conf files related to scripts? If so plz also tell me the other src files related to this conf file :)

  15. // --------------------------------------------------------------
    // -                       Custom Scripts                       -
    // --------------------------------------------------------------
    //      All the custom scripts, remove the '//' to enable...     
    //      Place your scripts here!
    
    //npc: npc/location/to/script.txt
    
    put your script here before all the other ones.

     

    Try to put your custom scripts at the begining of your scripts_custom.conf we never know.

    if it works... -_-

    Nope i tried that xD

    I had the same problem loading some custom. I tryed to load some npc that wasn't available (npc: npc/location/to/script.txt didn't exist for example), after that, I couldn't load more npc. Maybe you have the same strange things. Try to put the load at the beginning.

    at the beginning? can u be more specific? :/

    Edit the first .conf where the npc are load, and try to put your npc there. If it loads, you have maybe somewhere a npc that you can't load (because it doesn't exist) and make other npc fail loading. I don't know if it'll help, but I had this kind of problem.

    Nope i tried that too i guess ill have to manually load them thanks alot for ur help u two :)

  16. I had the same problem loading some custom. I tryed to load some npc that wasn't available (npc: npc/location/to/script.txt didn't exist for example), after that, I couldn't load more npc. Maybe you have the same strange things. Try to put the load at the beginning. 

    at the beginning? can u be more specific? :/

     

     

    When you reloadscript and load this NPC only it doesn't load other NPCs? And you don't get any sql errors? It's really weird..

     

    yea kuro rAmod is screwed up lol

  17. It works for me, normally all your scripts should load when you execute the command '@loadnpc .../.../yourscript.txt

     

    Does your mapserv show sql errors?

     

    For the limit, you should be able to put as many scripts as you want as far as you don't exceed 128 so 16 shouldn't be a problem.

    Does the script loadings fail or does it just not load them?

    Again if you have errors please show them to me  :)

    No errors at all. They just dont get loaded, i thought its the scripts fault but it worked when i manually used @loadnpc frm ingame :( no errors frm the script. And when i reload script everything disappears and i have to relogin to make it reappear. xD

  18. ragnarok is a SQL table, it stores data from the game.

    I don't remember the old times when I created my server so I can't tell you^^

     

    Hey kuro badnews :( the sql thing doesnt work. even now i have to relogin if i use .@reloadscript.

    Another issue is that not all npcs are loaded even if i put them in the script(only 5 out of 16 load) is there a limit set by anychance? thanks in advance :I

×
×
  • Create New...