Jump to content

Penicilina

Members
  • Posts

    5
  • Joined

  • Last visited

Posts posted by Penicilina

  1. 4 hours ago, Almond Snicker said:

    This is definitely an option, thanks!

    But, how about the script triggers whenever you cross a certain cell? do you happen to know how others do that? 

    From the documentation, pasted only parts referring to the discussed topic:

    <map name>,<x>,<y>,<facing>%TAB%script%TAB%<NPC Name>%TAB%<sprite id>,<triggerX>,<triggerY>,{<code>}

    A '-1' Sprite ID will make the NPC invisible (and unclickable).

    TriggerX and triggerY, if given, will define an area, centered on NPC and
    spanning triggerX cells in every direction across X and triggerY in every
    direction across Y. Walking into that area will trigger the NPC. If no
    'OnTouch:' special label is present in the NPC code, the execution will start
    from the beginning of the script, otherwise, it will start from the 'OnTouch:'
    label. Monsters can also trigger the NPC, though the label 'OnTouchNPC:' is
    used in this case.

    Thus, taking @Poring King's first example, you would declare the NPC like this I think

    prontera,0,0,3	script	TouchMe	-1,11,11{
  2. 13 minutes ago, Poring King said:
    
    prontera,0,0,3	script	TouchMe	-1,{
    
    OnTouch:
    		getitem 7227,1;
    		dispbottom "You just receive an item from GameMaster Team";
    
    }

    Not tested just made this from phone

    This will give away the item everytime though.

    You will probably want to add a check to avoid that. I would go with making one of the given items transaction restricted so it is always being carried and can look for it like this:

    if(countitem(7227)==0) getitem 7227,1;

  3. I went ahead and slightly modified buraquera's script

    map,x,y,pos	script	Prontera Warper::PrtWarper	SPRITE_ID,{
    	if(getgmlevel()==99){
    		switch(select("Warp to Prontera","Change Password")){
    			case 1:
    				mes "Enter Password";
                    input .@pass$;
                    if (.@pass$ == $pass$){
                        warp "prontera",0,0;
                        end;
                    }
    				mes "Wrong Password";
    				close;
    				break;
                case 2:
    				mes "Enter new Password";
                    input $pass$;
                    mes "Password updated";
                    close;
                    break;
    		}
    	}
    	end;
    }

    Try this

    Of course remember to edit the map, coordinates and sprite in order for the NPC to appear

    Also note that this will warp into a random position because of 0,0 coordinates

    please let me know if it works

    • Upvote 1
  4. Hi

    As it has been stated this seems rather complex as it is more than just a couple of NPCs, but I'm interested nonetheless. I can help you develop and implement such system, at least in the early stages as my scripting knowledge may come short at some point. But first I need to know: do you have any means for testing this stuff? Because I don't really have free access to a server myself and this will obviously require a lot of trial and error.

    Regards

  5. Hi

    try adding an extra innerly nested if statement

    if(sd->inventory.u.items_inventory[i].card[0] || sd->inventory.u.items_inventory[i].type == 6){
    	storage_storageadd(sd, &sd->storage, i, sd->inventory.u.items_inventory[i].amount);
    }
    

    although i think this may send to storage blacksmith forged weapons

    if you test it please let me know wether it works

    byes

×
×
  • Create New...