GSRPG (German Slaughterhouse RPG) [NOT RELEASED - COMING SOON]

Release your plugins here!
Omega_K2
Senior Member
Posts: 227
Joined: Sat Jul 07, 2012 3:05 am
Location: Europe
Contact:

GSRPG (German Slaughterhouse RPG) [NOT RELEASED - COMING SOON]

Postby Omega_K2 » Tue Aug 21, 2012 8:05 am

So, I've been working on a completly new RPG mod for Eventscripts, but seeing how ES doesn't get any updates anymore and had a pretty bad update history, I made the decision to port this to Source.Python and only release it on SP.

The idea of the RPG is to be a large all-in one plugin with which you can theoretically emulate WC3Source or other skill based plugins by creating classes. Depending on how much time I have on my hands, it might just release with the standard RPG features though.

I also intend it to be highly configuration driven, so that you can configure most of the aspects of the skills and RPG easily.


I have a WIP wiki page:
http://www.german-slaughterhouse.de/wiki/GSRPG

Also a todo-list of not-yet included features:
https://www.german-slaughterhouse.de/forum/index.php?topic=497.0


At some point in the fuiture, I'll also make a public SVN/HG/GIT repo, but for now I just use an internal one.


And on a last note, this is what needs to be done in SP before I can really port it [may not be completly accurate]:
  • entity stuff like fire, give, remove (fire doesn't seem to exist - correct me if I'm wrong)
  • popups - need API
  • sounds
  • KeyValues and Vector for entites
  • Preferably dyncall, but not absolutly required atm
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Postby BackRaw » Tue Aug 21, 2012 9:23 am

First of all, nice idea! I got something for you for the gamethread stuff, which is better than the ES gamethread imo:

Syntax: Select all

from threading import Timer

x = Timer(5.0, print, ("Hello", "World", 36367376))
x.run()
I guess we can make something out of this for SP.
Omega_K2
Senior Member
Posts: 227
Joined: Sat Jul 07, 2012 3:05 am
Location: Europe
Contact:

Postby Omega_K2 » Tue Aug 21, 2012 11:52 am

The functionality that you need from gamethread is to "jump back" to the thread, alas execute something on the next tick. Because as for some commands, it's not safe to execute them at any time (server will crash). Also with timer (I think it's a thread with a sleep actually, correct me if I am wrong :P), I think it's also possible to execute code in scripts that are not loaded anymore.
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Postby BackRaw » Wed Aug 22, 2012 12:51 am

Omega_K2 wrote:The functionality that you need from gamethread is to "jump back" to the thread, alas execute something on the next tick. Because as for some commands, it's not safe to execute them at any time (server will crash). Also with timer (I think it's a thread with a sleep actually, correct me if I am wrong :P), I think it's also possible to execute code in scripts that are not loaded anymore.


Oh yes right. We need a tick listener then... =)
Tuck
Global Moderator
Posts: 205
Joined: Sat Jul 14, 2012 9:35 pm
Location: Copenhagen

Postby Tuck » Wed Aug 22, 2012 3:26 am

BackRaw wrote:First of all, nice idea! I got something for you for the gamethread stuff, which is better than the ES gamethread imo:

Syntax: Select all

from threading import Timer

x = Timer(5.0, print, ("Hello", "World", 36367376))
x.run()
I guess we can make something out of this for SP.


Your code would be the same equilevent to:

Syntax: Select all

time.sleep(5)
print('Hello World 36367376')


your execution the run() event where it does code and not starting the timer, like this:

Syntax: Select all

x = threading.Timer(5.0, print, ("Hello", "World", 36367376))
x.start()


class threading.Timer(interval, function, args=[], kwargs={})
-Tuck
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Postby BackRaw » Wed Aug 22, 2012 8:46 pm

Tuck wrote:Your code would be the same equilevent to:

Syntax: Select all

time.sleep(5)
print('Hello World 36367376')


your execution the run() event where it does code and not starting the timer, like this:

Syntax: Select all

x = threading.Timer(5.0, print, ("Hello", "World", 36367376))
x.start()


you're right, start() was it... but does it "sleep" then? or not?
Absolute
Junior Member
Posts: 13
Joined: Sat Jul 07, 2012 6:48 pm

Postby Absolute » Wed Aug 22, 2012 10:46 pm

Yes, but in a different Thread, so it wont make the server stop for 5 seconds.
User avatar
BackRaw
Senior Member
Posts: 537
Joined: Sun Jul 15, 2012 1:46 am
Location: Germany
Contact:

Postby BackRaw » Thu Aug 23, 2012 3:32 pm

Absolute wrote:Yes, but in a different Thread, so it wont make the server stop for 5 seconds.


Woaaahhh, goooood stuff! :D
DreTaX14
Junior Member
Posts: 15
Joined: Fri Aug 17, 2012 5:05 pm

Postby DreTaX14 » Sat Aug 25, 2012 11:32 am

Looks like im not the only one whos making rpg :D , my team equinox are making one too :D , by the way i would like to join to the translation team, by translating it to hungarian language. You omega, you are reminding me to Rennnyyy, who were the scripter of nem-rpg. Miss those times really! :(
Scripting in Python is mostly better than SM.
Python is powerfull, if you learn it.
The reason is because I LIKE SNAKES! :D

Return to “Plugin Releases”

Who is online

Users browsing this forum: No registered users and 25 guests