Oxxy
-
Content Count
142 -
Joined
-
Last visited
-
Days Won
5
Posts posted by Oxxy
-
-
How to change this script? i want that the stylist only offer Hairstyle change and Hairstyle Color, and the cloth dye will be remov
//===== Hercules Script ======================================//= Stylist//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.1//===== Description: =========================================//= Changes your hair style, hair color, and cloth color.//===== Additional Comments: =================================//= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]//============================================================prontera,170,180,1 script Stylist#custom_stylist 2_M_DYEINGER,{ setarray .@styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color"); setarray .@Look[1],7,1,6; set .@s, select(" ~ Cloth color: ~ Hairstyle: ~ Hair color"); set .@Revert, getlook(.@Look[.@s]); set .@style,1; while(1) { setlook .@Look[.@s], .@style; message strcharinfo(0),"This is style #"+.@style+"."; set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)"; switch(select(.@menu$)) { case 1: set .@style, ((.@style!=.@styles[.@s])?.@style+1:1); break; case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s]); break; case 3: message strcharinfo(0),"Choose a style between 1 - "+.@styles[.@s]+"."; input .@style,0,.@styles[.@s]; if (!.@style) set .@style, rand(1,.@styles[.@s]); break; case 4: set .@style, .@Revert; setlook .@Look[.@s], .@Revert; break; } }}
Anyone can help? thank yoU!
//===== Hercules Script ======================================//= Stylist//===== By: ==================================================//= Euphy//===== Current Version: =====================================//= 1.1//===== Description: =========================================//= Changes your hair style, hair color, and cloth color.//===== Additional Comments: =================================//= 1.1 Switched to 'getbattleflag', credits to Saithis. [Euphy]//============================================================prontera,170,180,1 script Stylist#custom_stylist 2_M_DYEINGER,{ setarray .@styles[1],getbattleflag("max_cloth_color"),getbattleflag("max_hair_style"),getbattleflag("max_hair_color"); setarray .@Look[1],7,1,6; set .@s, select("~ Hairstyle: ~ Hair color"); set .@Revert, getlook(.@Look[.@s+1]); set .@style,1; while(1) { setlook .@Look[.@s+1], .@style; message strcharinfo(0),"This is style #"+.@style+"."; set .@menu$, " ~ Next (^0055FF"+((.@style!=.@styles[.@s+1])?.@style+1:1)+"^000000): ~ Previous (^0055FF"+((.@style!=1)?.@style-1:.@styles[.@s+1])+"^000000): ~ Jump to...: ~ Revert to original (^0055FF"+.@Revert+"^000000)"; switch(select(.@menu$)) { case 1: set .@style, ((.@style!=.@styles[.@s+1])?.@style+1:1); break; case 2: set .@style, ((.@style!=1)?.@style-1:.@styles[.@s+1]); break; case 3: message strcharinfo(0),"Choose a style between 1 - "+.@styles[.@s+1]+"."; input .@style,0,.@styles[.@s+1]; if (!.@style) set .@style, rand(1,.@styles[.@s+1]); break; case 4: set .@style, .@Revert; setlook .@Look[.@s+1], .@Revert; break; } }}
try this, not sure if it will work correctly tho
-
5 hours ( 60 seconds * 60 minutes * 5 )
Btw, better do it that way (waitingroom):
OnInit:delwaitingroom;waitingroom "Bossnia MVP",0;end;}
either way map server will throw warnings every time you @reloadscript
Btw, for saying Thanks there is "Thumbs up" (green) button :>
-
In your script, after line
bossnia_04,142,61,1,1 boss_monster Ifrit 1832,1,7200000,0,0
add right curly
}
got another error.. @@Oxxy
Sorry, wrong place to place right curly.
Delete the one I said to you and add it here:
}else{ set zeny,zeny-50000000; warp "bossnia_0" + .@choice,202,204; set #delay,#delay + ( 3600 * 5 );}end;
after end;
so it will be like this:
}else{ set zeny,zeny-50000000; warp "bossnia_0" + .@choice,202,204; set #delay,#delay + ( 3600 * 5 );}end;}
-
In your script, after line
bossnia_04,142,61,1,1 boss_monster Ifrit 1832,1,7200000,0,0
add right curly
}
-
Here it is, bro:
prontera,150,150,6 script Aura NPC 700,{ mes "[Aura NPC]"; mes "Please choose an aura from the list!"; switch(select("Aura 1:Aura 2:Aura 3:Aura 4: Aura 5: Aura 6")) { case 1: next; mes "[Aura NPC]"; mes "Your Aura was set to #1"; aura 586,-1,-1; close; case 2: next; mes "[Aura NPC]"; mes "Your Aura was set to #2"; aura 586,362,-1; close; case 3: next; mes "[Aura NPC]"; mes "Your Aura was set to #3"; aura 586,362,240; close; case 4: next; mes "[Aura NPC]"; mes "Your Aura was set to #4"; aura 418,-1,-1; close; case 5: next; mes "[Aura NPC]"; mes "Your Aura was set to #5"; aura 486,-1,-1; close; case 6: next; mes "[Aura NPC]"; mes "Your Aura was set to #6"; aura 485,-1,-1; close; }}
mrlongshen reacted to this -
You're missing 1 right curly, add it on line 292 after
bossnia_04,142,61,1,1 boss_monster Ifrit 1832,1,7200000,0,0
-
Actually this will be right:
unsigned int ratio = skillratio + 100*(8 + st->sp/10); //You'd need something like 6K SP to reach this max, so should be fine for most purposes. if (ratio > 60000) ratio = 60000; //We leave some room here in case skillratio gets further increased.
means if you have 6k sp the formula will be:
skillratio + 100*(8+6000/10) = skillratio + 100*608 = skillratio + 60800
-
change this:
if (zeny < 50000000) { mes "[Riss]"; mes "You don't have enough money..."; mes "Come back when you get at least 50,000,000 zeny."; close; }
into this:
if (countitem(673) <10) { mes "[Riss]"; mes "You don't have enough items"; mes "Come back when you get "+(countitem(673) - 10)+" more "+getitemname(673)+"."; close; }
and then change this:
set zeny,zeny-50000000; warp "bossnia_0" + .@choice,202,204; set #delay,#delay + ( 3600 * 5 );
into this:
delitem 673,10; warp "bossnia_0" + .@choice,202,204; set #delay,#delay + ( 3600 * 5 );
-
use SMF and be happy.
-
Maybe I could help you doing that
-
in this part:
if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) { successrefitem .@part; next; emotion e_no1; mes "[Blacksmith Mighty Hammer]"; mes "The sound refreshes my mind everytime I hear it."; mes "Here, have it. Refine succeeded flawlessly!"; close; }
change to that:
if (getequippercentrefinery(.@part) > rand(100) || getequippercentrefinery(.@part) > rand(100)) { successrefitem .@part; if(getequiprefinerycnt(.@part) == 12) announce strcharinfo(0)+" refined item "+getitemname(getequipid(.@part))+" to the +12 state!",bc_all; next; emotion e_no1; mes "[Blacksmith Mighty Hammer]"; mes "The sound refreshes my mind everytime I hear it."; mes "Here, have it. Refine succeeded flawlessly!"; close; }
Neferpitou reacted to this -
Its a bug and already reported. Wait to get it fixed :-)
-
-
Correct me if I am wrong, but I think OnPCDieEvent won't work inside function.idk what for I created this, but feel free to use, it allows you to put this function inside the bonus of item so it will be used to ressurect yourself.
syntax is:
CallFunc("ResItem", <itemID>, <itemAmount>, <1:0>);
function script ResItem { set .@resItemEnabled, 1; // Res item enabled. set .@itemID, getarg(0); // Item ID used for ressurection set .@itemIDa, getarg(1); // Item amount used for ressurection set .@delitem, getarg(2); // Delete item after ressurection? 1 = yes, 0 = no OnPCDieEvent: if(killedrid == getcharid(0) && .@resItemEnabled) { if(countitem(.@itemID) >= .@itemIDa) { if(.@delitem) delitem .@itemID, .@itemIDa; atcommand "@alive"; } else end; }}
Not sure about it, I've created that back in 2012?~
-
Hey guys!!
I'm bringin here, the source modification I wanted:
a guy from the Cronus board made this,
It's will change the default dispbottom to a dispbottom color, with a optional parameter!!
Example:dispbottom "Hello everyone!!"; //Displays a message on default color
dispbottom "I wanted this so bad!",0xFF1493 //Displays a pink message
Link to patch
I don't know if you can apply dis .patch in your Hercules emulator, I think you should apply this manually!!
**Sorry for my english!!
And thanks AnnieRuru, the SlexFire (who made's this modification) has wrote credits to you!!
We had this done a while ago, check my signature.And yours code is really messy.
-
Great, a feature to remove gm sprites in game, now make a command to put them back
Because of thiswhen i type a msg. my GM sprite gone.. why is this happening??..
and my character become targetable..
not yet saying any msg.
after typing a msg..
and become targetable..
It does remove it only for a short amount of time and other players see you using GM sprite anyway :-)
-
when i type a msg. my GM sprite gone.. why is this happening??..
and my character become targetable..
not yet saying any msg.
after typing a msg..
and become targetable..
-
Building plugins under Windows
Building plugins under Linux
What this plugin does?:It allows you to make your chat colored!
New commands:
2 script commands:*color2hex(var) - converts the decimal value into hex, showing the color in #HEXFORMAT (like #FF0000);*setcolor(var) - sets CHAT_COLOR variable to var value;
@color "HEX_COLOR";example usage: @color 0x0000FF - will set your chat color to Blue.
Changelist:
version 1.0: initial release
Screenshots:
Added other version of chat_color, now it doesn't disguise you and make you targetable, tho you can't see by yourself the color of your chat. That is done this way because the packet 0x2C1 actually was made to be used only by npcs. For you it will look like normal (green in chat, white above the head), others will see the true color(red, for example, if you set your @color 0xFF0000). :-)
Example script to set color:
prontera,150,150,6 script chat color 700,{ mes color2hex(CHAT_COLOR); mes CHAT_COLOR; if(select("close:set color value") == 1) close; input .@a$; setcolor(axtoi(.@a$)); close;}
-
kay, here you go: download VertrigoServ (ye, you could use clean mySQL, tho i prefer installing vertrigo). Just google for it.
After you installed, download server from GIT using TortoiseGIT, if its server for localhost, you don't actually need to change that s1/p1 account and password.
then go to conf folder, open map-server.confuncomment this:
char_ip: 127.0.0.1map_ip: 127.0.0.1
save, close. open char-server.conf
uncomment this:
login_ip: 127.0.0.1char_ip: 127.0.0.1
save, close. open inter-athena.conf
scroll till the sql settings, put everywhere in
account field: rootpassword field: vertrigodb field: ragnarok
then open browser, type 127.0.0.1, go to PHPMyAdmin, type in root / vertrigo (acc / pass) create new db ragnarok and import main.sql + log.sql files from server/sql folder.
now go to server/src/common/mmo.h and find this lines:#ifndef PACKETVER #define PACKETVER 20131223#endif // PACKETVER
change the date to yours EXE date. recompile server. Now the server side is ready :-) (if i didn't miss anything)
-
db/re/map_zone_db.conf
insert the "loadevent" into the mapflags brackets of the zone named "All".
mapflags: (
"loadevent",
)
- script asdfghjkl -1,{ end;OnInit: bindatcmd "shower",strnpcinfo(3)+"::OnShowerCommand",80,80; end;OnShowerCommand: .@size = query_sql("select account_id form `char` where online = 1 and last_map ='"+strcharinfo(3)+"'",.@aid); for ( .@i = 0; .@i < .@size; .@i++ ) { if(!attachrid(.@aid[.@i])) continue; if(CheckVending()) continue; getitem 501,100; announce "Something has been drop from the sky!",bc_self,0xFFC0CB; } end;OnPCLoadMapEvent: query_sql("UPDATE `char` SET last_map='"+strcharinfo(3)+"'");end;}
The problem in your script is that last_map isn't getting updated real time so some of players may not get the items.
-- oh, I see your solution, tho that's madness, imagine server with 200 online. Query'll load server a lot.
correct line:
.@size = query_sql("select account_id form `char` where online = 1 and last_map ='"+strcharinfo(3)+"'",.@aid);
have to be
.@size = query_sql("select account_id FROM `char` where online = 1 and last_map ='"+strcharinfo(3)+"'",.@aid);
-
Give players stuff © Oxxy, 2015, v 1.2
Changelist:
v1.0 Initial release v1.1 fixed some typos, should be working correct now. v1.2 no variable can be set via function, deleted that.
Syntax:
callfunc "New_Player", <JOB_ID>, <BASE_LEVELS>, <JOB_LEVELS>, <ZENY>, <STATUS_POINTS>, <SKILL_POINTS>, <I1>,<I1A>, <I2>,<I2A>, <I3>,<I3A>, <I4>,<I4A>;
IX stands for Item ID X
IXA stands from Item ID X Amount
Example usage in scripts:
callfunc "New_Player", 1, 15, 10, 5000, 0, 0, 4001, 1, 7227, 2, 607, 3, 0, 0;
example above will give player Swordman job, 15 base levels, 10 job levels, 5000 zeny, 0 status points, 0 skill points, and items Poring card x1, TCG Card x2, Ygg. berry x3 and the 4th item won't be given.
Useful to create starter NPCs fast.
PLEASE, USE ONLY LATEST SCRIPT. (LAST VERSION: 1.2)
-
You gotta compile plugin, because there's no efficient way to attach every player on map.
-
You could also use something like this:
-<tab>script<tab>MVPoints<tab>-1,{OnNPCKillEvent:switch(killedrid) { case MVPID:case MVPID1:case MVPID2:and so on...#MVPPoints += 1;dispbottom "You've gained 1 MVP Point for killing MVP!";end;}
Adding multiple locations to script above:
OnNPCKillEvent:
// EDDGA
if ( getmonsterinfo( killedrid, MOB_MVPEXP ) && (strcharinfo(3) == "pay_fild11" || strcharinfo(3) == "OTHERMAP" || strcharinfo(3) == "OTHERMAP1")) {set #CASHPOINTS, #CASHPOINTS + 10;end;} -
Interesting script idea but man... Why would a player receive random bonus stat points? You should just make it a set variable where the player gets like.. 10 stat points or so or whatever you want it to be. This would cause a lot of unbalancing issues and honestly it would be unfair for every player who maxes out different characters. One player achieves max level and gets 500 stat points but another achieves max level and only gains 300 stat points. They're left with 200 stat points less than the other player. In my opinion you should revise this because this is exploitable in the legit way of playing the game.
That can be useful on high level servers, where you level up really fast, that makes people level up a bit more if they don't like the bonus they've got. On standart server (99/70, 150/80) this script won't be any useful, because the leveling up process is really frustrating. Tho you can just give a fixed amount of status points.
why not get server's max lvl by using the already defined variable?
.serverMaxLevel = MAX_LEVEL;
Didn't know about that, ty for pointing that out :-)
-- Script updated. Check version 1.1.1
Leveling set
in Database Requests
Posted
1,2) you could use my mod
its outdated tho, but if you have some skills, it will be easy to you, and then you could use 2 new variables to manage player's exp. :>
3. when you give item do something like
then
also you could use rentitem.
4)