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.

Messages - .
SLC's Squirrel Plugin / [Script Module] Re: Custom Spawn Selection
« on December 30th, 2020, 06:40 AM »
Quote from Anish87 on December 27th, 2020, 07:30 AM
Quote from NewK on April 8th, 2020, 09:46 PM
It would seem this (memory leak) can't be reproduced on a blank server with an empty script, which makes me think this is somehow related to some vcmp entity (player, vehicle, pickup, sphere, checkpoint, etc...) and sitting on the spawn screen. 

If anyone can reproduce it on a blank script let us know.
Well, I guess I am bumping into the topic unnecessarily but the memory leak happens only when there is other stuff in the server like when an entity's data is being saved in arrays/tables/classes...
This was beyond my scope to address (i assume. i didn't even bother).
SLC's Squirrel Plugin / [Sample] Re: Sample SqMod Script
« on November 22nd, 2020, 12:18 PM »
Quote from Anish87 on November 19th, 2020, 03:01 AM
You need to have necessary dependencies to run the plugin... Download all vcredist versions and try. You will need the MySQL libraries as well.
AFAIK MySQL is embedded in the plugin (on Windows). So it is either compiled with the plugin or non existent at all. You don't need something else other than the DLL itself. On Linux it is another story as you just need to install MySQL from your package manager. Assuming it matches the one from the plugin.

As for runtime dependencies. People should learn that they need Visual C++ Redistributable Runtimes All-in-One for any kind of program. Not just this.
SLC's Squirrel Plugin / Re: Problems SqMod
« on May 26th, 2020, 04:35 PM »
Quote from UncleRus on May 25th, 2020, 07:16 PM see this i put fies do dofile but server dont accept this scripts
You're using the official plugin my friend. That's not SqMod. And as such, your topic makes no sense here.
Quote from ibee_19 on July 16th, 2019, 12:46 PM
And after D.E.[[V]].I.L blocked Vortex on discord.
So yeah the entire purpose of this topic is to signify that both RONNIE and VORTEX aren't associated with iNs in any way from now on and whatever they do, it won't be linked with iNs and its Entire members.

Quote from ibee_19 on July 16th, 2019, 12:46 PM
... Everything was running smoothly until ronnie adopted a "CHEAP LOVER" identity as he indulged into a love affair with a female VC:MP Player whose identity won't be disclosed here. He started damaging the reputation of iNs. I and D.E.[[V]].I.L took the notice of it and immediately suspended him from the clan and issued him a warning mentioning to EITHER stop doing such things which ruin the clan's reputation OR leave the clan permanently. ...
Dude, banning someone because he was trying to get some pussy makes you look bad either way.
If you use something like Process Explorer you will notice that bellow your `vice.exe` process (if you've configured Process Explorer to group parent/child processes) there's something like `gameux.dll`.

That `gameux.dll` is basically windows game explorer that's part of windows 7 and it tries to attach to your game to (likely) provide some in-game user interface and also to retrieve information about the game from the internet. That second task it does (connecting to the internet) it fails. Actually it doesn't happen so it hangs your game while trying.

This feature of windows cannot be removed (thank MICROSH!T for that) and it happens to more games than just Vice City. All you can probably do is to make windows game explorer forget about your games. IIRC, you can do that by removing some registry entries.

Just look up (i.e. google) how to prevent windows game explorer (or `gameux.dll`) from attaching and hanging your game.
If you don't have anything meaningful to contribute. Just shut the f* up and play the game.

Quote from Athanatos on May 29th, 2019, 06:39 PM
If you say so, it still doesn't make sense to me.
Basically that guy said what he wanted to say or he agreed with what the quote said. Can be interpreted wrong ofc. And a post-like would suffice. But some (many) people do that.
Client Scripting / Re: Real Time
« on May 21st, 2019, 10:01 PM »
Quote from dracc on May 21st, 2019, 09:01 AM
Well, you run System.GetDate and update the GUILabel on every single processed frame - no wonder it's slow.
Updating a GUI already happens at every frame.

His problem is that he is changing the font size at every frame. Which means the font atlas must be re-built on every frame. And that will actually kill your performance.

Basically it all boils down to this line:
Code: [Select]
::timer[ "date" ].FontSize = sX * 0.025;

This is a known issue. Pick a set of fonts and sizes and stick with them. Otherwise use a pre-generated image with the text and scale that.
wtf does this have to do with sqmod?
General Discussion / Re: Module SDK and Node NAPI addon
« on May 14th, 2019, 05:41 PM »
The reason is quite simple. Have you ever tried to Build V8? Because that's what node.js uses. And on top of that, have you ever tried to build Node.js itself? How do you deal with package installation and the environment that node.js needs in general? Have you ever asked yourself, `just why isn't there a fork of node.js that does things differently? like so many other open-source projects out there` The answer is quite simple. It would be a tremendous burden with a very complex setup that would require a significant amount of manpower and knowledge to maintain. This could work in a closed organisation with a common setup but the same can't be said about the general public.

Some of you are still baffled by the `index 'abc' does not exist` errors. And you want the developers trying to waste that amount of time in dealing with everyone's issues on setting up the whole thing and actually using.

I mean seriously tho. Try to reason with your fantasies. This is (waaaaay) beyond the scope of this project.


The only way this could be simplified is to make the server into a dynamic link library that you can then load into any program. Basically the server itself would be a plugin. I remember asking something like this in the past (link).

That way, you can load the server into any process and locate the entry point to initialize it and get a structure you can control and communicate with in return.

But that would get awkward eventually and is still beyond the scope of the project itself. I mean seriously tho, don't you think there are more pressing matters that need to be resolved first (if ever).
General Discussion / Re: Sorry i'm not very active in forums
« on November 12th, 2018, 04:31 PM »
I believe you somehow managed to open this topic on the wrong forum. Please try to read the URL to confirm you actually meant to say that here.
Community Plugins / Re: SQLite module for Squirrel.
« on September 25th, 2018, 08:27 PM »
  • Update the sqlite library to version 3.25.1
  • Update the SQLite_ColumnData function to support retrieval of values by either cell name or index.
  • Implement two new helper functions SQLite_RowAsTable and SQLite_RowAsArray to retrieve all the cells of a row as a table or array.
    Their alias compatible with the naming style of the official plugin are GetSQLColumnTable and GetSQLColumnArray.
  • Add support for 64 bit integers when the language was compiled with such support. Mainly 64 bit versions of the plugin.
  • A few other minor internal enhancements.
Binaries are on the repository. Check the first post for more details.

Here's a simple example that showcase the added features:

Code: [Select]
local db = SQLite_Open("test.db");

// Create the table
SQLite_Exec(db, @"
        [name] TEXT,
        [hp]    REAL

// Insert stuff
SQLite_Exec(db, @"INSERT INTO [Test] (name, hp) VALUES ('test1', 23.96);");
SQLite_Exec(db, @"INSERT INTO [Test] (name, hp) VALUES ('test2', 52.64);");
SQLite_Exec(db, @"INSERT INTO [Test] (name, hp) VALUES ('test3', 45.75);");

// Read it back

print("\n\nTable Test ================\n");
local q = SQLite_Query(db, "SELECT * FROM [Test]");

if (q != null) do {
local r = SQLite_RowAsTable(q);
print("Index: " + r["id"]); // Also:
print("Name: " + r["name"]); // Also:
print("health: " + r["hp"]); // Also: r.hp
} while (SQLite_NextRow(q));
print("\n\nArray Test ================\n");
local q = SQLite_Query(db, "SELECT * FROM [Test]");

if (q != null) do {
local r = SQLite_RowAsArray(q);
print("Index: " + r[0]);
print("Name: " + r[1]);
print("health: " + r[2]);
} while (SQLite_NextRow(q));
print("\n\nName Test ================\n");
local q = SQLite_Query(db, "SELECT * FROM [Test]");

if (q != null) do {
print("Index: " + SQLite_ColumnData(q, "id"));
print("Name: " + SQLite_ColumnData(q, "name"));
print("health: " + SQLite_ColumnData(q, "hp"));
} while (SQLite_NextRow(q));
print("\n\nIndex Test ================\n");
local q = SQLite_Query(db, "SELECT * FROM [Test]");

if (q != null) do {
print("Index: " + SQLite_ColumnData(q, 0));
print("Name: " + SQLite_ColumnData(q, 1));
print("health: " + SQLite_ColumnData(q, 2));
} while (SQLite_NextRow(q));
Scripting and Server Management / Re: Hashing Plugin Error
« on August 31st, 2018, 04:15 PM »
As an alternative if you're not into exotic algorithms

(since you failed to post your solution)