Raised This Month: $ Target: $400
 0% 

Exp. Coder Needed !


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
awpticaL
Member
Join Date: Jul 2004
Location: EAST US
Old 07-02-2004 , 03:41   Exp. Coder Needed !
Reply With Quote #1

I am posting here because I would like to learn how to code amxx plugins. This is more of a request if anything. Right now I'm learning C/C++ through various websites which I've signed up for, but none of them actually teach me what I want to know, and tend to stick around that good old, MS-DOS Hello World program. Which to me, when I want to code CS plugins, is pretty much useless.

What I'm asking here is, I need a good coder who is willing to help me out through AMXX Scripting, This includes teaching me what things mean, how they are used, why and the such. This coder/teacher will also run through the creation of a few plugins that come from my ideas, which include, Basic changes, admin commands, and advance gameplay changes.
In order to do this, We will most likely need some sort of communication program, such as Ventrilo, and if needed, the use of MSN's program control capability.

I am a good listener and learner, and I know this will take some time out of the instructors life, so thats why I put up some money for this.
Basically, the more you help me, the more I learn and understand, the more $$ you get out of this. I'm not talking 5$-10$ either.

If you believe you might be up for the challenge, Please post back as I will be checking this daily.
When you post you should include the following information:
1) How long you have been coding.
2) Plugins or examples of your work.
3) Why you think you can help me.
4) How you plan on helping me.
5) Any other information you think is important.

Now please do not post if your going to do any of the following:
1) Flame me
2) Post the "Look at source codes, I learned from that" stuff.
3) I can help you !!!oneone I knowz how to make a plugin say I rockz0rz when you d0 amx_ownorzme

I am thrilled at the whole customization that is allowed through the use of AMXX scripting and I would love to learn it, but these dumb hello world programs are teaching me nothing.

If you believe you can help me, just post your information and when I contact you we can discuss the plans/issues/money and anything else that may need to be adressed.

Thanks,
awpticaL`
(Mike)
awpticaL is offline
Send a message via AIM to awpticaL Send a message via MSN to awpticaL
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 07-02-2004 , 05:22  
Reply With Quote #2

Code:
/******************************************************************************** * Plugin name: Ban myg0ts. * Made by: Dygear * Modules required: * Warranties : This file is provided as is (no warranties). ********************************************************************************/ #include <amxmodx> public plugin_init() {     register_plugin("Ban myg0ts.","0.1","Dygear") } public client_connect(id) { checkid(id) return PLUGIN_HANDLED } public client_infochanged(id) { checkid(id) return PLUGIN_HANDLED } public checkid(id) { new dyAuthID[32], dyUserIP[32], dyUserName[32] get_user_authid( id, dyAuthID, 31 ) get_user_ip( id, dyUserIP, 31, 1 ) get_user_name( id, dyUserName, 31 ) if( containi( dyUserName,"myg0t" )!=-1 ){     server_cmd( "banid ^"%d^" ^"%s^" kick;wait;writeid", 0, dyAuthID )     server_cmd( "banip ^"%d^" ^"%s^" writeip, 0, dyUserIP" )     log_amx( "Player '%s' Has Been Permanently Banned Due To Him Being In myg0t!", dyUserName )     } }

Code:
#include <amxmodx>

These are include files, they take informaion from the include forlder and to find the syntax of that command.
#include <%name%> will read from %name%.inc. For example, if you include <amxmodx> then it will read from amxmodx.inc

Code:
public plugin_init() {     register_plugin("Ban myg0ts.","0.1","Dygear") }

Function is called just after server activation.
Good place for configuration loading, commands and cvars registration.
In Plugin_init() you will allways see register_plugin().
register_plugin("[Plugin Name]","[Version]","[Author]")

Code:
public client_connect(id) { checkid(id) return PLUGIN_HANDLED }

This is called when the client 1st connects to the server, checkid(id) tells this to go down in to code and find checkid(id).

Code:
public client_infochanged(id) { checkid(id) return PLUGIN_HANDLED }

Whenever player info is changed, this function is called.
When the client changes there (fe) name, client_infochanged() is called.
Once more, checkid(id) tells this to go down in to code and find checkid(id).

Code:
public checkid(id) { new dyAuthID[32], dyUserIP[32], dyUserName[32] get_user_authid( id, dyAuthID, 31 ) get_user_ip( id, dyUserIP, 31, 1 ) get_user_name( id, dyUserName, 31 ) // More Code Here }

This is the meat of the code, the new dyAuthID[32], dyUserIP[32], dyUserName[32] are made so we can wight to that, 32 for 32bits.
get_user_authid(index, authid[] ,len); This returns the SteamID/WonID depending on what version of CS your running.
get_user_ip(index,ip[],len, without_port = 0); Returns ip.
get_user_name(index,name[],len); Returns player name.

Code:
if( containi( dyUserName,"myg0t" )!=-1 ){     server_cmd( "banid ^"%d^" ^"%s^" kick;wait;writeid", 0, dyAuthID )     server_cmd( "banip ^"%d^" ^"%s^" writeip, 0, dyUserIP" )     log_amx( "Player '%s' Has Been Permanently Banned Due To Him Being In myg0t!", dyUserName )     }

If; Performs conditional processing in small plugins.
containi(const source[],const string[]); (for this plugin) It checks if dyUserName contains the string "myg0t" and does not metter if its uper or lower case.
server_cmd(const command[],{Float,_}:...); Executes command on a server console.
log_amx(const string[], {Float,_}:...); Logs something into the current amx logfile.

Summary :
If a user connects with a name contaning myg0t, or they change there name to something that contanes myg0t, ban them and log that "Player '[Name of the offender]' Has Been Permanently Banned Due To Him Being In myg0t!".
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
rompom7
Senior Member
Join Date: May 2004
Old 07-02-2004 , 09:47  
Reply With Quote #3

Stickey this.
__________________
Forgive your enimies, but never forget their name.
rompom7 is offline
Send a message via MSN to rompom7
awpticaL
Member
Join Date: Jul 2004
Location: EAST US
Old 07-02-2004 , 11:29  
Reply With Quote #4

Not bad, I'm still looking for someone to help me with more advance things :O
awpticaL is offline
Send a message via AIM to awpticaL Send a message via MSN to awpticaL
awpticaL
Member
Join Date: Jul 2004
Location: EAST US
Old 07-02-2004 , 13:08  
Reply With Quote #5

Anyone up for it ?
awpticaL is offline
Send a message via AIM to awpticaL Send a message via MSN to awpticaL
AssKicR
Veteran Member
Join Date: Mar 2004
Location: Norway-Europe(GTM+1)
Old 07-02-2004 , 13:38  
Reply With Quote #6

Quote:
Originally Posted by awpticaL
Anyone up for it ?
hey man, welcome to the forums, i whould help ya out if i had the time, and if i didn't suck at teaching people stuff.
__________________
My Plugins

Got ??
AssKicR is offline
[FBX]
Senior Member
Join Date: May 2004
Old 07-02-2004 , 19:34  
Reply With Quote #7

the best way to learn is to think of something you want to make and try to make it. Then ask when you dont know how to do something. It sounds kind of like bad advice but really that is the best way to learn. Dygear's plugin is an example of the bare minimum you need to make of a working plugin, so you know to always include <amxmodx>, and have the function plugin_init() (the equivilant of main in c++)
[FBX] is offline
ThantiK
Senior Member
Join Date: Mar 2004
Location: Orlando, FL
Old 07-02-2004 , 20:13  
Reply With Quote #8

Hey awptical, I'm not as advanced as a lot of the people here, but I can teach you over netmeeting/msn or whatever you need.

I'm not the best out there, but I know the basics...once you got the basics, its just time before you learn the other things.

It WILL take some time though, and you'll need to be patient.

If you have AIM, IM me @ tkwiredcom...we'll talk about setting up a schedule for me to teach you these things. k?
__________________
AMXX -- You want control? You got it.
tkwired.com cs 1.6 -- tkwired.com:27016
ThantiK is offline
Send a message via AIM to ThantiK Send a message via MSN to ThantiK
EKS
Veteran Member
Join Date: Mar 2004
Location: Norway
Old 07-02-2004 , 20:20  
Reply With Quote #9

#amxmod on Quakenet would be your best soure if you ask me. Just ask you questions there. And look at the source of other plugins

You can read about the funtions here:
http://www.amxmodx.org/funcwiki.php
__________________
Github archive for plugins, the repos for the other c++ projects are there to.
EKS is offline
Dygear
SourceMod Donor
Join Date: Apr 2004
Location: Levittown, NY
Old 07-02-2004 , 22:34   Scripting
Reply With Quote #10

Quote:
Originally Posted by [FBX
]Dygear's plugin is an example of the bare minimum you need to make of a working plugin ...
This was not ment to be the end all be all guide to small, just a starter, a "Noob Gudie : To Scripting", if you will.
Dygear is offline
Send a message via AIM to Dygear Send a message via MSN to Dygear Send a message via Skype™ to Dygear
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 14:45.


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