Jump to content

Radian

Members
  • Posts

    1546
  • Joined

  • Last visited

  • Days Won

    19

Everything posted by Radian

  1. Yeah my bad. there's no issue on that. What im trying to do with the coordinates are to start into a different x and y
  2. Can i suggest to save all the missions into a different table? so its easy to find. If that is possible
  3. Hey guys, can someone help me out with this script by Emistry. //===== Hercules Script ==================================== //= Vendor Control //===== By: ================================================ //= Original by Emistry //= Rewrite by AnnieRuru //===== Current Version: =================================== //= 2.1a //===== Compatible With: =================================== //= Hercules 2018-06-02 //===== Description: ======================================= //= Vendors only vend on certain coordinate, looks tidy :P //===== Topic ============================================== //= http://herc.ws/board/topic/4509-vendor-control-rewrite/ //===== Additional Comments: =============================== //= Revert back to use unitwalk //========================================================== prontera,146,173,4 script Vending Board Info 2_BOARD1,{ mes "[^04B4AE Vending Board Info ^000000]"; if ( !getskilllv( 41 ) ) { mes "You dont have ^0055FFVending Skill^000000."; mes "But if you want warp at the market or vending place use the command ^0000ff@ccmd <market>^000000."; close; } mes "Select a slot and start vending."; mes "To warp at the market/vending place use the command ^0000ff@ccmd <market>^000000."; while ( true ) { .@menu$ = .@currentpage ? "<== Previous Page:" : ":"; .@pageindex = .@currentpage * .slotperpage; for ( .@i = 0; .@i < .slotperpage && .@pageindex + .@i < .count; ++.@i ) { if ( !getmapxy( .@map$, .@x, .@y, UNITTYPE_NPC, "#vend_slot"+( .@pageindex + .@i ) ) && getareausers( .map$, .@x, .@y, .@x, .@y ) ) .@menu$ += "Slot No."+( .@pageindex + .@i +1 )+" - ^FF0000[ Unavailable ]^000000:"; else .@menu$ += "Slot No."+( .@pageindex + .@i +1 )+" - ^00CC00[ Available ]^000000:"; } if ( .@currentpage != .maxpage ) .@menu$ = .@menu$ + "Next Page ==>"; .@pick = select( .@menu$ ) -1; if ( !.@pick ) { --.@currentpage; } else if ( .@pick == .slotperpage +1 ) { ++.@currentpage; } else break; } .@s = .@currentpage * .slotperpage + .@pick -1 ; if ( !getmapxy( .@map$, .@x, .@y, UNITTYPE_NPC, "#vend_slot"+ .@s ) && getareausers( .map$, .@x, .@y, .@x, .@y ) ) { mes " "; mes "This slot is ^FF0000[ UnAvailable ]^000000."; close; } warp .@map$, .@x, .@y; hideonnpc "#vend_slot"+ .@s; donpcevent "#vend_slot"+ .@s +"::OnCheckAvailable"; end; OnInit: // ======================= Configuration HERE ============================= .map$ = "prontera"; // map setarray .@x, 32,36,40,44,48,52,56,60; // x coordinates setarray .@y, 187,183,179,175; // y coordinates .slotperpage = 10; // display how many slots per page (prevent making the menu too long) freeloop true; setcell .map$, 0,0, 500,500, cell_novending, true; .@x_size = getarraysize( .@x ); .@y_size = getarraysize( .@y ); for ( .@i = 0; .@i < .@y_size; ++.@i ) { for ( .@j = 0; .@j < .@x_size; ++.@j ) { if ( checkcell( .map$, .@x[.@j], .@y[.@i], cell_chkpass ) ) { movenpc "#vend_slot"+ .count, .@x[.@j], .@y[.@i]; setcell .map$, .@x[.@j], .@y[.@i], .@x[.@j], .@y[.@i], cell_novending, false; if ( getareausers( .map$, .@x[.@j], .@y[.@i], .@x[.@j], .@y[.@i] ) ) { hideonnpc "#vend_slot"+ .count; donpcevent "#vend_slot"+ .count +"::OnCheckAvailable"; } ++.count; } } } .maxpage = .count / .slotperpage + ( .count % .slotperpage > 0 ) -1; // debugmes "Vendor NPC needed -> "+ .count; end; } - script vend_slot -1,{ mes "[^04B4AE Vending Slot ^000000]"; if ( !getskilllv( 41 ) ) { mes "You dont have ^0055FFVending Skill^000000."; close; } getmapxy .@map$, .@x, .@y, UNITTYPE_NPC; if ( getareausers( .@map$, .@x, .@y, .@x, .@y ) ) { mes "Someone already using this slot"; close; } unitwalk getcharid(3), .@x, .@y; mes "Spot : ^777777Available^000000"; mes "^FF0000Use proper Shop Name.^000000"; mes "^777777Player who failed to follow these rules will be punished.^000000"; hideonnpc strnpcinfo(0); donpcevent strnpcinfo(0)+"::OnCheckAvailable"; close; OnCheckAvailable: sleep 10000; getmapxy .@map$, .@x, .@y, UNITTYPE_NPC; while ( getareausers( .@map$, .@x, .@y, .@x, .@y ) ) sleep 10000; hideoffnpc strnpcinfo(0); end; } // Add more if needed. prontera,0,0,4 duplicate(vend_slot) #vend_slot0 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot1 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot2 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot3 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot4 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot5 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot6 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot7 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot8 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot9 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot10 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot11 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot12 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot13 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot14 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot15 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot16 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot17 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot18 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot19 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot20 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot21 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot22 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot23 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot24 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot25 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot26 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot27 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot28 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot29 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot30 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot31 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot32 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot33 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot34 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot35 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot36 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot37 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot38 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot39 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot40 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot41 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot42 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot43 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot44 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot45 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot46 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot47 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot48 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot49 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot50 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot51 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot52 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot53 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot54 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot55 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot56 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot57 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot58 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot59 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot60 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot61 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot62 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot63 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot64 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot65 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot66 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot67 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot68 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot69 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot70 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot71 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot72 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot73 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot74 4_BULLETIN_BOARD2 prontera,0,0,4 duplicate(vend_slot) #vend_slot75 4_BULLETIN_BOARD2 prontera mapflag autotrade I noticed that when you restart the server and vendors are resumed, the slot will be available. and how can i add another coordinates for the slots setarray .@x, 32,36,40,44,48,52,56,60; // x coordinates setarray .@y, 187,183,179,175; // y coordinates
  4. Does anyone have the database for these monsters? can you share it to me? @Ciar thanks for sharing this !
  5. I've tested the script it works but on the players point of view that wants to make a new raffle. they'll need to select an item from their own inventory. Nvm, works perfectly now.
  6. Hey guys how's it going? I just want to request a script that works like this. Player talk to the npc give a specific item. Player select how much is the fee and how many people can join. Verify the owner if he wants to continue or check if everything is correct. Announce to everyone that "Player1" is having a raffle for 1 coin per entry only 10 people can join. The item is Very Very Very Strong Angra Manyu !! When 10 people paid the amount of coin npc will start by rolling 3 times and in the last round the player that has been selected will be the winner. (send the item via mail) When raffle is done and everything is complete. all of the coins will be sent to "Player1" via mail. (to prevent issue like: over weight) I think that's everything. Willing to pay if need but released it on public and I'll send you the payment for it.
  7. Just a warning message nothing so serious but to answer what is causing that is a missing map, maps_athena.conf, map_index.txt
  8. I suggest you disable first all your custom scripts and default scripts. I saw some of the errors are from a script so you know which one is crashing the map server.
  9. Thanks guys for helping, this is solved already.
  10. This command functions like this @inventory command: - con [store all items from players consumable tab into players storage] - eqp [store all items from players equipment tab into players storage] - etc [store all items from players etc tab into players storage] - all [store all items from players inventory.]
  11. What im trying to do here is to check if the player is attempting to uncard a bounded item and npc will reject the process.
  12. Anyone using this one atm? mapserver is crashing everytime i load this script. currently using this script version http://upaste.me/1b3249619f23c7755
  13. Yeah i've seen this on script_commands just like this topic which says it check if you have bounded items in your inventory not if you want to uncard the bounded item.
  14. Hey guys! How do you add check in this script if items are bounded? or if the player selected an item that is bounded. setarray .@indices[1], EQI_HEAD_TOP, EQI_ARMOR, EQI_HAND_L, EQI_HAND_R, EQI_GARMENT, EQI_SHOES, EQI_ACC_L, EQI_ACC_R, EQI_HEAD_MID, EQI_HEAD_LOW; for( set .@i,1; .@i <= 10; set .@i,.@i+1 ) { if( getequipisequiped(.@indices[.@i]) ) set .@menu$, .@menu$ + F_getpositionname(.@indices[.@i]) + " - [ " + getequipname(.@indices[.@i]) + " ]"; set .@menu$, .@menu$ + ":"; } set .@part, .@indices[ select(.@menu$) ]; if(!getequipisequiped(.@part)) { mes "[ ^04B4AEIsaac^000000 ]"; mes "Young one... Your not wearing anything there that I can remove cards from."; end; } set .@cardcount,getequipcardcnt(.@part); if(.@cardcount == 0) { mes "[ ^04B4AEIsaac^000000 ]"; mes "Young one... There are no cards compounded on this item. I can do nothing with it, I'm afraid."; end; } if (!checkweight(1202,(.@cardcount+1))) { mes "^3355FFJust a minute!"; mes "I can't offer any of my"; mes "services to you because"; mes "you're carrying too much"; mes "stuff. Put your extra items in"; mes "Kafra Storage and come again~"; end; }
  15. EXTRIMITYFIST is hard to adjust using skill_damage_db try capping the maxsp for it. I assume you're running a pre-renewal setup? or try this MO_EXTREMITYFIST,BL_PC,15,-80 or if your server files are not updated. MO_EXTREMITYFIST,1,15,-80
  16. I think you need it more than I do. so merry christmas to you !

    1. Playtester

      Playtester

      I'm a bit late, but merry christmas to you too and a happy new year. ?

  17. prontera,150,150,4 script Warpme! 999,{ .@itemreq = 501; .@itemamt = 10; mes "What do you want?"; next; if(select("Warp me!","Cancel") == 2) close; if(countitem(.@itemreq) < .@itemamt){ mes "Im sorry you dont have enough items in your inventory."; end; } delitem .@itemreq,.@itemamt; warp "payon",0,0; // change this to you map end; }
  18. Dont use the save_body_style it will give you error like this because it was meant only for costume.
  19. https://github.com/rathena/rathena/commit/caab654fbb3582f3cdc1d9b53884c13305b4b5bd
  20. This part .@size = getarraysize ( .slots ) should be like this .@size = getarraysize ( .slots );
  21. Apply this patch https://github.com/rathena/rathena/commit/40a4edc4f8fff75ba35b969882edabd17dd4c258
×
×
  • Create New...