-
Posts
1479 -
Joined
-
Last visited
-
Days Won
16
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Everything posted by Winz
-
isn't this a duplicate of another thread? but I can't find the other one.
-
sure, no prob. pls mark as solved / answered.
-
First of all, you need to comment the comments. try to see the script side by side. open using Notepad++, change language to C and you can see the differences pls mark as solved / answered
-
k k mark as answered / solved.
-
import folder? which? I can't tell.. the settings will still work. it doesn't matter if you're using txt or sql.
-
Bug? no worries! faulty pallete files? check every places, your grf, data folder, etc..
-
i guess rA treats last element array to be null if it's 0. or maybe you can change them to string array variable (i don't recommend it) wow, you changed your profile pic! I thought somebody replied to this thread as well..
-
dat spoiler. such message. so much Indonesia. the kaskus thing. such wow. #onlykaskusthing hmm, do you guys know that JRO has the wonderful headgear things? I wonder, is it custom or how? if it's official, will it be on rA?
-
i don't really understand about WoE. Is FE WoE and SE WoE can be distinguished by the maps? if yes, then you can edit db/skill_nocast.txt, i guess. create a new zone on npc/mapflag/restricted.txt: <map_name><tab>mapflag restricted<tab><zone number> then restrict the skills for that map trhough db/re(or pre re)/skill_nocast_db.txt: <skill name><tab><zone number> right? idk
-
First of all, you need to comment the comments. //===== Hourly Points Script ========================================= //===== By: ========================================================== //= GorthexTiger modified by Nibi //===== Current Version: ============================================= //= 1.0 //===== Compatible With: ============================================= //= Any eAthena Version //===== Description: ================================================= //= Get Points every successful hours of gameplay, you cannot get //= the points even if you miss a second or a minute. A player will //= get a very big bonus if they played 12 hours consecutively //= or without logging out of the game. If the player is vending //= the script will then stop. //===== Additional Comments: ========================================= //= You can modify the script to your liking. //= The default points is Kafrapoints change it anyway if you like. //= 1.1 = Check Chatting too //= 1.2 = 5 Minute Idle Check & @at/@autotrade check. //= 1.3 = Corrected the current balance line on 12 Hours Consecutive //==================================================================== - script hourlypoints -1,{ //Start of the Script OnPCLoginEvent: attachnpctimer ""+strcharinfo(0)+""; initnpctimer; end; OnTimer30000: //Check if Vending (normal or @at) if(checkvending() >= 1 || checkchatting() == 1) { dispbottom "The Ragnarok Online hourly cash points event stopped because you were vending / chatting. Please relog if you wish to start again."; stopnpctimer; end; } //Check if Idle getmapxy( .@map$, .@x, .@y, 0 ); if(@map$ == .@map$ && @x == .@x && @y == .@y) { set @afk, @afk + 1; } //If move timer resets else { set @afk, 0; } set @map$, .@map$; set @x, .@x; set @y, .@y; //Idle Check for 10 Minutes if(@afk == 10) { dispbottom "The Ragnarok hourly points event stopped because you were idle for 5 minutes. Please relog if you wish to start again."; stopnpctimer; end; } end; OnTimer60000: set @minute, @minute + 1; //Check for 1 Minute if(@minute == 60){ set @minute,0; set .@point_amt, 10; //Points to get every hour (default: 10) getitem 7227,10; dispbottom "You received TCG Cards by staying ingame for 1 hour"; set @consecutive_hour, @consecutive_hour + 1; } stopnpctimer; initnpctimer; end; } //--End of the Script hourly.txt
-
did you put type the file name correctly? including the path.. what's the output on mapserver window? if you see "Script could not be loaded" in your client, there should be some messages in mapserver window, either it's "file not found" or script error. it's a simple change. but you probably just did not load it.. *has not been able to properly load it
-
this is the thing that I'd like to say since last night. sure, np! //off topic shouldn't it be GLHF? (Good Luck Have Fun)?
-
wow it's such a complicated code.. If I were you, I probably will do something like this: set .@choice$,"0xFF0000","0xFF4000","0xFF8000","0xFFBF00","0xFFFF00","0xBFFF00","0x80FF00","0x40FF00","0xFA5882","0x0101DF","0x7401DF"; select .@choice$; explode(.@option$,.@choice$,":"); <then on the broadcast> announce ""+strcharinfo(0)+": "+.Message$+"",bc_all,.@option$[@menu-1]; reference: rathena.org/wiki/Select
-
getarraysize (.@headgear); will of course return the value of 1. think about this: .@i = 0; .@j = 1; .@headgear = getd(".headgear" + .@i + "_" + .@j); ---> .@headgear = .headgear0_1; right? Therefore, getarraysize(.@headgear); will ofc be 1. (because .headgear0_1 is the same as .headgear0_1[0] (C's rule)) (could be different in implementation, tho..) but if you want to print all elements on the array, then it shall be like this: for (.@i = 0; .@i <10; .@i++ <or i think: set .@i, .@i+1> { for (.@j = 0; .@j<=1; .@j++) { for (.@k = 0; .@k<10; .@k++){ .@headgear = getd(".headgear" + .@i + "_" + .@j + "[" + k + "]"); debugmes .@headgear; } } } if you want to print the item name, then..... for (.@i = 0; .@i <10; .@i++ <or i think: set .@i, .@i+1> { for (.@j = 0; .@j<=1; .@j++) { for (.@k = 0; .@k<10; .@k++){ .@headgear = getd(".headgear" + .@i + "_" + .@j + "[" + k + "]"); .@headgearname$ = getitemname(.@headgear); debugmes .@headgearname$; } } } is it the question?
-
@c2greentea PLEASE READ THIS COMPLETELY BEFORE USING THE SCRIPT. Modifications: 1. added some IP, SQL feature to the NPC to check it 2. added some SQL commands to remove the variables. how it works: after NPC disguised, when a player guessed, he is checked: 1. if someone else has win it or not (default) 2. how many wins have obtained (exceed max allowed win? if yes, not allowed to win anymore, IP is stored inside `restrict_disguise`) if no: 3. if the current IP was stored inside the `restrict_disguise` (if yes, not allowed to win anymore) if no: 4. set global (account variable) "#disguisewin" to be #disguisewin+1 (if had never win, then variable is added automatically) 5. when max_round has reached, game will end and will remove the variables "#disguisewin" and empty the banned ip table. note: 1. can be bypassed by players who get dynamic IP by: logout, restart modem, login with another ID 2. if someone did (no. 1) and tried to do so, and (unluckily) he got the IP that the previous player used, he will get banned from the game. 3. If there are 10 rounds and was played 7 times, NPC will disguise infinitely till GM stops it, right? therefore, even if it's been more than 3 hours (in 3 hours the game is not ended), then the ban will remain the same. 4. seems like if the event has ended, a player who already touched the max_win must re-login (at least re-select char (esc, char selection, enter)) to join the next game. it's common. 5. be careful when copying the code (white space problems) First, execute this SQL script: CREATE TABLE IF NOT EXISTS `restrict_disguise` (`ip` varchar(100) NOT NULL default '', PRIMARY KEY (ip)) ENGINE=MyISAM; Then you can load this script: //===== rAthena Script ======================================= //= Disguise Event //===== By: ================================================== //= GmOcean //===== Current Version: ===================================== //= 5.1 //===== Compatible With: ===================================== //= rAthena Project //===== Description: ========================================= //= Guess a monster name correctly for prizes. //= //= NOTE: Requires PCRE library installed. //===== Additional Comments: ================================= //= 5.0 Last update by GmOcean. //= 5.1 Cleaned and standardized, mostly. [Euphy] //============================================================ prontera,161,188,6 script Disguise Event 795,{ // Currently set to run every two hours. // To change times, edit the OnClock labels below. set .@GMLevel,60; // GM level required to access NPC. set .@n$,"[^0000FFDisguise NPC^000000]"; if (getgmlevel()>=.@GMLevel) { mes .@n$; mes "Select an option."; next; switch(select("Turn ON/OFF Event:Event Settings")) { case 1: mes .@n$; if (.EventON) { mes "The Event is currently: [^0000FFON^000000]"; mes "Would you like to turn it OFF?"; } else { mes "The Event is currently: [^FF0000OFF^000000]"; mes "Would you like to turn it ON?"; } if(select("Yes:No")==2) close; if (.EventON) { set .EventON,0; set .Timer,0; setnpctimer 0; stopnpctimer; announce "A GM has decided to turn the Disguise Event off. As a result no further prizes will be given.",bc_map | bc_blue; deletepset 1; setnpcdisplay "Disguise Event",795; query_sql("delete from global_reg_value WHERE str = \"#disguisewin\";"); query_sql("delete from `restrict_disguise`;"); close; } set .EventON,1; set .Timer,1; setnpctimer 0; initnpctimer; set .ResetCounter,.ResetCounter+1; announce "The Disguise Event will begin in 3 minutes.",bc_all | bc_blue; announce "The Event is being held in middle Prontera.",bc_all | bc_blue; close; case 2: mes .@n$; mes "Pick a setting to modify."; next; switch(select("Monster Display:Number of Rounds:Prize Settings")) { case 1: setarray .@r$[0],"Disguise as all monsters.","Disguise as MVPs only."; mes .@n$; mes "Choose a disguise rule."; next; set .Rule, select(implode(.@r$,":")); mes .@n$; mes "The Disguise Rule has been set:"; mes " > ^0055FF"+.@r$[.Rule-1]+"^000000"; close; case 2: mes .@n$; mes "Input the number of rounds you want the event to last."; mes "Current number: [^0000FF"+.Rounds+"^000000]"; next; input .@Rounds; set .Rounds,.@Rounds; mes .@n$; mes "The number of rounds has been changed to "+.Rounds+"."; close; case 3: mes .@n$; mes "Input the Item ID of the prize given each round."; mes "Current item: [^0000FF"+getitemname(.Prize)+"^000000] (ID #"+.Prize+")"; next; input .@Prize; mes .@n$; if (getitemname(.@Prize)=="" || getitemname(.@Prize)=="null") { mes "That item does not exist. Please try again."; close; } set .Prize,.@Prize; mes "Input the amount to be given."; next; input .@amount; mes .@n$; if (.@amount<=0 || .@amount>=10000) { mes "That amount is invalid. Using default ammount of 1."; set .@amount,1; next; mes .@n$; } set .PrizeAmt,.@amount; mes "The Prize has been changed successfully."; mes "Prize: "+.PrizeAmt+"x [^0000FF"+getitemname(.Prize)+"^000000]"; close; } } } if (.EventON) end; mes .@n$; mes "Welcome."; mes "How may I be of assistance?"; if(select("Information:Nothing, just passing through.")==2) close; next; mes .@n$; mes "This event is quite simple."; mes "At the start of the event, I will"; mes "disguise myself as a random"; mes "monster. You have to shout"; mes "that monter's name out loud."; next; mes "If you are correct, you will receive"; mes "a prize. If not, keep trying!"; mes "That's all that there is to this event."; close; OnInit: set .EventON,0; set .Wait,0; set .Winner,0; set .ResetCounter,0; set .Rounds,15; set .Prize,6153; set .PrizeAmt,75; set .Rule,1; setarray .MVP[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373, 1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688, 1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131, 2156,2165; set .BlackList$, "1003,1006,1017,1021,1022,1027,1043,1075,1136,1137,1168," + "1171,1172,1173,1181,1187,1210,1217,1218,1222,1223,1224,1225,1226,1227,1228," + "1233,1284,1407,1411,1414,1495,1501,1900,1996,2000,2001,2002,2003,2004," + "2005,2006,2007,2011,2012,2025,2028,2029,2030,2031,2032,2033,2034,2035," + "2036,2037,2038,2039,2040,2041,2042,2043,2044,2045,2046,2047,2048,2049," + "2050,2051,2052,2053,2054,2055,2056,2057,2058,2059,2060,2061,2062,2063," + "2064,2065,2066,2067,2075,2076,2077,2078,2079,2080,2081,2083,2084,2085," + "2086,2087,2088,2089,2090,2091,2092,2093,2094,2095,2096,2097,2098,2099," + "2100,2101,2012,2103,2104,2105,2106,2107,2108,2109,2110,2111,2112,2113," + "2114,2115,2116,2117,2118,2119,2120,2121,2123,2124,2125,1496,"; end; OnClock0000: OnClock0200: OnClock0400: OnClock0422: OnClock0600: OnClock0800: OnClock1000: OnClock1200: OnClock1400: OnClock1600: OnClock1800: OnClock2000: OnClock2227: setcell "prontera",163,192,159,185,cell_walkable,0; // Sets cells unwalkable set .ResetCounter,.ResetCounter+1; set .EventON,1; set .Timer,1; set .Wait,1; announce "The Disguise Event will begin in 3 minutes. The Event is being held in middle Prontera.",bc_all | bc_blue; announce "RULE: Do not flood while the event is on or you might be silenced for 30 mins by a GM.",bc_all | bc_blue; announce "Prize: 75 SPECs per round, total of 15 rounds.",bc_all | bc_blue; announce "NOTE: Some cells near my area shall be unwalkable during the event.",bc_all | bc_blue; setnpctimer 0; initnpctimer; end; OnTimer10000: if (.Timer || .Change) end; set .Wait,0; goto iDisguise; end; OnTimer30000: if (.Timer) end; set .Change,0; setnpcdisplay "Disguise Event",795; npctalk "You took too long to guess what I was. Please wait 10 seconds while I disguise again."; specialeffect EF_DETECT2; set $MonsterName$,""; deletepset 1; stopnpctimer; setnpctimer 0; initnpctimer; end; OnTimer60000: if (.Timer!=1) end; announce "2 minutes left. The Disguise Event is being held in middle Prontera.",bc_all | bc_blue; announce "RULE: Do not flood while the event is on or you might be silenced for 30 mins by a GM.",bc_all | bc_blue; announce "Prize: 75 SPECs per round, total of 15 rounds.",bc_all | bc_blue; end; OnTimer120000: if (.Timer!=1) end; announce "1 minute left. The Disguise Event is being held in middle Prontera.",bc_all | bc_blue; announce "RULE: Do not flood while the event is on or you might be silenced for 30 mins by a GM.",bc_all | bc_blue; announce "Prize: 75 SPECs per round, total of 15 rounds.",bc_all | bc_blue; end; OnTimer180000: if (.Timer!=1) end; announce "The Disguise Event has begun!",bc_all | bc_blue; announce "The Event is being held in middle Prontera.",bc_all | bc_blue; announce "Prize: 75 SPECs per round, total of 15 rounds.",bc_all | bc_blue; set .Timer,0; stopnpctimer; setnpctimer 0; initnpctimer; iDisguise: if (.Rule==1) { set .Winner,0; set .Monster,1000+rand(1,995); if (compare(","+.BlackList$+"," , ","+.Monster+",")) goto iDisguise; if (.Monster==.LastMonster) goto iDisguise; set .LastMonster,.Monster; set $MonsterName$,getmonsterinfo(.Monster,0); } if (.Rule==2) { set .Winner,0; set .Monster,rand(49); set $MonsterName$,getmonsterinfo(.MVP[.Monster],0); } deletepset 1; sleep 1000; if (.Rule==1) setnpcdisplay "Disguise Event",.Monster; if (.Rule==2) setnpcdisplay "Disguise Event",.MVP[.Monster]; defpattern 1,"([^:]+):.\\s*"+$MonsterName$+".*", "iCorrect"; activatepset 1; set .Change,1; setnpctimer 0; end; iCorrect: if (.Winner) { dispbottom "Someone has already won this round."; end; } set .maxwin, 5; if (#disguisewin >= .maxwin) { dispbottom "Your ID has won "+#disguisewin+" rounds of this disguise game."; dispbottom "According to GM, you are not allowed to win anymore on this game."; emotion e_sob,1; query_sql("INSERT INTO `restrict_disguise` (ip) VALUES (\""+escape_sql(getcharip())+"\");"); end; } set @ipwin, query_sql("SELECT `ip` from `restrict_disguise` WHERE `ip` = \""+escape_sql(getcharip())+"\" "); if (@ipwin > 0) { dispbottom "Your IP has won "+.maxwin+" rounds of this disguise game."; dispbottom "According to GM, you are not allowed to win anymore on this game."; emotion e_sob,1; end; } set #disguisewin, #disguisewin+1; set .Winner,1; set .RoundCount,.RoundCount+1; deletepset 1; activatepset 1; getitem .Prize,.PrizeAmt; announce strcharinfo(0)+" is correct! I was disguised as: "+$MonsterName$+"",bc_map | bc_blue; if (.RoundCount>=.Rounds) { setnpcdisplay "Disguise Event",795; set .RoundCount,0; set .Change,0; set .EventON,0; setnpctimer 0; stopnpctimer; announce "Thank you all for playing. That was the last round of the Disguise Event. Come play again later.",bc_all | bc_blue; setcell "prontera",163,192,159,185,cell_walkable,1; // Sets cells walkable again query_sql("delete from global_reg_value WHERE str = \"#disguisewin\";"); query_sql("delete from `restrict_disguise`;"); end; } setnpcdisplay "Disguise Event",795; set .Change,0; setnpctimer 0; end; } oh, and something like [SQL]: DB error - Duplicate entry '127.0.0.1' for key 'PRIMARY' will appear if winning players still guessing the disguise. don't care about this. (i'm lazy to do this. try to modify it using insert into ... if does not exist) *guessing correctly
-
Alright, I think I solved it. If you visit the site (ebilro.altervista.org) you should see the Amatic font now (http://www.fontsquirrel.com/fonts/amatic). Now time to learn how to add server information (php right?). Although I don't host a server, can I still do this? I'm assuming it will just say that everything is offline. yes. PHP has variables thing to be set. you also can render PHP using Apache (XAMPP)
-
wow dat chain quote.. I installed my flux from git/rathena/fluxcp but I didn't get such error. I wonder why did you get some.. and about the screenshot.. AdBlock? XD JK
-
if you got that one, then probably this? http://stackoverflow.com/questions/8028957/how-to-fix-headers-already-sent-error-in-php
-
I assume you are using a theme, named "FluxWOW" then, open the addons folder, go to vote4points (or something (IDK)) and go to the "theme" folder. change the folder name inside it to "FluxWOW". this should do the trick..
-
FluxCP Green Theme does not show somethings on view list.
Winz replied to Tales's question in Web Support
hmm, I believe the theme does not come with the views list you wished to see. amd. what is it exactly? screenshot? (and the address bar pls) -
i think it's best to leave the nameserver left default. but better ask them.
-
Request a script that can input same ip cant join the event map
Winz replied to jimmyyheah's question in Script Requests
okay, nvm. AS I know, you are NOT eligible to get client's MAC address. the only thing you can ban is their character, ID, and IPv4 IP (which if the player got a dynamic IP, will be able to be bypassed by restarting modem) What do you wish from @afk or @afk2? THIS? http://rathena.org/board/topic/71389-afk-with-afk-hat/ or this? http://rathena.org/board/topic/82415-afk-command/?p=233804 found from here: http://lmgtfy.com/?q=rathena+%40afk -
what's the connection between GIT and root access? to install GIT? then ask your server provider to install GIT for you to use..
-
As I know, when players logout, the copied skill will be deleted (unless I used preserve?). that's how I played Stalker long ago and I copied Storm Gust from my friend for WoE.