Jump to content

Patskie

Forum Moderator
  • Posts

    1,702
  • Joined

  • Last visited

  • Days Won

    14

Community Answers

  1. Patskie's post in Ghost PvP and suicide was marked as the answer   
    Change :
    if(getgmlevel() >= .GMLevel){ end; } to :
    if ( getgmlevel() >= .GMLevel || killedrid == getcharid(3) ) { end; }
  2. Patskie's post in need help for commands was marked as the answer   
    Try :
    -    shop    dynamicshop    -1,501:20 -    script    Sample    -1,{          OnConvert:         .Coin = 674; // Bronze coin, mithril coin etc.         .Card = 7227; // TCG card, PODS etc.         .Rate = 10; // n coin = 1 card         mes "I can covert your " +.Rate+ "x " +getitemname(.Coin)+ " to 1 " +getitemname(.Card);         next;         mes "How many " +getitemname(.Coin)+ " would you like to convert?";         next;         input [email protected];         if ( [email protected] || countitem( .Coin ) < ( .Rate * [email protected] ) ) {             mes "Invalid amount";             close;         }         mes "Here you go!";         close2;         getitem .Card, [email protected];         delitem .Coin, ( [email protected] * .Rate );         end;              OnShop:         callshop "dynamicshop",1;         npcshopattach "dynamicshop";         end;         OnBuyItem:         for ( set [email protected], 0; [email protected] < getarraysize(.items); set [email protected], [email protected] + 2 ) {             for ( set [email protected], 0; [email protected] < getarraysize(@bought_nameid); set [email protected], [email protected] + 1 ) {                 if ( @bought_nameid[[email protected]] == .items[[email protected]] ) {                     if ( checkweight( @bought_nameid[[email protected]], @bought_quantity[[email protected]] ) ) {                         if ( countitem(.currency) < .items[[email protected]+1] || countitem(.currency) < ( .items[[email protected]+1] * @bought_quantity[[email protected]] ) )                             dispbottom "You don't have enough " +getitemname(.currency)+ " to purchase this item.";                         else {                             delitem .currency, .items[[email protected]+1] * @bought_quantity[[email protected]];                             getitem @bought_nameid[[email protected]], @bought_quantity[[email protected]];                         }                     } else dispbottom "You cannot carry out more items with you";                 }             }         }         deletearray @bought_quantity, getarraysize(@bought_quantity);         deletearray @bought_nameid, getarraysize(@bought_nameid);         end;          OnInit:         set .currency, 7227; // TCG is used to buy items         setarray .items, 4001,5,7227,100; // Usage : <item id>,<price>         npcshopitem "dynamicshop",0,0;         for ( set [email protected], 0; [email protected] < getarraysize(.items); set [email protected], [email protected] + 2 )             npcshopadditem "dynamicshop", .items[[email protected]], .items[[email protected]+1];         bindatcmd "converter", strnpcinfo(3)+ "::OnConvert";         bindatcmd "donation", strnpcinfo(3)+ "::OnShop";         end; } Some configurations for @converter : 
    .Coin = 674; // Bronze coin, mithril coin etc. .Card = 7227; // TCG card, PODS etc. .Rate = 10; // n coin = 1 card and for @donation :
    set .currency, 7227; // TCG is used to buy items setarray .items, 4001,5,7227,100; // Usage : <item id>,<price>
  3. Patskie's post in Displaying player's Job was marked as the answer   
    This?
    announce "Party: [" +jobname(Class)+ "] " +strcharinfo(0)+ " (" +BaseLevel+ "/" +JobLevel+ ") is looking for a party!",0;
  4. Patskie's post in getcharip() with variable was marked as the answer   
    Alternative : 
    prontera,150,150,3    script    Sample    952,{     //input character name     input [email protected]$;     mes getcharip(getcharid(3, [email protected]$));     close; }
  5. Patskie's post in About KoE Prize was marked as the answer   
    // KoE Exit
    guild_vs1,49,56,5    script    Exit#KoE    51,{
        mes "[Exit]";
        mes "See ya.";
        if ( getcharid(2) == $koegid && getguildmaster(getcharid(2)) == strcharinfo(0) )
            getitem 12039, 1; // configure prize here
        next;
        warp "Save",0,0;
        close;
    }

  6. Patskie's post in NPC Healer For The Killer was marked as the answer   
    Refer to Basic_Scripting
    - <TAB> script <TAB> Sample <TAB> -1,{     OnPCKillEvent:         if ( strcharinfo(3) == "your map" ) {             if ( attachrid( getcharid( 3, strcharinfo( 0 ) ) ) ) {                 if ( Hp && ( Hp != MaxHp ) )                     percentheal 100,100;             }         } }
  7. Patskie's post in free stat 1k like freebies was marked as the answer   
    This : 
    -    script    Sample    -1,{     OnPCLoginEvent:         if ( !#FreeStats ) {             StatusPoint += 1000;             set #FreeStats, 1;         }         end; }
  8. Patskie's post in own points was marked as the answer   
    Sample : 
    prontera,150,150,0    script    Sample    100,{     set #OWNPOINTS, #OWNPOINTS + 5;     dispbottom "You now have " +#OWNPOINTS+ " own points.";     end; } Every time people click on this npc. They will have additional 5 #OWNPOINTS credited on their accounts. The dispbottom command will show how many own points a certain player has. If you want items to be bought by your own custom points then i suggest you use @Emistry multi currency shop ( http://rathena.org/board/files/file/2504-multi-currency-shop/ ). It's easy to configure. 
  9. Patskie's post in Breaker Points Help ! was marked as the answer   
    You miss a semi colon here :
    set breaker_tcg, breaker_tcg + [email protected] should be :
    set breaker_tcg, breaker_tcg + [email protected];
  10. Patskie's post in How to modify Skills to make them not to work on woe? was marked as the answer   
    You can disable skill here :
     
    Renewal :
    db/re/skill_nocast_db.txt
     
    Pre-Renewal :
    db/pre-re/skill_nocast_db.txt
  11. Patskie's post in Map Announcer was marked as the answer   
    http://rathena.org/board/topic/80235-custom-go/?p=187683
     
    or 
     
    http://rathena.org/board/topic/87206-mapname-self-announce/
  12. Patskie's post in Hourly Points was marked as the answer   
    1. 
    //===== Hourly Points Script ========================================= //===== By: ========================================================== //= GorthexTiger modified by Nibi //===== Current Version: ============================================= //= 1.0 //===== Compatible With: ============================================= //= Any eAthena Version //===== Description: ================================================= //= Get Points every successful hours of gameplay, you cannot get //= the points even if you miss a second or a minute. A player will //= get a very big bonus if they played 3 hours consecutively //= or without logging out of the game. If the player is vending //= the script will then stop. //===== Additional Comments: ========================================= //= You can modify the script to your liking. //= The default points is Kafrapoints change it anyway if you like. //= 1.1 = Check Chatting too //= 1.2 = 5 Minute Idle Check & @at/@autotrade check. //= 1.3 = Corrected the current balance line on 12 Hours Consecutive //==================================================================== -    script    hourlypoints    -1,{ //--Start of the Script OnPCLoginEvent:     addtimer .timer,"hourlypoints::OnPointGet";     end;      OnPointGet:     while(checkvending() >= 1 || checkchatting() == 1 || checkidle()>=.dlimit) {         sleep2 .delay;         if([email protected]$=="")             dispbottom set([email protected]$,"The hourly points event haulted because you were vending, chatting, or idle.");     }     set #CASHPOINTS, #CASHPOINTS + .point_amt;     dispbottom "You received "+.point_amt+" Kafrapoints by staying ingame for 1 hour";     dispbottom "Current Balance = "+#CASHPOINTS+" Kafrapoints";     set @consecutive_hour, @consecutive_hour + 1;     //Check for 3 hours consecutive     if(@consecutive_hour == 3) {         set @consecutive_hour,0;         set #CASHPOINTS, #CASHPOINTS + .cpoint_amt;         dispbottom "You receive "+.cpoint_amt+" Kafrapoints in playing for 12 consecutive hours";         dispbottom "Current Balance = "+#CASHPOINTS+" Kafrapoints";     }     addtimer .timer,"hourlypoints::OnPointGet";     end; OnInit:     set .timer, 1000*60*60; //Timer in milliseconds.     set .cpoint_amt, 50; //Points gained for consecutive time online.     set .point_amt, 10; //Normal points gained.     set .delay, 1000; //Delay for idle re-check check.     set .dlimit, 60*5; //Stop points if afk greater then in seconds. } 2. Use @check to check cashpoints
    -    script    Sample    -1,{     OnInit:         bindatcmd "check",strnpcinfo(3)+"::OnCheck";         end;     OnCheck:         dispbottom "You have " +#CASHPOINTS+ " cash points.";         end; } 3. http://rathena.org/board/files/file/2504-multi-currency-shop/
  13. Patskie's post in Special Announcer was marked as the answer   
    Try  (spawn time is every 2 hours) :
    -    script    Sample    -1,{ OnInit:     announce "Dark Lord has been summoned!",0;     monster "prontera",0,0,"Dark Lord",1272,1,strnpcinfo(1)+"::OnKill";     end;      OnKill:     announce "Dark Lord has been killed by " +strcharinfo(0)+ "!",0;     end;      OnMinute00:     if ( ( gettime(3) % 2 ) == 0 )         donpcevent strnpcinfo(1)+"::OnInit";     end;          }
  14. Patskie's post in How to do put EDP in sinx card was marked as the answer   
    bonus3 bAutoSpell,"ASC_EDP",1,1;  
    Refer to : doc/item_bonus.txt
  15. Patskie's post in monster spawn every 30min was marked as the answer   
    Try this one : 
    -    script    Sample    -1,{     OnInit:         setarray .mob_id[0],1002,1113,1399,1159;         set .size, getarraysize(.mob_id);         set .random, rand(.size);         set .amount, 1; // amount of monster spawned set .monster, .mob_id[.random];         end;              OnMinute00:     OnMinute30:         monster "prontera",150,150,getmonsterinfo(.monster, 0),.monster,.amount,strnpcinfo(0)+ "::OnKill";         announce getmonsterinfo(.monster, 0)+ " has been spawned in prontera",0;         end;              OnKill:         announce "The monster " +getmonsterinfo(.monster, 0)+ " has been killed",0;         end; } Screenshot : 

  16. Patskie's post in Problem about WOE REWARD was marked as the answer   
    Search on your script :
    // Rewards per castle. // -- when given directly: <itemID>,<amount>{,<itemID>,<amount>,...} // -- via mail (option 2): <itemID>,<amount>,<Zeny> setarray .Reward[0],9524,200,675,50;
  17. Patskie's post in How to make this script work only during woe and when it ends the scripts ends too? was marked as the answer   
    Try this one : 
    function    script    Sample    {     if( ( agitcheck() || agitcheck2() ) && isequippedcnt( 4357,4359,4361,4363,4365,4367,4457,4463,4462,4459,4456,4458,4441,4408,4430,4263,4403,4419,4376,4399,4407,4451 ) > 2 ){         message strcharinfo(0),"You can NOT wear more than 2 of this cards, Biolab, Nidhoggur, Naght, Tendrilrion, Mammoth, Rata, Duneyrr,Fallen Bishop, Gloom, Ifrit, Incantation, Kiel, Ktullanux, Tanee, Thanatos, Randgris, Crothen.";         nude;     }     return; }
  18. Patskie's post in Change Dice Event timer was marked as the answer   
    Try this one. Trigger time :  2:30 AM, 5:00 AM, 7:30 AM, 10:00 AM, 12:30 PM, 3:00 PM, 5:30 PM, 8:00 PM, 10:30 PM
    OnClock0230: OnClock0500: OnClock0730: OnClock1000: OnClock1230: OnClock1500: OnClock1730: OnClock2000: OnClock2230:     announce "Dice: Preparense! El Evento Dice esta por dar Inicio",0;     sleep2 10000;     announce "Dice: Para acceder a el evento vayan a la Ciudad de Prontera y entren en un Portal que aparecera en el jardin.",0;     sleep2 10000;     announce "Dice: Despues de 1 minuto el portal se cerrara.",0;     sleep2 10000;     announce "Dice: Recuerden entrar al portal los que quieran participar.",0;     enablenpc "prtevent";     initnpctimer;     end;
  19. Patskie's post in Autokick Vender's after time was marked as the answer   
    Try : 
    -    script    Sample    -1,{     OnInit:         addtimer 5000,strnpcinfo(0)+"::OnCheck"; // 5 seconds         end;              OnCheck:         if ( checkvending() )             atcommand "@kick " +strcharinfo(0);         end;          }
  20. Patskie's post in Mob item drop. was marked as the answer   
    Try :
     
    -    script    Sample    -1,{     OnInit:         set .item_id,7227;         set .amount,10;         monster "prontera",0,0,"Poringer",1002,1,strnpcinfo(0)+"::OnKill";         end;              OnKill:         for (set [email protected],0; [email protected] < .amount; set [email protected],[email protected]+1) {             do {                 set [email protected], rand(1,500);                 set [email protected], rand(1,500);             } while (!checkcell("prontera",[email protected],[email protected],cell_chkpass));             makeitem .item_id,1,"prontera",[email protected],[email protected];         }         end; }
  21. Patskie's post in PVP Arena script help was marked as the answer   
    Change the case part by this :
        case 1:    // PVP Square         if (getmapusers(.pvp_square$) > 99) callsub S_full;         callsub S_payment;         warp .pvp_square$,0,0;         announce strcharinfo(0)+ " enter " +.pvp_square$+ "",0;         end;     case 2:    // PVP Nightmare         if (getmapusers("guild_vs3") > 99) callsub S_full;         callsub S_payment;         warp "guild_vs3",0,0;         announce strcharinfo(0)+ " enter guild_vs3",0;         end;     case 3:    // PVP LowLevel         if (getmapusers("guild_vs1") > 99) callsub S_full;         if (BaseLevel > 150) { // Edit 150 to any maximum Lvl of a player can enter this room             mes "only Base Level 1 - 150 may enter.";             close;         }         callsub S_payment;         warp "guild_vs1",0,0;         announce strcharinfo(0)+ " enter guild_vs1",0;         end;     case 4:    // PVP NoPotion         if (getmapusers("pvp_y_8-2") > 99) callsub S_full;         for( set [email protected],0; [email protected]<getarraysize(.NoPotion_ids); set [email protected],[email protected]+1 ) {             if (countitem(.NoPotion_ids[[email protected]])) {                 mes "You can not bring potions in this pvp.";                 close;             }         }         callsub S_payment;         warp "pvp_y_8-2",0,0;         announce strcharinfo(0)+ " enter pvp_y_8-2",0;         end;     case 5:    // Non Donator PVP         if (getmapusers("[email protected]") > 99) callsub S_full;         for( set [email protected],0; [email protected]<getarraysize(.NoDonator_ids); set [email protected],[email protected]+1 ) {             if (countitem(.NoDonator_ids[[email protected]])) {                 mes "You can not bring God items in this pvp.";                 close;             }         }         callsub S_payment;         warp "[email protected]",0,0;         announce strcharinfo(0)+ " enter [email protected]",0;         end;     Case 6: // Baby PvP Room         if (getmapusers("pvp_y_1-2") > 99) callsub S_full;         if (class < 4023 || class > 4045) goto L_NotBaby;         callsub S_payment;         warp "pvp_y_1-2",0,0;         announce strcharinfo(0)+ " enter pvp_y_1-2",0;         end; Put this :
    OnPCKillEvent:     if ( strcharinfo(3) == "your_pvp_map" )         announce strcharinfo(0)+ " killed " +rid2name(killedrid);     end;
  22. Patskie's post in Hourly Points Problem was marked as the answer   
    Use this http://rathena.org/board/files/file/2504-multi-currency-shop/ and set currency depending on your hourly point prize
  23. Patskie's post in zeny on mob was marked as the answer   
    Add before npc/guild/agit_main.txt#L142 :
    set Zeny, Zeny + 1000000; announce "" +strcharinfo(0)+ " gained 1M for breaking the Emperium",0;
  24. Patskie's post in Requesting Askydun Warper npc was marked as the answer   
    Something like this :
    prontera,150,150,0    script    Warp NPC    100,{     set .npc$, "[" +strnpcinfo(1)+ "]";     mes .npc$;     mes "Where would you like to be warped to?";     next;     switch(select("Askydun:Poring Market:Vending Area:PvP Room")) {         case 1:                 if ( #done )                      warp "your map",0,0;                 else                      mes "You have not completed the Askydun Quest";                 break;         case 2:                 warp "poring_map",0,0;                 break;         case 3:                 warp "vending_map",0,0;                 break;         case 4:                  warp "pvp_map",0,0;                 break;     }     close; } On your quest script, after completing it, add this :
    set #done, 1;
  25. Patskie's post in Gold Room Party Style. was marked as the answer   
    Change "your map" to your gold room map
    -    script    Kill    -1,{     OnInit:         monster "your map",0,0,"Gold Digger",1110,100,strnpcinfo(1)+ "::OnKill";         end;          OnKill:         if ( !getcharid(1) ) {             getitem 969,1;             end;         } else {             getpartymember getcharid(1),1;             .count = [email protected]; if ( .count >= 5 || getpartyleader(getcharid(1), 2) != getcharid(0) ) end;             if ( .count >= 2 ) {                 getitem 969, .count;                 end;             } else {                 getitem 969,1;                 end;             }         } }
×
×
  • Create New...

Important Information

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