AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Approved Plugins (https://forums.alliedmods.net/forumdisplay.php?f=8)
-   -   Gabion Kernel v1.3x (1.31) (https://forums.alliedmods.net/showthread.php?t=57397)

Minimum 07-03-2007 22:13

Gabion Kernel v1.3x (1.31)
 
2 Attachment(s)
The Gabion Kernel is an highly versatile and advanced API for AMX Mod X. It features a component system which allows plugins to access its features. These features include: a centralized MySQL connection, help file system, effects system, player account system, admin control system, a status and information hud system, a Version Control System for both the Gabion Kernel and its plugins, and a wide range of MySQL functions. Other benefits of the Gabion Kernel is an extremely easy initial install process, and a system that makes installing different complex components as easy as adding them to the plugins.ini file.

This project has two major goals.

1. To make installation of different complex plugins extremely easy and painless for server owners.

2. To make a system where developers will have an advanced set of tools which make complex plugins easier & faster to make, and compatible with other Gabion Kernel components.

Requirements:
- AMX Mod X 1.75
- 1 (One) MySQL Database
- Basic HL Server Knowledge

Support & Help

v1.3x Changelog:
v1.30 - Added Version Control System for both the Gabion Kernel and its components (includes three new related functions). Added a SQL Connection Handle return function. Added a few new commands for the Gabion Command System. Fixed a security hole with the admin system. Added an automatic SQL Table Optimization Utility which automatically optimizes Core Gabion Kernel tables on startup or map change (controlled by a cvar) for slightly better SQL Preformance. Also includes some other minor adjustments and changes.
v1.31 - Fixed issue with player accounts not auto-registering. Fixed issue with Gabion Kernel spamming the versions table. Added a new command which allows players to obtain a new passcode. Widened randomization range of passcodes, making them more secure and random. Some other minor fixes and adjustments also.

Function Listing (Detailed Descriptions) -
Code:
/*      Gabion Kernel Include File */  // DO NOT TOUCH ANYTHING UNLESS YOU ABSOLUTELY KNOW WHAT YOU'RE DOING // I WILL NOT HELP YOU IF YOU BREAK YOUR PLUGIN // Defines // Hud_Display Func Defines; Tells Hud_Display to either to print to Chat Hud or Status Hud; Default is Status Hud #define HUD_CHAT 1 #define HUD_STATUS 0 // Set_Glow Func Defines; Tells Set_Glow to either turn On or Off; Default is Off #define GLOW_ON 1 #define GLOW_OFF 0 // Component Set Status Defines; Tells component_setstatus to either turn the component On or Off; Default is Auto #define COMP_AUTO 2 #define COMP_ON 1 #define COMP_OFF 0 // Select_String Func Defines; Tells for select_string to either use old default method or new custom method. // Default: Uses all variables. Ex: SELECT <index> FROM <table> WHERE <condition> = '<equals>' // Custom: Does not use equals, instead uses condition for use in multiple if statements. Ex: SELECT <index> FROM <table> WHERE <condition> #define SELECTSTR_NEW 1 #define SELECTSTR_OLD 0 #pragma reqlib gabionkernel // API Fake Natives // Register Component native register_component(compname[]); // Set Component Status native component_setstatus(comp_id,status=3); // Register Help File native register_helpfile(name[],filepath[]); // Gabion Kernel Version Return native Float:gab_version(); // Component Version Return native Float:component_version(name[]); // Component Version Update native component_newversion(name[],Float:version); //----------------------------------------------------------------------------------- // MySQL Handle Return native Handle:gab_sqlhandle(); // MySQL Status Indicator native is_db_online(); // MySQL Edit Value (Integer) native edit_value(id,table[],index[],func[],amount); // MySQL Edit Value (Float) native edit_fvalue(id,table[],index[],func[],Float:amount); // MySQL Select String native select_string(table[],index[],condition[],equals[],output[],size,mtype=0); // MySQL Selection Function - Conditional Columns (SELECTED Columns 1x Rows) native select_columns(table[],index[],condition[],equals[],output[],size,amount,mtype=0); // MySQL Selection Function - ALL Rows (1x Column ALL Rows) native select_allrows(table[],index[],output[],size); // MySQL Selection Function - Conditional Rows (1x Column SELECTED Rows) native select_rows(table[],index[],condition[],equals[],output[],size); // MySQL Update String native update_string(table[],set[],equals[],where[],condition[]); // MySQL Free Query String native free_string(query[]); // MySQL Result Query String native result_string(query[],Handle:output); // MySQL SubQuery String native select_subquery(table[],index[],condition[],table2[],index2[],condition2[],equals[],output[],size); // Admin Verification native admin_verify(id,admintype[],comment[]); // MySQL Based Origin Distance Finder native distance_verify(id,table[],index[],dist,out_origin[3]); // MySQL List Printer native view_sqllist(id,listname[],listdes[],table[],condition[],indexes[],indexnum); // MySQL Table Optimizer native optimize_table(table[]); //----------------------------------------------------------------------------------- // Register Player Column native register_playercolumn(name[],sqlextra[]); // Register Admin Access Column native register_admincolumn(name[]); // Gabion Kernel Player Id Return native gab_playerid(id); // Info Hud Code Display native infohud_display(id,compid,msg[]); // Message Hud Code Display native hud_display(id,message[],func=0); //----------------------------------------------------------------------------------- // Set User Maxspeed native set_maxspeed(id,func[],Float:amount); // Set User Transparancy native set_alpha(id,func[],amount); // Set User Glow native set_glow(id,trigger,redfunc[],red,greenfunc[],green,bluefunc[],blue);

SweatyBanana 07-03-2007 23:45

Re: Gabion Kernel v1.3x
 
Please attach the *.sma separately.

Minimum 07-04-2007 00:28

Re: Gabion Kernel v1.3x
 
Quote:

Originally Posted by SweatyBanana (Post 498347)
Please attach the *.sma separately.

If I did that it would possibly confuse people that just read a little and click on the download. The plugin MUST be downloaded as one package or else certain functions will not work such as the help or configs. It would just create unnecessary problems which could of been avoided. That is why I did not attach the .smas separately.

YamiKaitou 07-04-2007 00:43

Re: Gabion Kernel v1.3x
 
Attach the zip, attach the sma, and attach a compiled version and you should be fine

Emp` 07-04-2007 05:20

Re: Gabion Kernel v1.3x
 
SweatyBanana,YamiKaitou: you are missing the point.

Minimum: you don't need to attach an sma.

Simon Logic 07-04-2007 05:30

Re: Gabion Kernel v1.3x
 
The most usefull (for me) is autoupdate system. I think it should be extracted into standalone branch. It would be a new generation of releasing plugins for AMX/X developers. Like Updater for Miranda IM.

kmal2t 07-04-2007 05:36

Re: Gabion Kernel v1.3x
 
May I ask why you call this a kernel when a kernel usually refers to an integral part of an OS, and not what appears to be like a module for amxx coding?

Simon Logic 07-04-2007 05:42

Re: Gabion Kernel v1.3x
 
May be it sounds cooler than Gabion API for author. ;)

hackziner 07-04-2007 09:42

Re: Gabion Kernel v1.3x
 
Hum .. interesting ^^

Minimum 07-04-2007 10:35

Re: Gabion Kernel v1.3x
 
Quote:

Originally Posted by Simon Logic (Post 498446)
May be it sounds cooler than Gabion API for author. ;)

That is exactly why I put "Kernel" in the name. As for everyone else, thank you for your support.


All times are GMT -4. The time now is 09:05.

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