Jump to content

Winterfox

Members
  • Content Count

    403
  • Joined

  • Last visited

  • Days Won

    10

Everything posted by Winterfox

  1. @@MikZ You can define what groups to log separatly in /conf/groups.conf via log_commands. <log_commands>Boolean value. If true then all commands used by the group will be logged toatcommandlog. If setting is omitted in a group definition, false is assumed.Requires 'log_commands' to be enabled in 'conf/logs.conf'.
  2. @@Unknown143 Could you pm me a alternative you usually use?
  3. @@jezznarRox Upon registration you could setup the registration form to setup both usertables at once and link them together with a key.The bad thing is you would have duplicate data but you could keep your databases separated. You also could merge the phpbb userbase with the emulatur user database. But you would either need to use the same database for phpbb and the emulator or put in some extra mods to use the specific database for access of the user.
  4. @@Unknown143 prontera,146,304,5 script Resetter 4_M_ATEIL,{ mes .npcname$; mes "So are you satisfied with your"; mes "current stat allocation?"; mes "Of course not, if you want to make"; mes "a change then listen on."; next; mes .npcname$; mes "I use the power of the"; mes "^009900"+getitemname(.stoneid)+"^000000 to help adventurers"; mes "reset their stat choices."; mes "Of course the more powerful the"; mes "adventurer, the more ^009900"+getitemname(.stoneid)+"s^000000"; mes "I need the perform the reset."; next; for( .@i = 0; .@i < getarraysize( .minrange ); .@i++ ) { if( BaseLevel >= .minrange[.@i] && BaseLevel <= .maxrange[.@i] ) { .@stonesreq = .stones[.@i]; break; } } mes .npcname$; mes "For instance you [" + strcharinfo(0) + "] would require."; mes "["+.@stonesreq+"] "+getitemname(.stoneid)+" to reset all your stats to 1 and get all your status points back."; next; switch( select( "Tell me More!:Lets reset NOW:First Time Free Reset:Later" ) ) { case 1: mes .npcname$; for( .@i = 0; .@i < getarraysize( .minrange ); .@i++ ) { mes "Base Lvl ^000099" + .minrange[.@i] + " - " + .maxrange[.@i] + "^000000 ^009900[" + .stones[.@i] + " " + getitemname( .stoneid ) + "]^000000"; } close; break; case 2: mes .npcname$; mes "Ok let's start checking."; next; if( Weight > 0 ) { mes .npcname$; mes "Lower your weight to 0"; } if( checkcart() ) { setcart 0; } if( checkfalcon() ) { setfalcon 0;} if( checkmount() ) { setmount MOUNT_NONE;} if( countitem( .stoneid ) >= .@stonesreq ) { delitem .stoneid,.@stonesreq; resetstatus; } else { mes .npcname$; mes "You do not have enough ^009900" + getitemname( .stoneid ) + "s^000000"; } close; break; case 3: if( !FreeReset ){ set FreeReset,1; mes "Welcome...this is your first character free reset..."; resetstatus; }else{ mes "You have reset for free already."; } close; break; case 4: mes .npcname$; mes "Come back when you change your mind."; close; break;}OnInit: .stoneid = 6320; //reset stone id = 6320 ? .npcname$ = "["+strnpcinfo(0)+"]"; setarray .minrange[0],1 , 41, 71, 91, 111, 126, 141; // Min Level Required setarray .maxrange[0],40, 70, 90, 110,125, 140, 150; // Max Level Required setarray .stones[0], 1, 2, 3, 4, 5, 6, 7; // Number of Stones}
  5. @@skempertush If you want to improve security even more, you could exchange MD5 with SHA-2 / SHA-3 and use salting when saving passwords.
  6. @@Unknown143 What for? You simply could use: #item [Playername] [itemid] [Quantity] That works with most things you can use on yourself via @commands to do it to your players.
  7. @@keough This should be a representation of your script in Hercules. Please be aware that i didn't test it though, so you should thoroughly test it. If you find any issues you can report them of course. prt_in,285,167,3 script "Dinorah Lacostt" 4_F_LGTGIRL,{ mes "[Stylist Dinorah Lacostt]"; mes "Heeeeeello~wooooooooo. I am"; mes "a stylist who can change your"; mes "clothes to match your"; mes "unique style~ uh-huh!"; next; mes "[Stylist Dinorah Lacostt]"; mes "If you give me a"; mes "^FF0000New Clothing Dye Coupon^000000,"; mes "I'll change the color"; mes "of your clothes~"; next; mes "[Stylist Dinorah Lacostt]"; mes "And if you give me an"; mes "^FF0000Original Clothing Dye Coupon^000000,"; mes "I'll change the color"; mes "of your clothes..."; mes "back to the original!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Ah, you should be advised that"; mes "^FF0000if you change your job^000000"; mes "^FF0000after you've dyed your clothes,^000000"; mes "^FF0000the original color will be shown^000000"; mes "^FF0000on the screen. But if you relog,^000000"; mes "^FF0000you can see the dyed color again.^000000"; next; mes "[Stylist Dinorah Lacostt]"; mes "^FF0000And one more thing!!^000000"; mes "^FF0000We have only one color for^000000"; mes "^FF0000each job class. So, if you^000000"; mes "^FF0000dye twice, the color will be^000000"; mes "^FF0000the same. It would be useless.^000000"; next; mes "[Stylist Dinorah Lacostt]"; mes "Uh-huh~ Now, I told"; mes "you everything."; mes "Tell me what you want~"; next; switch( select( "Dye clothes.:Restore original color.:Stop talking." ) ) { case 1: if( countitem( Clothing_Dye_Coupon ) > 0 ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon, 1; setlook LOOK_CLOTHES_COLOR, 2; close; } else { mes "[Stylist Dinorah Lacostt]"; mes "No-ou~ You don't have"; mes "a ^FF0000New Clothing Dye Coupon^000000~"; mes "Please visit me again"; mes "after you get one~"; close; } break; case 2: if( countitem( Clothing_Dye_Coupon2 ) > 0 ) { if( ( Class == EAJ_NOVICE ) || ( Class == EAJ_SWORDMAN ) || ( Class == EAJ_THIEF ) || ( Class == EAJ_MAGE ) || ( Class == EAJ_MERCHANT ) || ( Class == EAJ_ARCHER ) || ( Class == EAJ_ACOLYTE ) ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } else if( ( Class == EAJ_KNIGHT ) || ( Class == EAJ_CRUSADER ) || ( Class == EAJ_ASSASSIN ) || ( Class == EAJ_ROGUE ) || ( Class == EAJ_PRIEST ) || ( Class == EAJ_MONK ) || ( Class == EAJ_HUNTER ) || ( Class == EAJ_BARD ) || ( Class == EAJ_DANCER ) || ( Class == EAJ_WIZARD ) || ( Class == EAJ_SAGE ) || ( Class == EAJ_BLACKSMITH ) || ( Class == EAJ_ALCHEMIST ) ) { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } else { mes "[Stylist Dinorah Lacostt]"; mes "Good choice~ I'll do it~"; mes "Very, very~ quickly~"; mes "Yeaaap!"; next; mes "[Stylist Dinorah Lacostt]"; mes "Huh~ It's done very"; mes "quickly~. Isn't it pretty?"; mes "From now on~ swagger on"; mes "the streets with these"; mes "beautiful clothes!!!"; delitem Clothing_Dye_Coupon2, 1; setlook LOOK_CLOTHES_COLOR, 0; close; } } else { mes "[Stylist Dinorah Lacostt]"; mes "No-ou~ You don't have an"; mes "^FF0000Original Clothing Dye Coupon^000000~"; mes "Please visit me again"; mes "after you get one~"; close; } break; case 3: mes "[Stylist Dinorah Lacostt]"; mes "Visit me again if"; mes "you change your mind~~"; close; break; }}
  8. @@Alexandria You could get the input in your npc with input(<variable>{,<min>{,<max>}}). input( .@accName$ );input( .@credAmt$ );callfunc( "changeCredits", .@accName$, .@credAmt$ );function script changeCredits { if( getgroupid() < 99 ) return 0; .@accName$ = getarg( 0 ); .@credAmt$ = getarg( 1 ); .@accId = getcharid( 3, .@accName$ ); .@prefix$ = substr( .@credAmt$, 0, 1 ); if( !.@accId || ( .@prefix$ != "-" && .@prefix$ != "+" ) ) return 0; .@qc = query_sql( "UPDATE cp_credits SET balance = " + .@credAmt$ + " WHERE account_id = " + .@accId ); return 1;}
  9. @@Alexandria You can do it like that: .@userId = 200001;.@creditAmount$ = "+5";callfunc( "changeCredits", .@userId, .@creditAmount$ );function script changeCredits { // Check if the GM Level is 99 or higher. if( getgroupid() < 99 ) return 0; .@accId = getarg( 0 ); .@credAmt$ = getarg( 1 ); // Check if there is a prefix. .@prefix$ = substr( .@credAmt$, 0, 1 ); if( .@prefix$ != "-" || .@prefix$ != "+" ) return 0; // Update the credit amount. .@qc = query_sql( "UPDATE cp_credits SET balance = " + .@credAmt$ + " WHERE account_id = " + .@accId ); return 1;}
  10. @@minx123 You can use OnAgitStart: and OnAgitStart2: to stop your events when WoE starts and OnAgitEnd: and OnAgitEnd2: to start your events again.
  11. @@minx123 If your town was really named invek and would exist in the mapcache of your server, your script would work.
  12. @@minx123 Why do you want it to spawn on a map you don't have installed? The error you get basically says you want to spawn something on a map that doesn't exist in the servers mapcache.
  13. @@minx123 Change the invek in the $@mapinvasion$ array to a town that you have.
  14. @Elunium Go to /re/map_zone_db.conf or /pre-re/map_zone_db.conf depending on if you use renewal or not and add this where the zone name is name: "GvG": disabled_commands: { follow: 1} That will disable @follow if the gm level is below 1 on the GVG maps. You can change it to fit your needs.
  15. @@chryxt As the error said it can't find conf/maps.conf or conf/import/map_conf.txt. Without one of those it doesn't know what to do so of course it errors. You have to make sure that one of those files exists and is in the right directory.
  16. Winterfox

    Issue

    @ The errormessage even tells you what happens and what is to do... [Error]: Can not connect to login-server.[Error]: The server communication passwords (default s1/p1) are probably invalid.[Error]: Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S.[Error]: The communication passwords are set in map_athena.conf and char_athena.conf I would also recommend to use a more descriptive title than Issue especially when you allready used it before.
  17. Hi everyone, i am currently in the planing phase to develop a game from ground up and realized i could need some help. The style of the game i am thinking of goes in the direction of Muramasa / Odins Sphere / Ragnarok Battle Offline / Castle Crashers. There is not much set in stone currently except the basic ideas of mechanigs and some pieces of story that is too rough to share here. So you really could define the path of the game with me from the beginning. Currently i can't offer pay or anything like that but the plan is to develop a prototype to setup a presentation to crowdfund the game to make a serious full version, which also means that people will get paid. If that sounds good to you, you can PM me with the following informations: Age Time you can actively participate in the development process. A text where you can write anything you think that would be important / interesting or whatever is on your mind. A gauge of your skills using numbers from 1 to 5. ( 1 is nearly no skill and 5 is i am a total pro.) The given categories are as following: Graphics: 1 - 5 Programming: 1 - 5 Writing: 1 - 5 Music: 1 - 5 You also can add your own specific skills if you want for example like that: Photoshop: 2 Unity3D: 3 Pixelart: 2 It would be good to provide some examples of works you did before, but it isn't necessary. Also important would be to check if your timezone corelates with mine or you make sure we can communicate with each other to effectivley work together. My timezone is UTC + 02. Thanks for taking your time to read my post and have a nice day. (Sidenote: I didn't know where to put that post, i hope it is allright in off topic.)
  18. @@Pedroooo The problem isn't the that you loose the rid, the problem is that the script gets completly unloaded and loaded again.
  19. @@Emistry The first won't work. Leaving the map would reset the script and the part after the loop would never get executed. The second should work, but it is pretty unrealistic since i guess he wants this function global. For OnPCLoadMapEvent you need to add it via Mapflag to all maps which would produce a high server load and some other changes would be required to make it possible at all.
  20. @@mrlongshen If you have access to the website you link to, put in a javascript to auto set the width of the window on loading. Something like: window.onload = function() { window.resizeTo(300,300);}
  21. @@Aeromesi He is confusing.. why does he talk about a webbrowser? For items it would work like that though: mes "Bring me 1 x <ITEMLINK>Valyrie Shield<INFO>2115</INFO></ITEMLINK>."; There is also a link way to link to a page inside of the game like that: mes "You can <URL>Google<INFO>http://www.google.com/</INFO></URL> anything."; But i don't know if there is a option to pick the size of the window it opens in. I think there isn't.
  22. @@mrlongshen Javascript? http://www.w3schools.com/jsref/met_win_open.asp var myWindow = window.open("URLTOYOURPAGE", "WINDOWTITLE", "width=XPIXELS, height=YPIXELS");
  23. @@mrlongshen As itemscript, yes.
  24. @@mrlongshen .@friendliness = getpetinfo( 3 );if( .@friendliness < 1000 ) { atcommand "@petfriendly " + ( .@friendliness + 10 ); dispbottom "Intimacy raised by 10.";} else { dispbottom "Intimacy is allready at maximum.";}
×
×
  • Create New...

Important Information

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