Jump to content

Ninja

Members
  • Posts

    513
  • Joined

  • Last visited

  • Days Won

    4

Posts posted by Ninja

  1. Well, before I do anything with your script, You should be aware that first of all, you will not be able to delete items of players that are online because items get saved when players logout.  Second,  you may make sure that you are using the right group id in your script. I guess setting it to < 99 Will be a better choice. Then try it again and let us know the results. :)

  2. 9 hours ago, skyroofficial said:

    yes but you know.. there are alot.. lots of the list on the logs..:ani_swt3:

    so thats why i tried to make a separate logs just to monitor those specified items in that specified npc that i made :meow:

    anyways , thanks for the reply tho /no1

    You only need to learn how to use SQL and in my opinion it is fairly easy. :)

  3. I think it is. Just a combination of logics between OnPCLoadMapEvent, OnPCStatCalcEvent and Strcharinfo. Or if you're into it, manually do it via database onequip script.

     

    //edit

    You can also create a mapflag and a new script event like OnPCEquipEvent via source modding

    • Upvote 1
  4. UPDATE inventory 
    INNER JOIN item_db_re ON inventory.nameid = item_db_re.id
    SET inventory.refine={CHANGE THIS VALUE TO DESIRED REFINE}
    WHERE item_db_re.type IN ({PUT ALL ITEM TYPES SEPARATED BY COMMAS});

    https://github.com/rathena/rathena/wiki/Custom_Items

    refer to the link on item types.

    this method will only work if the person who owns the item is offline.

    • Upvote 1
  5. Yes, one idea is to create the "party registration" in such a way that it takes note of the party name instead of the names of the people who registered then create an instance assign it to 1 party then just party warp all the other remaining ones.

  6. NPC#1

    prontera,157,171,4	script	Tratoa	489,{
    if (quest_tratoa == 1) {
    	mes "Que bueno terminaste la quest";
    	mes "Yo tambien puedo enviarte a Tradoa";
    	close;
    }
    mes "Esta es la ques que te llevara al mitico mapa Tratoa";
    next;
    mes "Tratoa esta alado de la carcel de mosntruos llamado Las Tinieblas";
    next;
    mes "Los mosntruos escaparon de las Tienieblas";
    mes "Por lo cual constantemente mosntrus deviles y poderosos entran a tratoa diariamente";
    next;
    mes "Una ves completada esta Quest tendras acseso a Tratoa";
    next;
    mes "Primero que nada deves ablar con siertas personas dispersadas por todo Rune Midgar";
    next; 
    mes "Al final de todo deveras ablar con Gonsalo esta alado mio... quien es el que te enviara a Tratoa y con el deveras ablar para poder ir siempre a tratoa";
    next;
    mes "Ahora ve y abla con Stefan que esta en izlude";
    set quest_tratoa, 1;
    close;
    }

     

    NPC#2

    nif_fild01,273,245,5	script	Skull Trader	910,{
    
    mes "[ Skull Girl ]";
    if (quest_tratoa == 1) {
    mes "Hola soy el creador de las bloody branch";
    mes "no le digas a nadie";
    mes "Para hacer las bloody branch necesito lo siguiete";
    next;
    mes " "+.skull_required+" "+getitemname(.skull_id)+"";
    mes " "+.skulla_required+" "+getitemname(.skulla_id)+"";
    mes " "+.skulls_required+" "+getitemname(.skulls_id)+"";
    mes .exchange_qty+"x "+getitemname(.exchange_id);
    mes "How many ^FF0000Bloody Branch^000000 do you want to exchange?";
    input .@input;
    if(!.@input){
    	next;
    	mes "[ Skull Girl ]";
    	mes "Come back again~";
    	close;
    }
    //check if player has the needed amount of items
    if(((.@input * .skull_required) < countitem(.skull_id)) || ((.@input * .skulla_required) < countitem(.skulla_id)) || ((.@input * .skulls_required) < countitem(.skulls_id))){
    	next;
    	mes "[ Skull Girl ]";
    	mes "You don't have enough skulls to exchange that many.";
    	close;
    }
    next;
    delitem .skull_id,.skull_required * .@input;
    delitem .skulla_id,.skulla_required * .@input;
    delitem .skulls_id,.skulls_required * .@input;
    getitem .exchange_id,.exchange_qty * .@input;
    mes "[ Skull Girl ]";
    mes "Oh em geeee";
    mes "Yasss I hassss "+getitemname(.skull_id)+" "+getitemname(.skulla_id)+" "+getitemname(.skulls_id)+" nowwww!";
    mes "Me so happy, here take these "+getitemname(.exchange_id)+"!";
    close;
    }
    
    OnInit:
    set.skull_required,20; //number of skulls
    set.skulla_required,20; //number of skulls
    set.skulls_required,20; //number of skulls
    set.skull_id,604; //id # of skull
    set.skulla_id,7203; //id # of skull
    set.skulls_id,7347; //id # of skull
    set.exchange_qty,1; //number of exchanged items
    set.exchange_id,12103; //id # of exchanged item
    
    end;    
    }

     

    Your script put an NPC inside another NPC which is a bad practice.

    Also, your checking script was a nested if statement and it would be bypassed if someone has the correct amount of 1 type of skull.

    Please try the scripts above :)

  7. 2 hours ago, NakedWolf said:

    and also on my console i get a Warning : incorrect use of "close: command!

    This shows up when you did not do any prior "mes" commands before closing it.

    What I would suggest is to put something like 

    mes "You have successfully retrieved your Vote points!";

    before "close"

    • Upvote 1
  8. 1 hour ago, Playtester said:

    Actually buy price should be set to 2z so that the sell price is 1z.

    If you are using text files, you can easily edit them with a spreadsheet editor (Excel or Open Office). If you are using a database, you can pretty much change all with a simple SQL command.

    UPDATE item_db set `price_sell` = 1 where 1=1;
    UPDATE item_db2 set `price_sell` = 1 where 1=1;
    UPDATE item_db_re set `price_sell` = 1 where 1=1;
    UPDATE item_db2_re set `price_sell` = 1 where 1=1;

     

×
×
  • Create New...