-
Posts
276 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Jobs Available
Server Database
Third-Party Services
Top Guides
Store
Crowdfunding
Posts posted by ToiletMaster
-
-
yep, place the 192.168.1.2 inside there.
but did you open the ports for 6121,5121,6900? this allows other machines to connect to your friend's network.
if not the entire will be blocked.
12.3.4.5 = Public IP
192.168.0.100 = Local IP
just replace these values with yours.
so meaning all the public ip address should be 126.15.44.132
and local ip address should be 192.168.1.2
Aside from that,
did you set your machine to have a static IP address instead of dynamic IP address? If not it's gonna cause quite a bit of a challenge to make it work lol
-
check my previous post. certain configurations need to be local IP not public IP.
yours is all public IP.
-
lol, i was just about to say about the 2,2 xD
Thanks! This worked! Tested and works greatly!
-
can you try checking your char server, map server whether you've placed your public ip inside there as well ? remember some are local some are public. lemme give you an example on how it looks.
Char_Athena.conf
// Login Server IP // The character server connects to the login server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. login_ip: 192.168.0.100 <------ must be Local IP address // The character server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. //bind_ip: 127.0.0.1 // Login Server Port login_port: 6900 <---- make sure port has been forwarded from your router. // Character Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. char_ip: 12.23.4.5 <---- place public ip address here
map_athena.conf
// Character Server IP // The map server connects to the character server using this IP address. // NOTE: This is useful when you are running behind a firewall or are on // a machine with multiple interfaces. char_ip: 192.168.0.100 <--- Again local IP Address // The map server listens on the interface with this IP address. // NOTE: This allows you to run multiple servers on multiple interfaces // while using the same ports for each server. //bind_ip: 127.0.0.1 // Character Server Port char_port: 6121 <----- Make sure port forwarded from Router // Map Server IP // The IP address which clients will use to connect. // Set this to what your server's public IP address is. map_ip: 12.23.4.5 <---- Insert public address here. // Map Server Port map_port: 5121 <--- Make sure the port is forwaded from router!
subnet.conf
subnet: 255.255.255.0:public IP:public IP
-
192.168.*.***
This is a local IP address, everyone has that and its only unless your friend is hosting within the same network. (Example : Same house, same college or something) If not, make sure your friend is hosting the RO server with all the server files with him. Then, make sure the clientxml must be his public IP address.
you can get his public ip address here http://www.whatismyip.com/
then paste it in the clientxml and also change "certain" ip address from map,login.conf,subnet.conf from there.
- 1
-
Hi guys,
currently i'm using npc sprite 45 warp to act as a "special warp" that requires people to have certain conditions then only they can pass.
Here's what i've done so far, there's no error coming out from the mapserver but the NPC does nothing, my character would move around the warp npc and nothing else. no messages nor warp after passing the requirements
lunette,28,98,0 script lun002 45,{ OnTouch: if (BaseLevel < 100) { mes "I need to be level 100 and above"; close; } else { warp "lunette_in",21,12; end; } }
-
now i noticed...you are using 3 condition checking for
this.....LOL....i thought you are using only 1 part to check for 2
items...but you are using 3 condition checking to check for 2 items..or
checking for 2 items...but display only 1 items.....
which you did here.
lol that's why i was wondering, where did i go wrong this time xD. Well at least the confusion is cleared!
mes "[^80B584Xyratra^000000]"; if ( countitem(909) < 20 ) mes "I still require "+( 20 - countitem(909) )+" more Jellopies from porings"; if ( countitem(935) < 20 ) mes "I still require "+( 20-countitem(935) )+" more Shells from chonchons.";
This is a pretty nice code here hahaha. it can really reduce the amount of lines i need to write
Thanks again Emistry!
All problems solved!
-
user can bypass this when they got ....20 or more item with ID 909....even though they have less than 19 item id 935...
what i mean here.....if either one of the item has fulfill part of
the condition....the another part of the same condition will be
ignored...
which resulting your condition checking failed if you are checking for both.....that's why you have to use || and not using the &&
Err it dint bypass though, everything seems to working fine for it. Here's some picture to show you.
For those who do not know what items are they. Item 909 : Jellopy Item 935 : Shell
Used the same code as before.
if ( countitem(909) < 20 && countitem(935) < 20 ) { mes "[^80B584Xyratra^000000]"; mes "I still require "+( 20-countitem(909) )+" more Jellopies from porings,"; mes "and "+( 20-countitem(935) )+" more Shells from chonchons."; close; } if (countitem(909) >= 20 && countitem(935) <= 19) { mes "[^80B584Xyratra^000000]"; mes "I see you have enough jellopies. But i still require "+( 20-countitem(935) )+" more Shells from chonchons."; close; } if ( countitem(935) >= 20 && countitem (909) <= 19) { mes "[^80B584Xyratra^000000]"; mes "I see you have enough shells, however I still require "+( 20-countitem(909) )+" more Jellopies from porings."; close; }
Picture one, this is without any of the required items.
Picture two shows having less of than both of the required quantity.
Picture Three shows having 20 Jellopies.
Picture Four shows having 20 Shells
Picture 5 shows fulfilling both the required quantity
From doc/script_commands.txt
Comparisons can be stacked in the same condition: && - Is True if and only if BOTH sides are true. ('1==1 && 2==2' is true. '2==1 && 1==1' is false.) || - Is True if either side of this expression is True. 1==1 && 2==2 is True. 1==1 && 2==1 is False. 1==1 || 2==1 is True.
Did i miss any methods of bypassing? Hope to know thanks!
Cheers,
TM
-
Ok lemme explain fully how my quest works.
Edit: Additional Info
Forgotten to mention, however i would prefer the NPC to state both items throughout the entire conversation. That's why i made the script to work like this.
First off all, the quest requires the person to collect 20 Jellopies and 20 Shells.why are you checking for 2 items but inside the condition only mentioned 1 item ?
Now for this part, if you've read the message, it's stated,
I see you have enough shells, But i still require "+( 20-countitem(935) )+" more Shells from chonchons.
"I See you have enough shells " would reconfirm that he has gotten the shells and does not require anymore shells.
and also this is the part where
if (countitem(909) >= 20 && countitem(935) <= 19) {
comes in. once i have 20 items it'll just reconfirm i have enough.
This is to ensure that no negative values come about and confirm that the player has gotten enough shells.
Because i've tested having 100 Jellopies and then the quest giver would say I require -80 More jellopies and 20 more shells. Therefore, i've set the script to work in that sense where if the person has gotten 1 of the requirements, it would not state how much more of the completed item that he require anymore, and would state only the ones he's still missing.
If they have both 20 jellopies and 20 shells, then the quest would continue progressing.
(No hard feelings anywhere, i'm here to learn as well however i currently fail to see my mistake.)
Thank you for your feedback,
Cheers,
TM -
errr, well i tested just now and it din't trigger the other ones, here's how i made it look like. hopefully it'll clear some confusion so far lol.
if ( countitem(909) < 20 && countitem(935) < 20 ) { mes "[^80B584Xyratra^000000]"; mes "I still require "+( 20-countitem(909) )+" more Jellopies from porings,"; mes "and "+( 20-countitem(935) )+" more Shells from chonchons."; close; } if (countitem(909) >= 20 && countitem(935) <= 19) { mes "[^80B584Xyratra^000000]"; mes "I see you have enough jellopies. But i still require "+( 20-countitem(935) )+" more Shells from chonchons."; close; } if ( countitem(935) >= 20 && countitem (909) <= 19) { mes "[^80B584Xyratra^000000]"; mes "I see you have enough shells, however I still require "+( 20-countitem(909) )+" more Jellopies from porings."; close; }
if i used || it would trigger the first command even though i had one of the items and it'll state -80 if let's say i had 100 jellopies.
so i wanted to make sure no negative values came out so that's why i did it like this.
edit:
I believe || would trigger when i fufilled one of the conditions?
where && would trigger when both conditions are fufilled?
-
just one thing to add on though emistry,
because if have more than one if in that script
so i need to use
&&
instead of
||
Thanks again !
-
if ( countitem(501) < 5 && countitem(502) < 5 ) { mes "I still require "+ ( 20-countitem(512) ) +" more apples!"; close; }
The brackets !
Oh gosh! Thank you so much! That's what i was missing the entire time! The bloody brackets! Thanks for your help capuche!
if ( countitem(501) < 5 && countitem(502) < 5 ) {
should be
if ( countitem(501) < 5 || countitem(502) < 5 ) {
Thanks for noticing it emistry! I've changed it as well! Thanks again !
-
Hey feefty thanks for the help, however i'm getting debug messages from this and the chat goes blank.
I've actually tried this code before but it dint work >_>
the error code
[Error]: script:op_2: invalid data for operator C_SUB [Debug]: Data: string value="I still require 20" [Debug]: Data: number value=0 [Debug]: Source (NPC): Xyratra at lunette (43,98)
part of my script
if (countitem(501) < 5) && (countitem(502) < 5) { mes "I still require "+20-countitem(512)+" more apples!"; close; }
-
Hi there, i've searched the forum actually. i've stumbled it before but i can't find back the thread.
Currently i wanna place like example i need 20 apples.
If lets say i only have 5 apples, it'll state that you need 15 more apples.
Thanks!
-
only by saving $var, permanent server variable over hundred-thousands (100,000) lines will harm server
in fact, if you saving with player permanent variable, the server has already hard-coded a limit
http://www.eathena.ws/board/index.php?showtopic=153708&hl=
so the server will warn you about it when it reaches the limit
once it reaches the limit, that variable isn't save into memory, and discarded,
means the player can redo the quest again and again, always read the ( quest == 0 ) stuffs
since the server has already hard-coded a limit, so its harmless
Thanks annie for clearing it up! Now at least i know that i can use set instead of #!
Cheers!
-
Hi there guys,
I have a question regarding about variables. As " # " is considered a permanent variable for all characters of that accounts and is highly not recommended,
what about using the command " set ".
Example,
set hello,1;
would this be considered bad memory for the server? or is it harmless?
Thanks!
-
is a first edition? map is very good ^ ^ excuse my slang are different from kkk kkk america
its fine haha, thanks for your comments and yeah its in it's first edition. certain things need to be added but overall it'll look more or less like this haha
Damn another map RUINed!!! JK
nicely done
haha thanks for your comment! and also...
-
Fuck your map ^ ^ the texture is really cool kkk its first edition?
Sorry kasumy but i don't get your sentence lol, mind rephrasing it?
-
I think the best to appreciate in a map is, the dedication and effort someone does to make his work looks good.
It is easy to say that you added a lot of dedication and inspiration to this map you did. I'm looking forward to see more work from you congratz!
Thank you for the great comment! I'll be staying tuned to look at your maps as well!
-
Thanks for the comments everyone! I appreciate it! I'm actually quite proud of this map edit as well xD
-
Hi there everyone! This is actually my first map edit! Before i start off, do let me thank a few people that really helped me in creating this map!
Acknowledgement & Credits Centre! XD
1. Najara : Thank you Najara for providing free maps to download and use them as an inspiration to other mappers and also allowing me to edit your map! (Even though my mapping skills are horrible xD).
2. Olrox : For giving me the idea of making a ruined map through the Ruined Prontera map! Although mine can't be as near as yours but still, i believe we should take things step by step and hopefully one day i'll be able to reach your level! XD Thanks for the tip for the effect! Works great! (However it doesn't show in the screenshots though )
3. Syouji : For always answering my questions for mapping xD, especially the lighting part where my walls are black in color! Now that i look back, i can't believe i made that mistake of not pulling it up xD. for that, i thank you! Your videos are a great help for using browedit! For other mappers i strongly recommend that you watch his videos! (I remember editing gat 1 tile at a time, i din't know - / + worked for GAT edit xD)
Map Details
Let's get on to the map detail! First off, this map is named after lunette from Najara as this is a map edit for her map xD. And also from a starting/novice town, i've made it into a ruined part of lunette for my story to go! (Sadly i can't explain much details as i'd like to keep it a secret from everyone before i launch it xD).
Aside from that, i've added an effect which is inspired by Olrox's map! Although the screenshot doesn't show it, however when you're in the map, you can see dust/debris floating around which really brings that ruined effect xD.
All of the models here are from RO itself, i consider myself as an amateur mapper still therefore, i've yet to go into Olrox's advance mapping tutorials for importing models.
One of the hardest things i've come across to face is the GAT edits, as i've made almost everything accessible like the final picture, it requires quite alot of GAT editing and making sure everything's perfect! xD
Before & After Pictures!
Before:
After:
In Depth Pictures!
Entrance of the map itself:
Within one of the inner parts of the city:
Last picture just for fun! XD (Act file is a bit problematic though, my head got chopped off
The End
Thank you for your time for seeing the map! I do hope you'll give me a rating and note out some pointers on what i could improve on xD.
P.S.
I've been working on launching this special storyline RO for about 4 months (include scripting, mapping, items and others)! Making sure everything is right before we opened up! xD and i do plan to come out with a bang! That's why i din't show any screenshot logo and others
Cheers!
ToiletMaster
-
mrlongshen has been banned for thinking that i repeated Jaypee's sentence which i did not repeat!
-
Jaypee has been banned for being jealous that i praised Masao's sentence!
-
Masao has been banned for having sense in his sentence.
How to connect using my friends IP?
in Client-side Support
Posted · Edited by ToiletMaster
i prefer if you take a look at this then haha
http://www.youtube.com/watch?v=3LTOOEjRtUo
maybe it'll clear up your mind on what you're currently missing xD.
Edit:
you don't need hamachi's IP address, so long as you have a router with you. again, use whatismyip.com and get your ip address from here. do not use hamachi as that's more confusing than ever lol.
I'd prefer if you're able to host it locally 1st before you host it for public. Because it's much easier to troubleshoot for locally than publicly, because once we know you're able to connect it locally, then we can shorten down the list of problems occuring.
P.S.
I don't have a VPS as well, i've hosted it in my home during my close beta session, no hamachi required or any other 3rd party stuffs. just wanna let you know xD, i believe hamachi is just an extra step to put in so it's not really recommended.