Raised This Month: $32 Target: $400
 8% 

suggestions for AMXX/MMX


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Downtown1
Veteran Member
Join Date: Mar 2004
Old 03-18-2004 , 21:49   suggestions for AMXX/MMX
Reply With Quote #1

Hello, my name's Downtown1 and some of you may have bad memories remembering me from the AMX forums, but I recently found out you guys were starting a new project, so naturally I have some suggestions that OLO was ignoring me about.

1) Please add C++ Strings. For the love of god, the character arrays are annoying, harder to work with, and cause only more hassles for the newbies.

2) Please make functions RETURN strings instead of modifying an existing character array -- all we will have to do then is use new playerName = get_player_name(id); or something like that.

3) Fix mySQL support, it's horrible, servers like to crash whenever there is something wrong with a query. Instead of fetching row by row, column by column, add a little something called "mysql_fetch_array" (php users know what I'm talking about) that will return every column in its own element of an array.

i.e. "SELECT '1', '2'" and then using array = mysql_fetch_array(sql); on that SQL statement would return an array[0] = '1', and an array[1] = '2'. Much easier to work with.

4) Add some more libraries; I think regular expressions would make a really awesome addition. Perhaps some math functions (pow, log, and other trig functions) could be added as well.

5) Fix the multithreading module. Yes, I know there is one already. But something tells me none of you people saying that have actually tried to run that module on your server. It crashes quite often, FOR NO IDENTIFIABLE REASON AT ALL!

6) Create a module so that we can make a TCP connection and send packets using it. Not so hard, plus it would mean we could do some kickass things with it like send stats over to a different server without using mysql, or streaming live chat to a program like ASE.

Thanks for listening to my suggestions, I might add a few more later when I can remember them!
Downtown1 is offline
BAILOPAN
Join Date: Jan 2004
Old 03-18-2004 , 22:00  
Reply With Quote #2

Quote:
1) Please add C++ Strings. For the love of god, the character arrays are annoying, harder to work with, and cause only more hassles for the newbies.
No. First, they're not as efficient and using std code has brought up problems before. We will not use std code at all, and if we do use strings, it will be our own abstraction classes. If you mean add them to the native Small scripting language - not possible.

Quote:
2) Please make functions RETURN strings instead of modifying an existing character array -- all we will have to do then is use new playerName = get_player_name(id); or something like that.
This is not possible. That is how the Small Abstract Machine works. In theory, we could make a complicated set of classes to do this, but it's too much work for something that doesn't make sense. There are no strings in Small - there are only integer arrays.

Quote:
3) Fix mySQL support, it's horrible, servers like to crash whenever there is something wrong with a query. Instead of fetching row by row, column by column, add a little something called "mysql_fetch_array" (php users know what I'm talking about) that will return every column in its own element of an array.
MySQL crashing is an issue that we may look into, if we have time. It works fine if you use it right. Adding an implementation of mysql_fetch_array is not worth the time IMO, and it would require using multidimensional arrays. If you want to implement it, go ahead.

Quote:
4) Add some more libraries; I think regular expressions would make a really awesome addition. Perhaps some math functions (pow, log, and other trig functions) could be added as well.
Math functions are already planned for the next release - we meant to add them in sooner (maybe I am wrong and they are already there). Regular expressions would not be very useful, however, someone can always write a module to do them in. I don't see this as a priority.

Quote:
5) Fix the multithreading module. Yes, I know there is one already. But something tells me none of you people saying that have actually tried to run that module on your server. It crashes quite often, FOR NO IDENTIFIABLE REASON AT ALL!
AFAIK, the source code to it is not available. HLDS is single threaded, and creating multithreads inside it is dangerous (especially with global variables/constructs), so the reason may be completely valid. It simply shouldn't be done. If we have time, we may make one - but again it is not a priority.

Quote:
6) Create a module so that we can make a TCP connection and send packets using it. Not so hard, plus it would mean we could do some kickass things with it like send stats over to a different server without using mysql, or streaming live chat to a program like ASE.
I'm working on a new sockets module, but in the meantime you can use the old one.

In summary, I can see why OLO ignored your suggestions.
__________________
egg
BAILOPAN is offline
QwertyAccess
Veteran Member
Join Date: Feb 2004
Location: Enjiru Layer
Old 03-18-2004 , 22:17  
Reply With Quote #3

bugs first features later. Adding a feature causes a bug. Annoying aint it.
__________________
QwertyAccess is offline
BigBaller
Veteran Member
Join Date: Mar 2004
Location: Everett, WA
Old 03-18-2004 , 23:45  
Reply With Quote #4

Quote:
Originally Posted by QwertyAccess
bugs first features later. Adding a feature causes a bug. Annoying aint it.
your soo correct
__________________

BigBaller is offline
Geesu
Veteran Member
Join Date: Mar 2004
Location: Cincinnati, OH
Old 03-19-2004 , 09:49   Re: suggestions for AMXX/MMX
Reply With Quote #5

Quote:
Originally Posted by Downtown1
1) Please add C++ Strings. For the love of god, the character arrays are annoying, harder to work with, and cause only more hassles for the newbies.
I wish this could be done, I hate working w/strings in SC
__________________
Need war3ft help? DO NOT PM ME... Check the forums
Geesu is offline
Send a message via AIM to Geesu Send a message via MSN to Geesu
BAILOPAN
Join Date: Jan 2004
Old 03-19-2004 , 09:59  
Reply With Quote #6

It's simply not possible, so don't expect it. The small abstract machine is based on being (almost) typeless so you get arrays of integers instead of characters.

In theory, we could write some sort of linked lists to index strings and rewrite the entire core to use only use the character arrays internally, but that is a LOT of work for something that wouldn't be backwards compatible or even compatible with the small engine, and it would make the module API harder to write.
__________________
egg
BAILOPAN is offline
PM
hello, i am pm
Join Date: Jan 2004
Location: Canalization
Old 03-19-2004 , 11:47  
Reply With Quote #7

Quote:
Originally Posted by BAILOPAN
It's simply not possible, so don't expect it. The small abstract machine is based on being (almost) typeless so you get arrays of integers instead of characters.

In theory, we could write some sort of linked lists to index strings and rewrite the entire core to use only use the character arrays internally, but that is a LOT of work for something that wouldn't be backwards compatible or even compatible with the small engine, and it would make the module API harder to write.
=> exactly, we could say strings are offsets into something internal in amxx, but that would be buggy and hard to implement and not backwars compatible
__________________
hello, i am pm
PM is offline
Geesu
Veteran Member
Join Date: Mar 2004
Location: Cincinnati, OH
Old 03-19-2004 , 12:39  
Reply With Quote #8

Yea I see what you guys are saying, it just sucks
__________________
Need war3ft help? DO NOT PM ME... Check the forums
Geesu is offline
Send a message via AIM to Geesu Send a message via MSN to Geesu
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 23:29.


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