Jump to content

Radian

Members
  • Posts

    1546
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Radian

  1. Thanks for the fast reply annie 1 question. should i delete this line? setarray .rewarditem[0], // rewards for the winning team: <item>,<amount>,... 501, 10;
  2. It's working fine now.. Is it possible that i can change the reward prize into a custom variable?
  3. Thanks i will test it now..
  4. Thank you for the reply.. I've tested the script with the source code. i got no error on compiling. but when i tested it Player 1 use (joinbg) = its ok there's a debug message that he already sign up Player 2 use (joinbg) = its ok the debug message shows but only the player 1 warp on the BG area.
  5. Use Emistry Multi Currency shop // Settings : // - Only required to edit the ShopSetting() Function // Notes : You may also add / remove Menu ( If any ) // - Shop Currency can be either ItemID or Variable Name, but must write within Quotation Marks ( "" ) // Ex. of Variable. -> Zeny , #CASHPOINTS , #KAFRAPOINTS , CustomVariable , #CustomVariable // - ERROR Message are used to show Invalid Settings in your NPC. // Leave this alone... - shop Emistry_Shop -1,512:100 prontera,155,181,5 script Sample 757,{ function ShopSettings; function ValidateCost; function CurrencyInfo; function ClearData; function ValueConvert; function ErrorNotice; mes "Each Shop from the Menu may purchase using ^FF0000Different Currency^000000."; mes "^00FF00____________________________^000000"; mes "So,Which shop you would like to look at it"; next; // Menu Selection select("Shop 1","Shop 2","Shop 3"); ClearData(); ShopSettings( @menu ); npcshopitem "Emistry_Shop",512,100; npcshopdelitem "Emistry_Shop",512; for(set .@i,0; .@i < getarraysize( @ItemLists ); set .@i,.@i+1) npcshopadditem "Emistry_Shop",@ItemLists[.@i],@ItemCost[.@i]; mes "Okay...wait awhile"; mes "^00FF00____________________________^000000"; CurrencyInfo( @Currency$ ); mes "^00FF00____________________________^000000"; callshop "Emistry_Shop",1; npcshopattach "Emistry_Shop"; end; function ShopSettings { switch( getarg(0) ){ Case 1: // Currency [ Item ID / Variable Name ] set @Currency$,"7179"; // Item ID Lists setarray @ItemLists[0],6153,7227; // Item Price setarray @ItemCost[0],100,1; break; Case 2: // Currency [ Item ID / Variable Name ] set @Currency$,"7227"; // Item ID Lists setarray @ItemLists[0],2306,2302,2303,2304,2305,2301; // Item Price setarray @ItemCost[0],2,2,3,4,5,6; break; Case 3: // Currency [ Item ID / Variable Name ] set @Currency$,"#CASHPOINTS"; // Item ID Lists setarray @ItemLists[0],2306,2302,2303,2304,2305,2301; // Item Price setarray @ItemCost[0],20,22,34,445,52,641; break; // Case 4,5,6.....etc... default: ErrorNotice( "Invalid Menu Selection for Menu "+@menu+"." ); close; } if( @Currency$ == "" ) ErrorNotice( "Invalid Currency Setting in Menu "+@menu+" ." ); if( getarraysize( @ItemCost ) != getarraysize( @ItemLists ) || getarraysize( @ItemLists ) != getarraysize( @ItemCost ) ) ErrorNotice( "Missing or Extra Value of Item or Cost Settings in Menu "+@menu+" ." ); return; } function ErrorNotice { mes "^FF0000ERROR^000000 - "+getarg(0); mes "^00FF00____________________________^000000"; mes "Inform this Message to ^0000FFGame Staffs^000000 immediately !"; close; } function CurrencyInfo { if( getitemname( atoi( getarg(0) ) ) != "null" ){ mes "Item Currency : ^FF0000"+getitemname( atoi( getarg(0) ) )+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( countitem( atoi( getarg(0) ) ) )+"^000000"; }else if( getitemname( atoi( getarg(0) ) ) == "null" ){ mes "Variable Currency : ^FF0000"+getarg(0)+"^000000"; mes "Available Amount : ^0000FF"+ValueConvert( getd( getarg(0) ) )+"^000000"; } return; } function ValidateCost { if( getitemname( atoi( getarg(0) ) ) != "null" ){ if( countitem( atoi( getarg(0) ) ) < getarg(1) ) return 1; }else{ if( getd( getarg(0) ) < getarg(1) ) return 1; } return 0; } function ClearData { set @Currency$,""; set @TotalCost,0; deletearray @bought_nameid[0],getarraysize( @bought_nameid ); deletearray @bought_quantity[0],getarraysize( @bought_quantity ); deletearray @ItemLists[0],getarraysize( @ItemLists ); deletearray @ItemCost[0],getarraysize( @ItemCost ); return; } function ValueConvert { set .@num, atoi(""+getarg(0)); if ( .@num == 0 || .@num >= 2147483647 ) return getarg(0); set .@l, getstrlen(""+.@num); for ( set .@i,0; .@i < .@l; set .@i, .@i + 1 ) { set .@num$, .@num % pow(10,.@i+1) / pow(10,.@i) + .@num$; if ( (.@i+1) % 3 == 0 && .@i+1 != .@l ) set .@num$, ","+ .@num$; } return .@num$; } OnBuyItem: ShopSettings( @menu ); for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) for(set @j,0; @j < getarraysize( @ItemLists ); set @j,@j+1) if( @ItemLists[@j] == @bought_nameid[@i] ) set @TotalCost,@TotalCost + ( @ItemCost[@j] * @bought_quantity[@i] ); mes "^FF0000 BILLING LIST^000000"; mes "^00FF00____________________________^000000"; for( set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1 ) mes "^FF0000"+@bought_quantity[@i]+" x ^0000FF"+getitemname( @bought_nameid[@i] )+"^000000"; mes "^00FF00____________________________^000000"; if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" x "+getitemname( atoi( @Currency$ ) )+"^000000"; else if( getitemname( atoi( @Currency$ ) ) == "null" ){ mes "Total Cost : ^0000FF"+ValueConvert( @TotalCost )+" "+@Currency$+"^000000"; } mes "^00FF00____________________________^000000"; if( ValidateCost( @Currency$,@TotalCost ) ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+getitemname( atoi( @Currency$ ) )+"^000000"; else{ mes "[ ^FF0000X^000000 ] Insufficient ^0000FF"+@Currency$+"^000000"; } }else{ if( select( "^0000FFPurchase^000000:Cancel" ) == 1 ){ if( getitemname( atoi( @Currency$ ) ) != "null" ) delitem atoi( @Currency$ ),@TotalCost; else{ set getd( @Currency$ ),getd( @Currency$ ) - @TotalCost; } for(set @i,0; @i < getarraysize( @bought_nameid ); set @i,@i+1) getitem @bought_nameid[@i],@bought_quantity[@i]; message strcharinfo(0),"Purchased "+getarraysize( @bought_nameid )+" Items."; mes "Thank you for shopping."; } } ClearData(); close; } just edit this set @Currency$,"#CASHPOINTS"; into your custom variable or it should look like this set @Currency$,"#monster_point";
  6. What client are you using right now?
  7. thanks for the reply but it was set on guild_vs3 map
  8. if (ud->skilltimer != INVALID_TIMER && ud->skillid != LG_EXEEDBREAK && (!sd || !pc_checkskill(sd, SA_FREECAST) || skill_get_inf2(ud->skillid)&INF2_GUILD_SKILL)) and remove this || skill_get_inf2(ud->skillid)&INF2_GUILD_SKILL) or it should be like this if (ud->skilltimer != INVALID_TIMER && ud->skillid != LG_EXEEDBREAK && (!sd || !pc_checkskill(sd, SA_FREECAST))
  9. You can use this guide http://rathena.org/board/topic/73709-how-to-allow-movement-while-casting-emergency-call-on-professor-job/
  10. Maybe login-server.sql is running while you are compiling?
  11. Baka napalitan yung mga sprite mo? check mo nlng kasi pag nag error while login sa sprite or pallet yan.
  12. by uncommenting this line //#define PRERE all renewal mechanics will be set to pre renewal Yes it will change, since you setup the npc & warps on renewal setting and then you change it into pre renewal everything will change from renewal to pre renewal setup. there are renewal database / pre renewal database, all you need to do is look for the pre renewal or which system you are using then enable those npc.
  13. Edit this line //quick option to disable all renewal option, used by ./configure //#define PRERE to this //quick option to disable all renewal option, used by ./configure #define PRERE then recompile your sever.
  14. I think its a sprite error. or pallet error
  15. I think removing this will be the answer. im not 100% sure OnNPCKillEvent: set Kill,Kill+1; if( Kill >= rand( 50,100 ) ){
  16. Thank you for the response but it's not working.. no errors at all
  17. A quick question about endless tower, since its party based. and i want to make it account base. (and when another character with a different party can enter again) should i change this [ set .@party_id,getcharid(1); ] to this [ set .@party_id,getcharid(3); ] . it will not caused any errors right? since getcharid(1) = Party and getcharid(3) = Account.
  18. will this topic be enable to continue? i think it a nice project. the map and idea of the battle ground it kinda nice.
  19. This system is nice but is it require to replace some item bonus on item_db2?
  20. Radian

    Q> BackUp

    I think like this mysqldump -u USERNAME --password=PASSWORD DATABASE_NAME > /home/trunk/backups/FILE_NAME.sql
  21. Hello, can someone help me out with this script what i want is to put @joinbg command on this.. works like Battle Conquest of eAmod how it announce how many players join/need to start the Battle Ground. here's the script im using //===== rAthena Script ======================================= //= Battleground: Emperium //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.0 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= A simple battleground script: //= Destroy the opponent's Emperium to win the match. //===== Additional Comments: ================================= //= 1.0 First version, edited. [Euphy] //============================================================ - script bg_emp#control -1,{ OnInit: .minplayer2start = 5; // minimum players to start (ex. if 3vs3, set to 3) .eventlasting = 20*60; // event duration before auto-reset (20 minutes * seconds) setarray .rewarditem[0], // rewards for the winning team: <item>,<amount>,... 501, 10; .team1name$ = "Red"; .team2name$ = "Blue"; end; OnStart: if ( getwaitingroomstate( 0, .rednpcname$ ) < .minplayer2start || getwaitingroomstate( 0, .bluenpcname$ ) < .minplayer2start ) end; // create Battleground and teams .red = waitingroom2bg( "bat_a01", 157,347, strnpcinfo(0)+"::OnRedQuit", strnpcinfo(0)+"::OnRedDead", .rednpcname$ ); copyarray .team1aid, $@arenamembers, $@arenamembersnum; .team1count = .minplayer2start; .blue = waitingroom2bg( "bat_a01", 142,51, strnpcinfo(0)+"::OnBlueQuit", strnpcinfo(0)+"::OnBlueDead", .bluenpcname$ ); copyarray .team2aid, $@arenamembers, $@arenamembersnum; .team2count = .minplayer2start; delwaitingroom .rednpcname$; delwaitingroom .bluenpcname$; disablenpc .rednpcname$; disablenpc .bluenpcname$; setwall "bat_a01", 164,347, 6, 4, 0, "bg_emp_town_red"; setwall "bat_a01", 154,51, 6, 4, 0, "bg_emp_town_blue"; bg_warp .red, "bat_a01", 171,346; bg_warp .blue, "bat_a01", 162,50; bg_updatescore "bat_a01", 0, 0; // delay before match begins sleep 6000; mapannounce "bat_a01", "The rules are simple. The first team to break the opponent's Emperium wins!", bc_map; sleep 3000; for ( .@i = 5; .@i > 0; .@i-- ) { mapannounce "bat_a01", "["+ .@i +"]", bc_map; sleep 1000; } mapannounce "bat_a01", "Start!", bc_map; // spawn Emperiums bg_monster .red,"bat_a01",171,346, "--ja--",1288, strnpcinfo(3)+"::OnRedDown"; bg_monster .blue,"bat_a01",162,50, "--ja--",1288, strnpcinfo(3)+"::OnBlueDown"; delwall "bg_emp_town_red"; delwall "bg_emp_town_blue"; // match duration sleep .eventlasting * 1000; // end match, destroy Battleground, reset NPCs killmonster "bat_a01", strnpcinfo(3)+"::OnRedDown"; killmonster "bat_a01", strnpcinfo(3)+"::OnBlueDown"; if ( .winside ) { mapannounce "bat_a01", "- "+ getd( ".team"+ .winside +"name$" ) +" Team is victorious! -", bc_map; for ( .@i = 0; .@i < getd(".team"+ .winside +"count"); .@i++ ) getitem .rewarditem[0], .rewarditem[1], getd(".team"+ .winside +"aid["+ .@i +"]" ); } else mapannounce "bat_a01", "- The match has ended in a draw! -", bc_map; sleep 5000; bg_warp .red, "mellina", 86,80; bg_warp .blue, "mellina", 86,80; bg_destroy .red; bg_destroy .blue; delwall "bg_emp_town_red"; delwall "bg_emp_town_blue"; deletearray .team1aid; deletearray .team2aid; .winside = .team1count = .team2count = 0; enablenpc .rednpcname$; enablenpc .bluenpcname$; donpcevent .rednpcname$ +"::OnStart"; donpcevent .bluenpcname$ +"::OnStart"; end; // Emperium destroyed OnRedDown: callsub L_EmpDown, 1, 2; OnBlueDown: callsub L_EmpDown, 2, 1; L_EmpDown: mapannounce "bat_a01", strcharinfo(0) +" has destroyed "+ getd( ".team"+ getarg(0) +"name$" ) +" Team's Emperium.", bc_map; .winside = getarg(1); awake strnpcinfo(0); end; // "OnDeath" event OnRedDead: OnBlueDead: sleep2 1250; percentheal 100,100; end; // "OnQuit" event OnRedQuit: callsub L_Quit, 1, 2; OnBlueQuit: callsub L_Quit, 2, 1; L_Quit: percentheal 100, 100; while ( getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ) != getcharid(3) && .@i < getd(".team"+ getarg(0) +"count") ) .@i++; deletearray getd( ".team"+ getarg(0) +"aid["+ .@i +"]" ), 1; setd ".team"+ getarg(0) +"count", getd(".team"+ getarg(0) +"count") -1; if ( getd(".team"+ getarg(0) +"count") ) end; mapannounce "bat_a01", "All "+ getd( ".team"+ getarg(0) +"name$" ) +" team members have quit!", bc_map, 0xff3333; end; } turbo_room,106,117,3 script Red Team#bg_emp 733,{ end; OnInit: sleep 1; set getvariableofnpc( .rednpcname$, "bg_emp#control" ), strnpcinfo(0); OnStart: waitingroom "Red Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; } turbo_room,93,117,5 script Blue Team#bg_emp 734,{ end; OnInit: sleep 1; set getvariableofnpc( .bluenpcname$, "bg_emp#control" ), strnpcinfo(0); OnStart: waitingroom "Blue Team", getvariableofnpc( .minplayer2start, "bg_emp#control" ) +1, "bg_emp#control::OnStart", getvariableofnpc( .minplayer2start, "bg_emp#control" ); end; } bat_a01 mapflag battleground bat_a01 mapflag nosave SavePoint bat_a01 mapflag nowarp bat_a01 mapflag nowarpto bat_a01 mapflag noteleport bat_a01 mapflag nomemo bat_a01 mapflag nopenalty bat_a01 mapflag nobranch bat_a01 mapflag noicewall
  22. Can anyone give me a script that works like this? Choices ARMOR 1 ARMOR 2 ARMOR 3 picks = ARMOR 1 now choose what do you want to use to get this ARMOR 1 [ #CASHPOINTS or PORING COINS ] same with ARMOR 2 and ARMOR 3 can anyone make this script for me please?
  23. Is it possible to add Cash Points on the rewards? i mean is it possible to add cash points for woe prizes? in Euphy's WOE controller
  24. Thanks i will test this soon..
×
×
  • Create New...