Raised This Month: $51 Target: $400
 12% 

Suggestions for a new amxmodx


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-03-2010 , 23:33   Suggestions for a new amxmodx
Reply With Quote #1

I was thinking about what would be like if there was a new version if amxmodx and I'm sharing my "ideas" just in case and I would like to know your ideas also please. I'm talking about features that you think it should bring out of the box even if they can be made with modules because it's not the same and I my first idea is one example of that:

A module like this integrated. There are many plugins that use configuration files but almost nobody use this module. By being integrated is more easy for people to know it but even assuming that that is irrelevant, almost no one will want to trade the benefits of the module by having to ask user to download it as an extra requirement (Doing "Get Plugin" alone is much more easy). And the truth is that people would benefit because configuration files would be much more clean.

Then I think it would be nice to have modules like Weapon Mod and Monster Mod (there is someone making one but it's not the point here) integrated. And that weapon mod would allow that once you create a plugin that provides a new weapon you could make like

PHP Code:
create_entity("weapon_*"
Why them? Weapon mod because it would make the creation of new weapons a process much more clean and standard, Monster Mod because if one could create a module that allows that plugins create monsters, the community could share with this easiness that amxmodx scripting provides knowledge about artificial intelligence and path finding.

A module like this at least in concept. Like, access to more data structures. At least an equivalent of Tries but to associate data to cell values. Because when one works with entities and want to associated that with it, he normally uses a pev_i* but that could cause problems when more than one plugin uses the same fields.

Another thing, but major, and that could make the api's of both the weapon mod an monster mod cleaner and would bring new ways of coding (at the expense of at least simpliness) would be another language other than pawn. I don't yet know nothing about languages embedding but I see that a language called Lua is widely used to extend game functionality and despite don't having brackets it support the Object Oriented programming paradigm and some more nice stuff like closures that wouldn't let do new thing but make them more easy. Or Javascript that I believe is close to Lua in their relaxed way of being. I really don't know about how speed would differ but If someone could tell me I would appreciate.

A module to create and load packages of files. Like, you would have a folder where you would create a file like named "myPlugin":

Code:
/addons/amxmodx/scripting/myPluginBase.sma
/models/stuff.mdl
/sounds/sound.wav
(It wouldn't allow amxx files to be shared) (It could sound useless but rememeber that plugin that you update many times and would have to pack over and over again and of course installing it for the end user would be easier anyway)

Then in the console you would do like:

Code:
# package create myPlugin
    
    Plugin "myPlugin" has been created sucessfully :D
Now in one folder you would have a "myPlugin.zip". You would post it in new plugins submissions. A guy would download it and post in a folder of his amxmodx installation and would go to the server console and do.

Code:
# package install myPlugin
    
    Plugin "myPlugin" has been created installed.
    File "/addons/amxmodx/scripting/myPluginBase.sma" has been compiled, if you want to install it use "package deploy myPlugin myPluginBase". 
    If you want all the plugins compiled to be put in a separated ini file do "package deployall myPlugin [filePrefix]".
Something like this.

That's it.
__________________

Last edited by joaquimandrade; 04-03-2010 at 23:37.
joaquimandrade is offline
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viņa del Mar, Chile
Old 04-03-2010 , 23:37   Re: Suggestions for a new amxmodx
Reply With Quote #2

That one about create new weapons sounds really good for a new amxmodx

+1
__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross
meTaLiCroSS is offline
ConnorMcLeod
Veteran Member
Join Date: Jul 2006
Location: France (95)
Old 04-04-2010 , 02:46   Re: Suggestions for a new amxmodx
Reply With Quote #3

Who at hell would spend so much work in amxx ?


Ok all you said is fine.
We should also think on some utilities, like being able to send a ScreenFade message with only 1 native, like this stock but handle by module, some native update like allow to set all params on set_hudmessage.
May be split engine into 2 modules, 1 with forwards, other with the rest, and make so forwards are not registered unless 1 plugin use it, dunno if it's possible with multiple forwards.
Same with fun module, some natives such as set_user_health should be moved in amxx core.
All in my little mind atm.

Would be nice to also have a colorchat native, that would work with SayText and TextMsg, for TextMsg, would maybe just need to re-arrange client_print native, because print_type 5 already support colors in the game, but the native would need to support multi-strings.
More information there
__________________
- tired and retired -

- my plugins -

Last edited by ConnorMcLeod; 04-04-2010 at 04:28.
ConnorMcLeod is offline
papyrus_kn
Senior Member
Join Date: Feb 2009
Location: Bulgaria
Old 04-04-2010 , 08:10   Re: Suggestions for a new amxmodx
Reply With Quote #4

Very good ideas but I want Oprheu be integrated too
__________________
papyrus_kn is offline
Send a message via Skype™ to papyrus_kn
joropito
AlliedModders Donor
Join Date: Mar 2009
Location: pfnAddToFullPack
Old 04-04-2010 , 11:00   Re: Suggestions for a new amxmodx
Reply With Quote #5

It would be nice to have

- NPC natives/forwards (create, move, set target, attack, etc) (yes, should be an aditional module)

- Per entity forwards (not only for entity type as in ham) so you can have in memory table to know which entity has a registered forward

- PVS / PAS handling (if can be)

- More eng/dllfunc (that are not implemented in 1.8.1)

- Orpheu (another module?) (sig scan functions, dynamic forwards, memory access, etc)

- pm_shared directly access (yeah, it's very static as structure/functions and could be awesome integrated in FM or HAM)

- Profiler included in base module (it needs to be fixed to have compatibility with CSX)

I like your initiative.
If someone start a task force to carry out this initiative I am ready to work on it.



Hey! I miss one think... blockmaker natives!!
__________________

Divide et vinces
approved plugins | steam account

I don't accept PM for support. Just ask on forums.
If you're looking for private work, PM me.
joropito is offline
Send a message via MSN to joropito
Seta00
The Seta00 user has crashed.
Join Date: Jan 2010
Location: Berlin
Old 04-04-2010 , 14:43   Re: Suggestions for a new amxmodx
Reply With Quote #6

Lua is a very complex language for beginners, if compared to Pawn. Its syntax is quite advanced.
IMO, the main advantage of Pawn for learning is its C-like syntax.
Lua is known for its speed and low footprint, but again, with complex features like dynamic/weak typing and OOP, it can be a little slower than Pawn, which is pretty much raw programming. I'll do some benchmarks and update you on this.

IMO, AMXx scripting in Lua isn't going to happen by the official developers, but an optional module/branch of AMXx using Lua would have a great acceptance by experienced scripters.

By the way, Lua, "the lead scripting language in games" was made (and is being maintained) in Brazil!
Seta00 is offline
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-04-2010 , 17:39   Re: Suggestions for a new amxmodx
Reply With Quote #7

Quote:
Originally Posted by Seta00 View Post
Lua is a very complex language for beginners, if compared to Pawn. Its syntax is quite advanced.
IMO, the main advantage of Pawn for learning is its C-like syntax.
Lua is known for its speed and low footprint, but again, with complex features like dynamic/weak typing and OOP, it can be a little slower than Pawn, which is pretty much raw programming. I'll do some benchmarks and update you on this.

IMO, AMXx scripting in Lua isn't going to happen by the official developers, but an optional module/branch of AMXx using Lua would have a great acceptance by experienced scripters.

By the way, Lua, "the lead scripting language in games" was made (and is being maintained) in Brazil!
Ok. And Lua is a portuguese word so Portugal is better than Brazil.

Another idea: abolishing the rule of releasing only plugins under GPL and allowing in New Plugins Submissions with GPL or no license. GPL aims to bring more fairness but in the end it limits us because there are people that will not make their ideas happen because they want to get payed (yes I know you can get payed even with GPL but it is not the same) and not releasing the source and it should be their decision. Its better to block source code than ideas because source code can be made based on compiled code but ideas would remain blocked. This is not really an idea, this is something I would do if I were in charge.
__________________
joaquimandrade is offline
matsi
Thinkosaur
Join Date: Sep 2006
Old 04-04-2010 , 18:13   Re: Suggestions for a new amxmodx
Reply With Quote #8

Quote:
Originally Posted by joaquimandrade View Post
Ok. And Lua is a portuguese word so Portugal is better than Brazil.
What?
matsi is offline
Seta00
The Seta00 user has crashed.
Join Date: Jan 2010
Location: Berlin
Old 04-04-2010 , 20:13   Re: Suggestions for a new amxmodx
Reply With Quote #9

As you can see here, Lua is the most lightweight/fastest language, losing only to Pawn. The difference could be even smaller by using this. One more time, go Lua!

Quote:
Originally Posted by joaquimandrade View Post
Ok. And Lua is a portuguese word so Portugal is better than Brazil.

Last edited by Seta00; 04-04-2010 at 20:23. Reason: Damn superlative adjectives!
Seta00 is offline
joaquimandrade
Veteran Member
Join Date: Dec 2008
Location: Portugal
Old 04-05-2010 , 06:48   Re: Suggestions for a new amxmodx
Reply With Quote #10

Quote:
Originally Posted by Seta00 View Post
As you can see here, Lua is the most lightweight/fastest language, losing only to Pawn. The difference could be even smaller by using this. One more time, go Lua!


Lua sounds really amazing (I even don't care anymore about the lack of brackets). And I don't care if Pawn is faster because being faster doesn't mean always performing faster because you can make faster code by using the features from the language.

Let's try the following. Until summer let's fill ourselves with knowledge of C++ and Lua and making them work together and let's spend the summer making a new metamod module like amxmodx but with lua scripts

But that would be a major thing because one would need to recreate all the natives and the API of forwards and plugin communication and stuff like that and I wanted to save my life to work in another stuff but I think half life deserves it.
__________________

Last edited by joaquimandrade; 04-05-2010 at 06:53.
joaquimandrade is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 02:35.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode