Jump to content

Patskie

Members
  • Posts

    1702
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Patskie

  1. What emulator are you using?
  2. Patskie

    Vip login to

    Can you elaborate more on this?
  3. Try : prontera,150,150,0 script Sample 100,{ function Display; if ( getgmlevel() < 60 ) end; set .@npc$, "[ " +strnpcinfo(1)+ " ]"; mes .@npc$; mes "What do you want, " + (Sex ? "Sir" : "Maam") + " " +strcharinfo(0)+ "?"; next; switch( select("PVP1:GVG:BG:Cancel") ) { case 1: addrid(0); Display("A GM wishes to observe the PVP, proceed there if you wish to join."); break; case 2: addrid(0); Display("A GM is calling all guilds wishing to fight in the GVG arena."); break; case 3: addrid(0); Display("A GM wishes to start the Battlegrounds, proceed to BG arena if you wish to participate."); break; case 4: close; break; default: break; } end; function Display { dispbottom getarg(0); return; } }
  4. http://rathena.org/wiki/Adding_a_Script or http://lmgtfy.com/?q=adding%20a%20script%20rathena http://www.youtube.com/watch?v=Az0C1k9AU_o
  5. trunk/npc/mapflag/pvp.txt" class="bbc_url" title="SVN" rel="external">trunk/npc/mapflag/pvp.txt izlude<TAB>mapflag<TAB>pvp
  6. Yes. Read @Capuche statement
  7. Change : case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023); to : case 0: Job_Menu(1,2,3,4,5,6,23,4046);
  8. You can try this one http://rathena.org/board/topic/80119-guild-package-points/ or this one http://rathena.org/board/topic/70613-utility-guild-pack-giver/
  9. Change : OnInit: .register_limit = 10; // maximum amount of players can play in this event .ann_survive = 30000; // the rate at which announce the players that still survive in devil square, in mili-seconds bindatcmd "devilsquare", strnpcinfo(0)+"::Onatcmd", 99,100; end; to : OnInit: waitingroom "Devil Square",0; .register_limit = 10; // maximum amount of players can play in this event .ann_survive = 30000; // the rate at which announce the players that still survive in devil square, in mili-seconds bindatcmd "devilsquare", strnpcinfo(0)+"::Onatcmd", 99,100; end;
  10. Follow the syntax : map,x,y,z<TAB>shop<TAB>Name<TAB>Sprite,ID,Cost,..... Sample : prontera,150,150,0 shop Shield 100,2102:10000,2106:60000,2108:60000,2110:85000,2114:30000,2116:30000,2123:50000
  11. Test his updated script
  12. Try : Port : 3306 Database Name : yourdatabasename // database name which you use on your server Username : root Password : yourpassword // database password Table Name : login Username Field : userid Password Field : user_pass
  13. Try change : if( !.@guild ) To : if( !.@guild || !agitcheck() || !agitcheck2() ) end;
  14. Try this one : //===== Custom Script ======================================== //= Promotional Codes //===== By: ================================================== //= Arzzzae //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= Latest svn //===== Description: ========================================= //= Adds 2 custom atcommands. @claim for players to claim //= promotional code created by Game Masters. @code is for //= administrators to add/view/delete promotional codes. //===== Additional Comments: ================================= //= 1.0 - Initial Release. //============================================================ - script promoclaim -1,{ OnInit: bindatcmd "claim",strnpcinfo(3)+"::OnClaim"; bindatcmd "code",strnpcinfo(3)+"::OnEditCode",99,0; end; OnClaim: mes "^FF0000 Enter a new promotional code."; input .@pc$; close2; if ( query_sql("SELECT nameid,amount FROM `reward_codes` WHERE `code`='"+escape_sql(.@pc$)+"'", .@item,.@amt) == 0) { dispbottom "Invalid promotional code."; end; } else if (query_logsql("SELECT code,account_id FROM `rewardlogs` WHERE `code`='"+escape_sql(.@pc$)+"' AND `account_id`='"+getcharid(3)+"'")) { dispbottom "You already claimed this promotional code."; end; } else { getitem .@item,.@amt; dispbottom "Promotional code successfuly redeemed."; query_logsql("INSERT INTO `rewardlogs` (code,redeem_time,account_id) VALUES ('"+.@pc$+"', NOW(), '"+getcharid(3)+"')"); query_sql("DELETE FROM `reward_codes` WHERE `code` = '" +escape_sql(.@pc$)+ "'"); end; } OnEditCode: menu "Setup a new promotional code",ncode,"View existing codes",vcode,"Delete exisiting codes",dcode,"Cancel",cancel; ncode: set .@clength,10; //Promotional Code Length input .@pcode$; if (getstrlen(.@pcode$)!=.@clength) { dispbottom "Codes must be 10 characters long."; end; } mes "You have entered ^FF0000"+.@pcode$+"^000000 as the code."; mes "Are you sure?"; next; if(select("Yes:No, thanks")==2) close; query_sql ("SELECT COUNT(code) FROM `reward_codes` WHERE `code`='"+escape_sql(.@pcode$)+"'", .@pcode_exists); if (.@pcode_exists) { dispbottom "Sorry, that code already exist."; end; } mes "Please set a reward for the players who has entered the code."; input .@reward; next; if (.@reward == 0) { dispbottom "Sorry, that is an invalid item id."; close; } set .@iname$, getitemname(.@reward); mes "Item number ^FF0000"+.@reward+"^000000"; mes "is equivalent to ^FF0000"+.@iname$+"^000000."; mes "Are you sure?"; next; if(select("Yes:No, thanks")==2) close; mes "How many ^FF0000"+.@iname$+"^000000.?"; input .@amount; next; if (.@amount == 0) { dispbottom "Sorry, that is an invalid amount number."; close; } mes "Are you sure?"; next; if(select("Yes:No, thanks")==2) close; query_sql ("INSERT INTO `reward_codes` (code,nameid,item_name,amount,time_created) VALUES ('"+.@pcode$+"', "+.@reward+", '"+.@iname$+"', "+.@amount+", NOW())"); dispbottom "Promotional Code ^FF0000"+.@pcode$+" ^000000is now activated and the reward is ^FF0000"+.@amount+" "+.@iname$+"."; end; vcode: set .@nb, query_sql("SELECT code, item_name, amount FROM `reward_codes` ORDER BY time_created DESC LIMIT 20", .@code$, .@nid$, .@amount); if (.@nb == 0) { dispbottom "No exisiting codes."; end; } dispbottom "============================================="; dispbottom "============== EXISITING CODES =============="; dispbottom "============================================="; for(set .@i,0; .@i < .@nb; set .@i,.@i+1) dispbottom ""+.@code$[.@i]+" ( Reward: "+.@amount[.@i]+" "+.@nid$[.@i]+" )"; dispbottom "============================================="; end; dcode: input .@dcode$; query_sql ("SELECT COUNT(code) FROM `reward_codes` WHERE `code`='"+escape_sql(.@dcode$)+"'", .@pcode_exists); if (.@pcode_exists) { mes "Would you like to delete that code?"; next; if(select("Yes:No, thanks")==2) close; query_sql ("DELETE FROM `reward_codes` WHERE `code`='"+escape_sql(.@dcode$)+"'"); dispbottom "Promotional code successfuly deleted."; close; } dispbottom "Promotional code not found."; end; cancel: close; }
  15. Try : OnPCDieEvent: getmapxy .@map$, .@x, .@y, 0; for( set .@i, 0; .@i < getarraysize(.pvpmap$); set .@i, .@i+1 ) { if( .@map$ == .pvpmap$[.@i] ) { set @life, @life + 1; if ( @life > 1 ) { warp "SavePoint",0,0; } if ( #CASHPOINTS <= 0 ) end; set #CASHPOINTS,#CASHPOINTS-1; dispbottom "You have lose 1 Cash Point. Total is "+#CASHPOINTS+" Cash Points."; } } end; OnInit: setarray .pvpmap$[0],"guild_vs2","pvp_y_8-2","guild_vs1","guild_vs3","guild_vs4","guild_vs5","guild_vs1-2","1@orcs"; setarray .announcements$[0],"was killed by","was violated by","was owned by"; end; }
  16. http://rathena.org/board/topic/82462-freebies-giver/?p=198307 Configuration : setarray .@rwd[0],2115,1,2357,1,2421,1,2524,1; // Rewards: <item id>,<item amount>
  17. Try this one : prontera,150,150,0 script Sample 100,{ set .@npc$, "[ " +strnpcinfo(1)+ " ]"; setarray .@id[0], 7227,100,7179,100; // <item id>, <amount> set .@reward, 1604; set .@size, getarraysize(.@id); if ( Done ) { mes "You already finished the quest"; // warp "<map>", <x>, <y>; close; } mes "Requirements : "; for ( set .@j, 0; .@j < .@size; set .@j, .@j + 2 ) mes .@id[.@j+1]+ "x " +getitemname(.@id[.@j]); next; for ( set .@i, 0; .@i < .@size; set .@i, .@i + 2 ) { if ( countitem( .@id[ .@i ] ) < .@id[ .@i + 1 ] ) { mes "You don't meet the requirements"; close; } delitem .@id[.@i], .@id[.@i + 1]; } mes "Done!"; close2; getitem .@reward, 1; set Done, 1; end; }
  18. What do you mean by spawn npc? Specifically?
  19. prontera,150,150,0 script Exchanger 100,{ mes .npc$; mes "Hello " +strcharinfo(0)+ ", I am the exchanger on this server. Do you have something to exchange?"; next; if(select("Yes:No") - 1) close; mes .npc$; mes "You are charge to spend " +.req_zeny+ " zeny for using my service. Still want to use my service?"; next; if (select("Yes:No") - 1) close; if (Zeny < .req_zeny) { mes .npc$; mes "You do not have enough zeny for you to use my service"; close; } mes .npc$; mes "Good then, What item you want to exchange?"; next; getinventorylist; for (.@i = 0; .@i < @inventorylist_count; .@i++) { if (compare(.itemidcompare$, ":"+ @inventorylist_id[.@i] +":" ) ) { .@menu$ = .@menu$ + getitemname( @inventorylist_id[.@i] ) +":"; .@select[ .@c ] = @inventorylist_id[.@i]; .@c++; } } if (.@c == 0) { mes .npc$; mes "You have no items to exchange"; close; } .@pickid = .@select[select(.@menu$) - 1]; mes .npc$; mes "You want to exchange " +getitemname(.@pickid)+ " right?"; next; if (select("Yes:No") - 1) close; mes .npc$; mes "Where do you want to exchange your " +getitemname(.@pickid)+ "?"; next; .@menu$ = getitemname(.itemid); for (.@i = 1; .@i < .itemidsize; .@i++) .@menu$ = .@menu$ + ":" + getitemname(.itemid[.@i]); .@tradeid = .itemid[select( .@menu$ ) -1]; mes .npc$; mes "Are you sure you want to spend " +.req_zeny+ " zeny for trading " +getitemname(.@pickid) + " into " + getitemname(.@tradeid)+ "?"; next; if (select("Yes:No") - 1) close; if (countitem(.@pickid) == 0 || Zeny < .req_zeny) { mes .npc$; mes "You do not meet the requirements"; close; } getinventorylist; for(set .@i,0; .@i < @inventorylist_count; set .@i,.@i+1){ if( @inventorylist_id[.@i] == .@pickid ) { set .@refine_rate, @inventorylist_refine[.@i]; } } delitem .@pickid, 1; if ( !.@refine_rate ) getitem .@tradeid, 1; else getitem2 .@tradeid,1,1,.@refine_rate,0,@card1,@card2,@card3,@card4; set Zeny,Zeny - .req_zeny; mes .npc$; mes "==================================="; mes "Official Receipt"; mes "==================================="; mes "From : " +getitemname(.@pickid); mes "To : " +getitemname(.@tradeid); mes "==================================="; next; mes .npc$; mes "Thank you for using our trading system " +strcharinfo(0)+ ". Have a nice day"; close; OnInit: set .npc$,"^FF0000" +strnpcinfo(1)+ "^000000"; // NPC Name .req_zeny = 0; // Zeny to use the service. setarray .itemid, 1618, 1604; // Put all id here set .itemidsize, getarraysize( .itemid ); set .itemidcompare$, ":"+ .itemid[0]; for ( .@i = 1; .@i < .itemidsize; .@i++ ) .itemidcompare$ = .itemidcompare$ +":"+ .itemid[.@i] +":"; end; } Try this one. Didn't test though and BTW i am not @Skorm i am @Patskie
  20. If you want it that way then you should take a look here http://rathena.org/wiki/Multiple_Servers For clientinfo.xml configuration. Check this http://rathena.org/board/topic/74645-multi-server-for-file-clientinfoxml/?p=158307
  21. You can add a check if a certain player finished the first one or not. So something like this : 1. Upon completing the first quest, set a character or account base variable to 1. set Done, 1; 2. Add a check on the warper script and if it comply with the variable Done. Warp that player if ( Done ) warp <map name>,<x>,<y>;
  22. Maybe this http://rathena.org/board/files/file/2332-flux-cp-cms-addon/?
  23. Well that depends on your client date. May i know what client date are you using?
  24. Or i suggest you do something like this and show if it works.
×
×
  • Create New...