Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - Truce

Pages: [1] 2 3 4 5
1
Add-Ons / Some client-side add-ons
« on: May 10, 2014, 01:54:56 PM »
I reinstalled Blockland earlier this week to work on a mod idea I had, but when playing on other servers, I couldn't help but miss some old edits I made. I re-wrote them to make sure there weren't any errors and to clean up the code (shoutouts to Cassyroll for the movement logic trick). Incase anyone else finds these edits useful, I figured I'd post them all in one topic. Again, they're nothing fancy, and I'm sure another timestamp add-on exists, but these are the ones I've personally been using since I got used to other games' controls.

Client_DMKeys.zip - Lets you use number keys to select tools when building is disabled.
Client_SmoothMovement.zip - Improves movement slightly by null-cancelling.
Client_TF2Crosshair.zip - Simple port of a Team Fortress 2 crosshair.
Client_Timestamps.zip - Adds timestamps in front each line in your chatbox.

Preview of crosshair and timestamps: http://i.imgur.com/FofSR2j.png

2
General Discussion / Looking for large, interior builds
« on: May 06, 2014, 10:17:52 PM »
Hi guys, I'm making a simple gamemode framework through custom events and was wondering if anyone had some pre-existing saves they'd be willing to let me use for the initial testing and hosting. They'll be events that could be integrated into any build, but the best builds gameplay-wise will be those that are completely indoors, have multiple routes to get from one part of it to another, and are an expansive build overall. Also, using only default bricks and not having any events such as light switches is a plus. There's no required theme for the build, as long as it has one, because it'd be cool to get a few different themes (space, underground, warehouse, etc) for variety.

For the gameplay itself, think like a scavenger hunt type of thing, but you know where the objects you are searching for are located, since they're in fixed positions in the build. So then it comes down to how to use the mobility tools you are given to traverse the most optimal route to collect all the objects in the shortest amount of time. Maybe you have to touch them, maybe you have to click them, or maybe even you're given a gun and you have to shoot them while also trying to move fast through the build. These are all up to the input events so some interesting challenges can be made to try to get the fastest time on.

(moved from suggestions & requests due to target contributors)

3
Suggestions & Requests / Looking for large, interior builds
« on: May 05, 2014, 09:03:16 PM »
http://forum.blockland.us/index.php?topic=257444

(moved to general discussion due to target contributors)

4
General Discussion / Beta City - Solo jump to the museum
« on: October 05, 2013, 11:33:50 AM »
Don't bother asking yourself "Wtf is this thread?" and instead just take notes.

If you've played Zapk's Prop Hunt server, sometimes those pesky props get in to the museum and you need to find a way in to chase them down, so you have to call over a friend to jump up on top of to get on the roof. However, you can do this alone by utilizing a ramp:

http://www.youtube.com/watch?v=AKKu1SvOUlg

1. Stand on a ramp and jump to the top of the white building by holding W or S (do not press A or D)
2. Face the museum and tap W to slow yourself down (do not start moving forward before step 4)
3. Continue doing this until you are far back enough to do step 4 and jumping almost straight up
4. Hold W so that you land while moving forward and as close to the edge of the flat surface as possible
5. Raid the exhibits!

Everyone knows if you jump down a ramp you start to go faster, but no one's ever really found out why/how/how to control it. For fun, I've been attempting to do so, and this is an example of how you can gain noticeable distance with minimal pre-jump space. Plus, it's not just "look how far you can go," but a useful technique in one of the more popular gamemodes recently. The key to the technique in the video is that you began jumping by standing on a ramp, and there's a bit more to it like the direction of the ramp but I can't fully explain it yet.

Strange kind of subject for this game, I know, but there you go.

I moved this from Gallery because I'll eventually turn it into a topic all about speed control.

5
Gallery / MOVED: Beta City - Solo jump to the museum
« on: October 05, 2013, 03:38:36 AM »

6
Modification Help / [Resource] Webserver V4 - Making use of WebSockets
« on: October 01, 2013, 02:26:01 PM »
this is in coding help because you guys are cooler than modification discussion


Torque Webserver


Script Iterations:

* Version 1 (2010)
* Version 2 (2011)
* Version 3 (2012) - Latest release
* Version 4 (2013) - You are here

Test Pages:

Test pages are available for their respective versions in each of the previous topics (links above).
Version 2's thread has the most information and resources since that was the biggest overhaul.

Features:

Quote from: V2 Feature List

I'm still calling it beta, so test out these features sometime:

  • Preferences for port, debug echos, local IP restriction, timeout in MS, root folder, default index page, and Torquescript tag prefixes and suffixes can be set in the Webserver creation.
  • Setting of variables familiar to PHP users such as  $_GET, $_POST, and $_SERVER. The $_SERVER variables are dynamically created in Webserver::finish based in on the header received.
  • Torquescript located in pages is evaluated before the data is sent to the client, allowing for very dynamic pages such as a real-time score display or even an external server management page.

From a more in depth point of view, it has all this and more:

  • Easily editable settings in object creation
  • Optional debug echos can be turned on
  • Accepts incoming connections on any port
  • Can filter to only local IP addresses
  • Connections can timeout after a delay
  • Lines parsed as received to allow for binary data
  • Binary data can be submitted (POST)
  • Lines parsed as a whole after all submitted
  • Temporary file used for reading binary data
  • Sets $_GET based on provided arguments
  • Sets $_SERVER based on provided header
  • Sets $_POST based on provided body data
  • Allows for defaulting to an index page
  • Sends a 404 error if page is not found
  • Support functions include, print, and puts


Quote from: V2 to V3 Changelog

  • localOnly restriction now checks with isLANAddress
  • Cleaned up some of hard coding with Webserver methods
  • Client object is deleted after disconnecting
  • Improved basetype methods to be more dynamic
  • Added version of base64Encode to work with null values
  • Added a function to pad a basetype on the left
  • WebSockets! And support functions for them!


Quote from: V4 Planned Features

  • Redirect image requests to an external webserver
  • Show GUI on demand by converting to HTML and Javascript dynamically




Ok, so it's another year and another time I'm feeling motivated to add a bunch of stuff to my webserver. We last left off last year with the addition of WebSockets, and there was talk of making the server redirect image requests, but that never got done since WebSockets were more important. So I'll add that in this time, as well as this potentially cool thing I've been thinking about for some time now: in-browser GUI!

Basically, there would be functions in place that you would pass a GUI object to, and it would loop through it and its children objects and create an HTML layout representing the GUI. Here is an early picture I took when I was just starting, which includes how little the .tqs pages require in them: http://i.imgur.com/l6j3d0g.png

What are the benefits of this? Well, practically, maybe not a lot. But one thing it can do is deliver GUI to the client without them having to download anything. Of course, downloading is always the better option, but in some cases it isn't available, such as the user being unable to install add-ons - which actually happens - or if the gamemode developer wants to be able to update the GUI on the fly without requiring constant updates from the client.

Going with the idea of delivering GUI on demand, I set up a test. When a client joins the server, they would click a link in the welcome message to go to a web page they would leave open in the bacgrkound, so windowed mode is recommended. Then, when a GUI needs to open, the server tells the browser through a WebSocket of a page containing the GUI conversion code, which opens in a pop-up. Here is how it would work, where the browser window is the client's and the console is the server's: http://www.youtube.com/watch?v=U-Mz1nZM2tw&hd=1

I post this mainly so I can get your feedback as coders (and so I actually get it done):
  • Would you find in-browser GUI to be useful as a gamemode host?
  • If you were to utilize this, what features would you need implemented?
  • Are there additional features you would like implemented in the webserver?

Last topic had Lugnut contributing some code, so of course feel free to post anything you've edited with the webserver if you want me to include it in the base script. Otherwise don't hesitate to post suggestions/feedback/questions, as this is probably my favorite Torque project and I want it to be as complete as possible.

Thanks.

7
Add-Ons / Buildable Vehicle (by Truce) (Updated 27 Dec 2012)
« on: December 25, 2012, 12:00:22 PM »
I HIGHLY SUGGEST READING THE DESCRIPTION BEFORE DOWNLOADING

Buildable Vehicle
A vehicle that can be built on and driven.

Description
Yes, buildable vehicles. First off, this is not related to the buildable vehicles already "released" by Brian Smith, nor the elevator events by Xalos. This is a completely seperate script made by a completely seperate scripter. Their methods rely on constantly moving static shapes, which look choppy and lag behind, especially in large volumes. This script uses custom models with several nodes to display "bricks" on the vehicle chassis that move just as fluidly as a driver would in the vehicle - seemingly perfectly.

How do I use it? First, install the add-on like any normal add-on. You should not have to change any settings nor disable any add-ons, but if you find a conflicting add-on please let me know so I can modify the code. Next, spawn a vehicle like you would normally, selecting "Buildable Vehicle" from the list. To build on a vehicle, simply left click on it. As long as you have full trust with the owner, you will be able to use your ghost brick to place bricks on the vehicle like you would normally when building. I suggest turning off raycasting and collisioning on the spawn brick before spawning it so it rests flat on the ground. When you want to build normally again, either click the car you were building on, or Self Delete if you are unable to find the car to click it.

What are additional editing options? You can undo any actions you apply to the vehicle with your normal undo key, which includes being able to undo building, coloring, and erasing. Erasing is an action you can use by placing bricks after you take out the "FX - None" spray can (you will be notified in chat). Anything inside your ghost brick will be erased with this method, and to stop simply switch to any other spray can. Additionally, you can use the slash command /togglechassis to toggle the visbility of the base. This was a quick addition, so you are not currently able to build where the base was, but you can still make cool designs with it off.

Can I save my vehicles? Yup! The slash commands are /savevehicle NAME and /loadvehicle NAME. These commands can be used every 5 seconds and 30 seconds respectively, with super admins being able to bypass the time limit. Each BL_ID has their own folder of saves on the server, so don't worry about naming your vehicle the same as someone else's and overwriting theirs. However, this means that if you want to load someone else's car onto your chassis, you will need to have them click your chassis and load it themselves. Always be sure to save your vehicles, because leaving the server and joining minigames causes your vehicles to respawn, which will reset the chassis.

Did I forget something? Make sure to post any questions or suggestions you have here. Happy holidays guys.

P.S. Other chassis shapes, flying buildable vehicles, etc are all possible with this method. This is just a start. Let's make sure this script is as good as it can be and then we'll move forward into expanding the possibilities. As such, please do not post these suggestions in the topic, as they will not be addressed yet.

Screenshots


Installation
Vehicle_BuildableVehicle.zip into the Add-Ons folder in your Blockland folder.

Download
Vehicle_BuildableVehicle.zip

Change Log
Quote from: Change Log
25 Dec 2012
- Add-on's initial release

27 Dec 2012
- Added support for Server_RideOnClick
- Bricks now scale when the vehicle scale is changed
- Singleplayer/LAN servers use the save folder of the host

Related Add-Ons
Vehicle Events - Use events to manipulate your vehicle even more (by z0w0)
Vehicle Stereo - Play music straight from your vehicle with /stereo (by Truce)
Trust Levels - Change the required trust level to ride in a vehicle (by Space Guy)

See Also
Original .blend files for modders to reference to make other chassis (by Truce)
Official gallery topic for pictures of buildable vehicles you customize (by Jeep)
Fanmade video trailer to advertise the add-on with a sandwich car (by jman552)

8
Modification Help / [Request] Vehicle .blend file
« on: December 22, 2012, 03:06:01 AM »
Could someone who has successfully packaged a vehicle add-on (released or not) please PM me or post the .blend file they used? Attempting to follow the forum tutorials and existing help posts hasn't yielded good news, since Blockland keeps crashing when I try to spawn the vehicle in-game, so I'd like to try to learn by example.

Thanks in advance.

9
Modification Help / Aggregating webserver improvements
« on: November 26, 2012, 04:06:26 PM »
I know a few of you out there had made improvements to my Torque webserver, and since I was going to work on adding some functionality to it / include it in a gamemode / release a new official build, I wanted to include your changes in it. For those of you who worked on it, could you post the full scripts here, or at least PM them to me? I remember seeing Lugnut post a few topics about the webserver and saw names like Brian Smith added to the credits section for the webserver in other gamemodes, but my hopes is by posting a topic here I can include the changes made by others I wasn't aware of too.

Even if you didn't modify the webserver but had ideas for it, or you want official functionality in it to enable a feature in a script/gamemode of yours, you can use this topic to post those here as well so the webserver can be as functional and complete as possible. Thanks.

10
General Discussion / Poll - Fullscreen? (Survey for add-on usability)
« on: November 26, 2012, 03:29:05 PM »
Quick poll to see how many users play in fullscreen vs windowed mode. I've been working on some gamemode ideas lately, and while I can assume most players use certain default controls (e.g. the brick cart is mapped to the number keys), I cannot do the same about certain settings. In this case, whether or not the playerbase leans a certain way will decide whether or not I can rely on a specific add-on interface.


Discussion questions:


  • How do you feel about downloading GUIs to play a certain gamemode? Is it a hassle, or as long as a server provides a link (whether or not this is done through RTB), does that make up for it? If it depends on the quality of the gamemode/GUI, what makes it worth it for you?


  • If you play in fullscreen, would switching to windowed mode instead of downloading a GUI be more or less of a hassle? Are there technical limitations preventing you from doing so (bad/old computer)? Would you prefer just alt-tabbing to see another window instead of switching modes?


Feel free to post about the questions above in this thread or any other thoughts you may have. Since many gamemode developers truly want to make your playing experience enjoyable, this info goes a long way to giving them feedback that can be applied to all gamemodes, rather than on a case-by-case basis.


Thanks.

12
Modification Help / Torque Webserver V2
« on: January 24, 2011, 11:44:14 PM »
Some of you that frequent this section might remember me posting a webserver concept I had drafted up in a reference scripts topic I created awhile ago. I decided to rewrite that script today and add a ton of new features to it with hopes that it will get even more usage than the old one.

Click for beautiful syntax highlighting and monospace font:
http://pastebin.com/9q06sz62

Quote
Changelog:
- Changed $SERVER["REMOTE_ADDR"] to $_SERVER["REMOTE_ADDR"]
- Fixed a ?> detection issue when preceeded with a tab character
- Disconnects clients potentially attempting to exploit Torque file handling
- Added IP blacklist field at Webserver.blockIPs (Nice try, 78.69.143.58)
- Added HTTP authentication (.tqss), but don't count on it without testing

Note: I plan to constantly update this as needed. If you are interested in using this for a project (which users such as DrenDran, Chrono, and Zack0Wack0 have), stay tuned in this topic for the latest updates. Also, if you want to see a new feature added, just ask away and I can implement it.



I'm still calling it beta, so test out these features sometime:

  • Preferences for port, debug echos, local IP restriction, timeout in MS, root folder, default index page, and Torquescript tag prefixes and suffixes can be set in the Webserver creation.
  • Setting of variables familiar to PHP users such as  $_GET, $_POST, and $_SERVER. The $_SERVER variables are dynamically created in Webserver::finish based in on the header received.
  • Torquescript located in pages is evaluated before the data is sent to the client, allowing for very dynamic pages such as a real-time score display or even an external server management page.

From a more in depth point of view, it has all this and more:

  • Easily editable settings in object creation
  • Optional debug echos can be turned on
  • Accepts incoming connections on any port
  • Can filter to only local IP addresses
  • Connections can timeout after a delay
  • Lines parsed as received to allow for binary data
  • Binary data can be submitted (POST)
  • Lines parsed as a whole after all submitted
  • Temporary file used for reading binary data
  • Sets $_GET based on provided arguments
  • Sets $_SERVER based on provided header
  • Sets $_POST based on provided body data
  • Allows for defaulting to an index page
  • Sends a 404 error if page is not found
  • Support functions include, print, and puts



These two pages...





...are generated from...

derp.tqs
Code: [Select]
<?tqs
print($_GET["a"]    @ "<br/>\n");
print($_GET["dood"] @ "<br/>\n");
?>
<br/>
hi<br/>
<br/>
<?tqs include("/date.tqs"); ?><br/>
<br/>
<form name="input" action="submit.tqs" method="post">
Username: <input type="text" name="user" /><br/>
Fav Color: <input type="text" name="color" /><br/>
<input type="submit" value="Submit" />
</form>

date.tqs
Code: [Select]
Page displayed at:<br/>
<?tqs
print(getDateTime() @ "<br/>\n");
include("/author.tqs");
?>

author.tqs
Code: [Select]
By: <?tqs print("Truce"); ?>
submit.tqs
Code: [Select]
<?tqs
print($_POST["user"]  @ "<br/>\n");
print($_POST["color"] @ "<br/>\n");
?>



Sample output from debug being set to true (from console.log):

Quote
[Webserver] Connect request from IP 98.217.56.108 (6842)
[Webserver] > Client timeout in 1000 milliseconds.
[Webserver] Packet terminated from client 6842.
[Webserver] Parsing client 6842's GET args: a=31&dood=392
[Webserver] > Assigning 31 to a.
[Webserver] > Assigning 392 to dood.
[Webserver] Parsing client 6842's header: Host: trewse.us.to
Connection: keep-alive
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.642.2 Safari/534.16
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3


[Webserver] > Assigning trewse.us.to to HTTP_Host.
[Webserver] > Assigning keep-alive to HTTP_Connection.
[Webserver] > Assigning application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5 to HTTP_Accept.
[Webserver] > Assigning Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.642.2 Safari/534.16 to HTTP_User_Agent.
[Webserver] > Assigning gzip,deflate,sdch to HTTP_Accept_Encoding.
[Webserver] > Assigning en-US,en;q=0.8 to HTTP_Accept_Language.
[Webserver] > Assigning ISO-8859-1,utf-8;q=0.7,*;q=0.3 to HTTP_Accept_Charset.
[Webserver] Parsing client 6842's POST args:
[Webserver] > No POST args found to parse!
[Webserver] Deploying file: /derp.tqs
[Webserver] > File found! Including all its contents.



For the HTTP authentication accounts file, format it like this example:
(username:password on a line, # are comments, blank lines ignored.)

Quote
# Friends
admin:password
truce:test

# Clan Members
blah:lol

The webserver objects points to config/accounts.dat by default.



Questions? Comments? Concerns? Just direct whatever feedback you may have to the reply button.
Again, everything I've tested (above) has worked so far, but I'm hoping someone will find a bug in it.

13
Modification Help / 1024 byte scripting contest
« on: January 13, 2011, 08:01:05 PM »
Results are posted down in the table.

Thought I'd host one of these for fun to get some people thinking in a different mindset than usual. I asked around and a couple people are interested (who most of got a head start, it seems), and hopefully a few more will see this topic and give it a try. There's not a prize (at least not yet), as it's just for fun, so even if you don't think you'll win, give it a go and practice your scripting.

Basically, all you need to do is create a single-file script that does something neat. It could make fireworks via bullets, it could be some sort of mathematical algorithm; anything really. The catch is, the contents of the file have to total to 1024 bytes or less. Also, I'll be running these on a clean install, so you can't rely on any non-default add-ons. Important: Code normally, then copy the file and replace function and variable names with one or two letter ones, and remove all whitespace to shorten it to under 1024 bytes. Your script won't be able to be as complex if you don't do this, because you'll hit the byte limit fairly quickly.

There's no strict deadline for when these have to be completed, so if you're intested let me know here and PM (not post) me your entry when you're done. For general planning, it's not going to be a month long, maybe a week or two, so don't wait too long to get started.

Have fun.



UsernameFile SizeSubmission
Zack0Wack0984 bytesKill Combo Mod
Clockturn991 bytesEncryption/Decryption     Best logic!
DrenDran843 bytesBuild to Survive
McTwist1024 bytes     File Compression
Lumirayz996 bytesBase Conversion
Mr. Doom927 bytesFile Compression
Space Guy852 bytesFake Kill WandBest Add-On!
Nexus870 bytesSprint Playertype
Resonance Cascade     949 bytesTerrain Generator



Here's an example of what you can do in 1024 bytes: a pretty decent mining mod. Start a server in Slate with default add-ons, execute the file, and it'll setup the initial area and put you there. Use the hammer to break the dirt bricks, and search for the rarer silver gold bricks. Rarer bricks take more hits to break, so don't expect to pick them up right away. Building and the wrench is disabled, so you don't have to worry about people breaking things if you host this. Also, you can use /status to check your dirt, silver, and gold counts.

EDIT: Updated it on Jan 19.

Quote
//6a&{`=Ètrandom(0,99>new fxdts7(aøÅ=%a;datablock=74xcubedata;is
|ed=1;isbaseplate=1;Ë=`<2?1:(`<10?5:8);a=`<2?50:(`<10?25:5);}.|(
>$a[%a]=1;}packaÈ a{6fxdts7Á{'Á;for(`=0;`<18;`+=3)if(!$a[%c=vect
oradd(%a.Å,Ètwords("#-#0 #-#0 #-2",`,`+2))])a(%c>}6hammerimaÈz{i
f(%d.aø%i=%d.a--É=`.clientÉ.centerprint("\c3"@%i@" hits left.",1
>if(!%iø'z;%h=%d.ËÉ.a[%h]++É^mined "@(%h==8?dirt:(%h==5?silver:g
old))@".">}}}6Èttrustlevel(øreturn 2;}6gameconneqÄ{'Ä;%a.~.settr
ansform("0 0 -3">}Â|7(ø}6wrenchimaÈ::onfire(ø}};activatepackaÈ(a
>Âstatus&{%a^have "À8*Êdirt+"À5*Êsilver+"À1*Êgold.">}missiongrou
p.Ètobject(5).delete(>a("0 0 0">ÃÃlocalclientconneq.~.kill(>

new fileobject(a).openforread($con::file);$a=a.readline();a.clos
e();while($b++<25)$a=strreplace($a,getsubstr(" øËÊÉÈÅÄÃÂÁÀ|`'>~&
^#76zq/",$b,1),getfield("){\tcolorid\t1@\" \t;%g\tge\tposition\t
::spawn~&\ta.kill7(>\t6servercmd\t::ondeath&\t@%a.a\tplant\t%b\t
parent\t);\tplayer\t(%a)\t.chatmessage(\"\\c3You \t2 0 0 \tbrick
\tfunq \t::onhitobject(%a,%b,%c,%d,%e,%f)\tction",$b-1));eval($a);

Make sure to delete the line breaks EXCEPT the one after the green.
(There should be 2 lines, and the file should be 1024 bytes with \r\n).

14
Modification Help / Nested objects screws up big time?
« on: January 07, 2011, 09:37:25 PM »
Using this code:

Code: [Select]
$test = new ScriptObject()
{
a = 1;
b = 2;
c = new ScriptObject()
{
d = 4;
e = new ScriptObject()
{
f = 6;
g = 7;
};
h = new ScriptObject()
{
i = 9;
j = new ScriptObject()
{
k = 11;
l = 12;
};
};
};
m = new ScriptObject()
{
n = new ScriptObject()
{
o = 15;
p = 16;
};
q = new ScriptObject()
{
r = 18;
s = 19;
};
};
};

These four objects are produced:

Quote
==>6750.dump();
Tagged Fields:
  E = "6750"
  f = "6"
  G = "7"

==>6751.dump();
Tagged Fields:
  c = "6751"
  h = "6751"
  j = "6751"
  k = "11"
  l = "12"

==>6752.dump();
Tagged Fields:
  N = "6752"
  o = "15"
  p = "16"

==>6753.dump();
Tagged Fields:
  m = "6753"
  q = "6753"
  R = "18"
  S = "19"

There should be eight objects, not four. Also, the fields are part of the wrong objects and in a few instances missing altogether. Some of the letters are randomly capitalized, too, although that isn't a big deal. Does anyone know why this happens? Is it just a bug in the Torque engine? (No syntax errors occured when exec'ing the above code.)

EDIT:
Naming the objects reveals it creates the third, fifth, seventh, and eighth objects, the ones without child objects.

15
Drama / NiXiLL impostor - ID 23707
« on: December 13, 2010, 11:56:12 AM »


I'm only making this drama because people actually think it's him since they haven't seen him in awhile. He also refuses to change his name and admits he's an impostor, so it's not like it was an accident. Just note that the real NiXiLL's (Lumz) current ID is 5244, not 23707.

Pages: [1] 2 3 4 5