Jump to content

llchrisll

Members
  • Posts

    626
  • Joined

  • Last visited

  • Days Won

    26

Everything posted by llchrisll

  1. Update: 01/18-2012: Added 1 New NPC: Vote NPC v1.0 Vote NPC v1.0 Config has been made as dynamically as possible. Delay, Max Answers, Max Votes at once, Max letters per Vote, Max letters per Answers can be set too. This was an request by PapaZola! But since I was missing such an NPC in my Collection I'm adding it . Update: 02/02-2012: Updated NPCs: InGame-CP v1.1 > v1.2 Thanks to Melody, I was able to fix an bug which appeared when you tried to view the Current Online Players. The process were the following: View my Account > View Chars > Select One > CANCEL Then Server Statistic > Online Players. The bug appeared duo the same variable names. So I changed the temporar character variables into scope variables (.@). In my opinion it wasn't something grave, but one bug less . Regards, Chris
  2. llchrisll

    Vote NPC

    Here try this, Vote NPC v1.0!!! Features: Config has been made as dynamically as possible. Delay, Max Answers, Max Votes at once, Max letters per Vote, Max letters per Answers can be set too. Settings Overview: set .votes,3; // Max Votes at the same time, Maximum 128!!! set .vote_q_max,15; // Maxium letters for the question set .vote_a,2; // Max Answers possible set .vote_a_max,5; // Maxium letters for the answers set .vote_delay,86400; // Delay in seconds, default 1 day (86400 Seconds) set .vote_limit,1; // Each player can only once per Vote: 1 = On / 0 = Off set .gm,60; // GM Access Level I hope I was able to satisfy you . I will also release this script as public, so that you know, I kinda liked the idea^^. Regards, Chris
  3. So you want that the: - 1st NPC doesn't read if cards are used? - 2nd NPC doesn't read if refine (or only +4 and higher?) has been made? - 3rd NPC doesn't read anyhting? In this case: 1st NPC: getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(countitem2(.KahoID[@Trade],1,@inventorylist_refine[@l],0,0,0,0,0)) { getitem2 .KahoID[@TradeTo],1,1,@inventorylist_refine[@l],0,0,0,0,0; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,@inventorylist_refine[@l],0,0,0,0,0; } } } The 2nd NPC: getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(countitem2(.KahoID[@Trade],1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l])) { getitem2 .KahoID[@TradeTo],1,1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; } } } or if you wanted that if the refine is +4 and above: getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(@inventorylist_refine[@l] >= 4) close; if(countitem2(.KahoID[@Trade],1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l])) { getitem2 .KahoID[@TradeTo],1,1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,0,0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; } } } The 3rd NPC: getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(countitem2(.KahoID[@Trade],1,0,0,0,0,0,0)) { getitem2 .KahoID[@TradeTo],1,1,0,0,0,0,0,0,0; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,0,0,0,0,0,0,0; } } } Note: Please use these snippets, I realized that I had an "newbie" bug in it o.o. But should be working now as it was intended. Regards, Chris
  4. OnPCKillEvent: As far as I understand the text in the script_commands.txt this event will only execute when an player kills an other player. As for the OnPCDIeEvent Map Check Mapflag check would be possible ^^. if(getmapflag(strcharinfo(0),mf_pvp) == 0) end; @Arcenciel: I know about that, but as far as I have tested that, as long as the "sleep2" is not too long, you won't be warped outside which would happen after you get killed 3 times ^^. If I'm wrong with that, then I need to find a another way . Regards, Chris
  5. for a New item Type an src edit would be required as far as I know
  6. I wouldn't recommend that script o.o. It won't work like it is supposed to do. First: Temporary Character Variable > @Created will be reseted on relogin. Second: OnClock0000: set Created,0; end; Will not work out, since this would require an player attached > Permanent Character variable which would be correct. But in this case an timer would be more wise. Well I'm not smart in mathematics so I won't make an script for that since it would require to calculate till midnight or like that. An 1 day delay timer would be easy^^. Well there are also other ways, but I would have to figure them out first >_>. Regards, Chris
  7. Made my script need some confirmation about my questions, but it seems the TS doesn't wanna answer . Need to test that script anyway, too lazy to do so atm >_<. Regards, Chris
  8. Something like this? - script PvPCasher -1,{ end; OnPCKillEvent: set #CASHPOINTS,#CASHPOINTS + 2; dispbottom "You have recieved 2 Cash Points for killing "+rid2name(killedrid)+"."; dispbottom "Your Balance is now: "+#CASHPOINTS; end; OnPCDieEvent: sleep2 1300; if(killerrid != getcharid(3)) { warp strcharinfo(3),0,0; if(HP == 0) atcommand "@alive"; percentheal 100,100; } else warp "SavePoint",0,0; end; } Change the amount of Cash Points after the "OnPCKillEvent" and also in the text . Untested btw. Regards, Chris
  9. Btw don't take that as insult please, I didn't intendent to do so. So I'm sorry, if I have offended you somehow . Regards, Chris
  10. Completely wrong -.-, Now every class EXCEPT novice can use the scroll. The code wakoko321 used was correct already Also something different was asked, learn to read more accurately :I. @Topic: I don't really know a good way except showing the message and give the item again like this { if(Class > 0) { dispbottom "This Scroll can only be used by an Novice."; getitem 12626,1; end; } else CallFunc("F_ChooseJob"); },{},{} Well you also could do it via the Item Job Requirement field : Into 0x00000001 for Novice & S.Novice only ^^ Dunno what message will be printed then, maybe something like "This item can't be used" or like that. Regards, Chris
  11. I asked me that too, my solution would be on AgitStart to check how many castles an guild had and then compare it with the result after woe ^^. So if they have none afterwards they will be determined as "Loser Guild" :I. Regards, Chris
  12. i don't think its possible =,=, im not sure but the idea is good [bump[] It is ^^, with getitem2 You just need to know which refine it is, via *getinventorylist Taking Emistry's script you need to check for the same ID after you have selected the one you want to exchange to. This is for the refine level only: Replace this getitem2 .KahoID[@TradeTo],1,1,10,0,0,0,0,0; unequip EQI_HEAD_TOP; delitem .KahoID[@Trade],1; with getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(countitem2(.KahoID[@Trade],1,@inventorylist_refine[@l],0,0,0,0,0)) { getitem2 .KahoID[@TradeTo],1,1,@inventorylist_refine[@l],0,0,0,0,0; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,@inventorylist_refine[@l],0,0,0,0,0; } } } For the cards+refine: getinventorylist; for(set @l,0; @l < @inventorylist_count; set @l,@l + 1) { if(@inventorylist_id[@l] == .KahoID[@Trade]) { if(countitem2(.KahoID[@Trade],1,@inventorylist_refine[@l],0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l])) { getitem2 .KahoID[@TradeTo],1,1,@inventorylist_refine[@l],0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; unequip EQI_HEAD_TOP; delitem2 .KahoID[@Trade],1,1,@inventorylist_refine[@l],0,@inventorylist_card1[@l],@inventorylist_card2[@l],@inventorylist_card3[@l],@inventorylist_card4[@l]; } } } Untested though ^^. Regards, Chris Edit: I made an mistake in my snippets, forgot to add some "}" which were necessary.
  13. Just a few questions. Why do you want to check for the guild leader? And what do you want to check if he/she is online? What if the leader isn't onlne? Ending of script or only half reward? What do you mean by agits? Castles? Also when should the reward be given? After WoE? or Winners after each Castle Take and Losers after WoE ends? Guild Badge: Is that an Item or only a variable? And who should it be given to? Leader only when available or Members too Regards, Chris
  14. Here try my new release: Dynamic Shop v1.0 View my collection for more info and my other releases . Regards, Chris
  15. Update: 01/12-2012: Added 1 New NPC: Dynamic Shop v1.0 Another release of mine!!! Enjoy!! This Shop can configure the following ingame: - Items - Prices - Price Limit - Currency: Zeny or Cash Points Regards, Chris
  16. As I tested it, it worked just fine o.o. Did you make any changes?
  17. It is possible, you just need to add an variable on room entry and than check for that variable when giving the bounty > getBounty function. Then you can decide how much bonus you want give, well if you can tell me that I could do that for you Regards, Chris
  18. ded 1 New NPC: Card Compounder v1.0 EWW!! My first release in 2012!!! A reason to celebrate!!! Just kidding... Here is what it does: This Script allows an player to insert any kind of card in his/her equipment in the inventory as long he/she pays the price for it, which should be relative high as for it is a very handy feature.
  19. Hmm you didn't asked for that in my topic, but I added the Mapflag for that already. By default the scripts doesn't read that mapflag: // Use this if you disallows parties // for ( set .@mf,0; .@mf < getarraysize($@pvp_mf); set .@mf,.@mf + 1 ) { // Use this if you allow parties for ( set .@mf,0; .@mf < (getarraysize($@pvp_mf) - 1); set .@mf,.@mf + 1 ) { Unncomment the first "for..." and comment the second "for..." So like this // Use this if you disallows parties for ( set .@mf,0; .@mf < getarraysize($@pvp_mf); set .@mf,.@mf + 1 ) { // Use this if you allow parties // for ( set .@mf,0; .@mf < (getarraysize($@pvp_mf) - 1); set .@mf,.@mf + 1 ) { This is used for every PvP Type, just search the one you want so in this case it starts at line 768. For this you can use the array of my maps, no need to create a another array, they are server temporar variables btw. Just exchange the name with mine ^^. Another case would be if only want specified maps, then you'll have to use Emistry's script. Another option would be that I add it to my script, if Emistry allows it ^^. Regards, Chris
  20. Hmm this should be the cause of missing .wav files o.o. I uploaded them anyway, so just download them, create patch for your players and it should work. set $@arena_pay,1; // 1 = Formula, 2 = Per Array // But remember to put the prices for all items. setarray $@arena_ar[0],100; // Etc If you want to use your own prices edit the first variable to "2" and then put the prices in the array below. But remember to insert all prices then ^^. If you want to remove some items, search the item id in the "setarray $@arena_sh[0]" line and delete them. Regards, Chris Chris, Please pardon me being newbie. I really new to this server thing. I am not too sure how would I build the patch for the wav files. I believe that they should be placed in a specific folder which I don't the right path. Please tell me where these wav files should go. I really appreciate you help. Sorry for the ignorace. Kind regards, Rod www.arcadiaro.com The wav files has to be places into the "data/wav" folder which may not exist in your own folder. Just create the folder and put the files in there. Do you have an patcher by chance? for your players? Else you could upload them to your homepage and tell them to add those in the data folder if they have one. If you want to disable the sounds, just comment the lines with "soundeffectall". First one is at line 857^^ Regards, Chris
  21. Hmm this should be the cause of missing .wav files o.o. I uploaded them anyway, so just download them, create patch for your players and it should work. set $@arena_pay,1; // 1 = Formula, 2 = Per Array // But remember to put the prices for all items. setarray $@arena_ar[0],100; // Etc If you want to use your own prices edit the first variable to "2" and then put the prices in the array below. But remember to insert all prices then ^^. If you want to remove some items, search the item id in the "setarray $@arena_sh[0]" line and delete them. Regards, Chris
  22. About other PvP Maps: I'm not knowledgeable enough how to duplicate available maps, except creating new ones and adding them normally. So if you add the normal towns, pvp would be enabled in those which should be the case. So you would need to add duplicates/copy&paste the original maps and add them as new ones. Imagine that with 35 rooms o.o, it would be possible but would take a bit long. Also I'm working on other projects (well becoming less with time ). Regards, Chris
×
×
  • Create New...