GE-CS.UCOZ.COM

mOm | GaminG Cs 1.6 ® #1 - 93.188.8.93:1111

ავტორი ავტორი: NiKuSH | 2024-05-05 | ნანახია 3644


.:: ნაწილი 1 ::.

პლუგინის შესაქმნელად დაგვჭირდება:
1. ტვინი - 1 ცალი
2. თვალები - 2 ცალი
3. ხელები - 2 ცალი
4. პროგრამა
AMXX Studio

მაშ ასე. დავიწყოთ უმარტივესი პლუგინით: T ვირუსი

გახსენით პროგრამა AMXX Studio

იპოვეთ წარწერა
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "[Matrix] Neo"

"New Plug-In"-ის მაგივრად ჩაწერეთ პლუგინის სახელი. ამ შემთხვევაში T Virus
"1.0"-ის მაგივრად შეგიძლიათ ჩაწეროთ პლუგინის ვერსია. ეს როცა განაახლებთ და ახალი ვერსია გექნებათ
"[Matrix] Neo"-ს მაგივრად უნდა ჩაწეროთ ავტორის სახელი ანუ ამ შემთხვევაში მე :P

იქ ასევე იქნება ასეთი წარწერა
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

// Add your code here...
}

მანდ ჯერ არაფერს არ წერთ, ამ პლუგინში ეგ არ დაგვჭირდება

ახლა დააჭირეთ Public Function-ის ღილაკს

გაჩნდება ასეთი რამ:

"Function"-ის მაგივრად ვწერთ client_connect და გვერდზე ფრჩხილებში ვწერთ id.
ანუ ასე უნდა გამოვიდეს:

ფუნქცია client_connect(id) აფიქსირებს ყველა მოთამაშეს სერვერზე შემოსვლისას. თუ რა მოუვათ ამ მოთამაშეებს შემოსვლისას ეგ უნდა ჩავწეროთ { } <-- ამათ შუაში. ანუ ამ შემთხვევაში ვაიძულებთ რომ თავად დაიყენონ ღილაკებზე სერვერის ჩატში გაბაზრება, შემდეგი ბრძანებით:
client_cmd(id, "bind t ^"say shemodit all, dzaan magari serveria! ip: 0.0.0.0:0000^"")

"shemodit all, dzaan magari serveria! ip: 0.0.0.0:0000" ამის მაგივრად რაც გინდათ ის დაწერეთ

უნდა მივიღოთ ასეთი რამ:

client_cmd(id არის ბრძანების გაცემა კლიენტის მხრიდან

შეგიძლიათ სხვა ღილაკებზეც დაუყენოთ ეს "ვირუსი":

მორჩა! T ვირუსის კოდი მზადაა. ახლა ეს კოდი უნდა შეინახოთ, დააჭირეთ ზემოთ, შენახვის ღილაკს

ახლა თქვენ გაქვთ პლუგინის კოდი ანუ .sma ფაილი. მაგრამ ეს ჯერ არ არის პლუგინი, ეს მხოლოდ მისი კოდია. ახლა ეს კოდი უნდა დააკომპლიროთ რომ მიიღოთ პლუგინი. ახლა გასწავლით როგორ უნდა დააკომპლიროთ პლუგინის კოდი

ამისათვის დაგვჭირდება რაიმე ნორმალური AMX

1. ჩააგდეთ თქვენი გაკეთებული .sma ფაილი ამ AMX-ის addons/amxmodx/scripting ფოლდერში

2. აიღეთ თქვენი .sma ფაილი და დაადეთ ფაილ compile.exe (რომელიც იმავე ფოლდერში უნდა იყოს)

3. გამოჩნდება ფანჯარა, არ დახუროთ სანამ არ დაეწერება Press Enter to Exit

4. ეს რომ დაეწერება (Press Enter to exit) დააჭირეთ Enter-ს და მიეცით Refresh

5. გაჩნდება ახალი ფოლდერი სახელად compiled, გახსენით ეს ფოლდერი და იქ იპოვით უკვე დაკომპლირებულ კოდს, ანუ პლუგინს (.amxx ფაილი) რომელიც მზადაა სერვერზე დასაყენებლად

გილოცავთ! თქვენ ისწავლეთ პლუგინების კოდების დაკომპლირება და T ვირუსის შექმნაც

.:: ნაწილი 2 ::.

რა არის .inc ფაილები? ეს არის include ფაილები რომლებიც არიან თქვენი AMX-ის addons/amxmodx/scripting/include ფოლდერში. თუ ასეთი ფოლდერი თქვენს AMX-ში არ არის ან თუ ფოლდერი ცარიელია, მაშინ ეგ AMX არაფრად არ გამოგადგებათ. სხვადასხვა include ფაილი შეიცავს სხვადასხვა კოდებს. ახლა განვიხილავთ include ფაილს "fun". ეს ფაილი შეიცავს კოდებს, რომლითაც შეგიძლიათ: მისცეთ მოთამაშეს სიცოცხლე, ბრონი-ჟილეტი, იარაღი, ფრაგი, შესაძლებლობა გავიდეს კედლებში (No Clip), გახადოთ უკვდავი, უხილავი და ასე შემდეგ.

იმისათვის რომ ეს კოდები ჩართოთ თქვენს პლუგინში, უნდა შეიტანოთ ეს ფაილი "fun". გახსენით AMXX Studio, ზემოთ იქნება წარწერა
#include <amxmodx>
#include <amxmisc>

ამას დაამატეთ ასეთი წარწერა: #include <fun>

ანუ უნდა გამოვიდეს ასე:
#include <amxmodx>
#include <amxmisc>
#include <fun>

დავუშვათ, თქვენ გინდათ ისეთი პლუგინი, რომ როდესაც ადმინი დაწერს ჩატში /sicocxle მას ქონდეს ისევ 100 HP.
დავიწყოთ:
ჯერ უნდა დავარეგისტრიროთ ეს ბრძანება (say /sicocxle) კონსოლში. ამისათვის plugin_init-ში ვწერთ: register_clcmd("say /sicocxle", "cmd_sicocxle")

cmd_sicocxle <-- ალბათ გაინტერესებთ ეს რა არის. ახლა უნდა შევქმნათ ახალი Public Function რომელსაც დავარქმევთ ასეთ სახელს (cmd_sicocxle) და იქ ჩავწერთ თუ რა მოხდება როდესაც ვინმე ჩატში დაწერს /sicocxle-ს. ახლა ვაწვებით Public Function-ის ღილაკს

შექმნილ Public Function-ს დაარქვით სახელი cmd_sicocxle და ფრჩხილებში ჩაწერეთ id

id, ანუ ის მოთამაშე ვინაც ჩატში დაწერა /sicocxle. 100-ის მაგივრად შეგიძლიათ დაწეროთ მილიონი (1000000) და ამდენი სიცოცხლე ექნება იმას ვინც ჩატში დაწერს /sicocxle-ს =))

მაგრამ მოიცადეთ! ასე რომ გავაკეთოთ სერვერზე ყველა მოთამაშეს შეეძლება სიცოცხლის აღება, ასე რომ ჯერ უნდა შევამოწმოთ არის თუ არა მოთამაშე ადმინი

is_user_admin ნიშნავს, თუ მოთამაშე არის ადმინი, ხოლო წინ დაწერილი ძახილის ნიშანი ნიშნავს უარყოფას, ანუ ამ შემთხვევაში if (!is_user_admin(id)) რომ გადმოვთარგმნოთ იქნება: თუ მოთამაშე არ არის ადმინი. ფრჩხილებში ჩაწერილი id ამ შემთხვევაში, აღნიშნავს იმას რომ ამოწმებს იმ მოთამაშეს ვინაც ჩატში დაწერა /sicocxle, ხოლო თუ ის არ არის ადმინი მაშინ return PLUGIN_HANDLED, ანუ პლუგინი ამთავრებს მუშაობას და უბრუნდება საწყის მდგომარეობას + ჩატში დაწერილი /sicocxle არ გამოჩნდება, ასე რომ ვერავინ ვერ დაინახავს და ვერ მიხვდება რო ეს პლუგინი გაქვთ დაყენებული სერვერზე smile

მორჩა! პლუგინის კოდი მზადაა. ახლა უნდა დააკომპლიროთ.

include ფაილ "fun"-ის რამოდენიმე კოდი კოდი:

1. set_user_armor(id, 100) - ბრონის დაყენება, 100-ის მაგივრად რამდენსაც ჩაწერთ იმდენი ექნება ბრონი

2. set_user_frags(id, 100) - ფრაგის დაყენება, 100-ის მაგივრად რამდენსაც ჩაწერთ იმდენი ექნება ფრაგი

3. set_user_godmode(id, 1) - უკვდავობის ჩართვა

4. set_user_godmode(id, 0) - უკვდავობის გამორთვა

5. set_user_health(id, 100) - სიცოცხლის მომატება, 100-ის მაგივრად რამდენსაც ჩაწერთ იმდენი ექნება სიცოცხლე

6. set_user_noclip(id, 1) - კედლებში გასვლის შესაძლებლობის ჩართვა

7. set_user_noclip(id, 0) - კედლებში გასვლის შესაძლებლობის გამორთვა

.:: ნაწილი 3 ::.

წინა ნაწილში თქვენ დაარეგისტრირეთ ბრძანება say /sicocxle ანუ ამის ჩატში დაწერის შემდეგ სიცოცხლე გემატებოდათ. ახლა ცოტა გავართულოთ. ახლა დავარეგისტრირებთ ისეთ ბრძანებას რომ ადმინს შეეძლოს ნებისმიერ მოთამაშეს მოუმატოს სიცოცხლე. ამ ბრძანებას ექნება 1 არგუმენტი: მოთამაშის სახელი. ანუ amx_sicocxle "saxeli" და ვის სახელსაც ჩაწერთ იმას მოემატება სიცოცხლე.

დავიწყოთ

როგორც წინა ნაწილში გავაკეთეთ, ახლაც უნდა ჩავრთოთ პლუგინში fun-ის კოდები (#include <fun>)

როგორც სურათზე ხედავთ არის ცვლილებები რაც წინა ნაწილში არ იყო. ახლა განვმარტავ

register_clcmd ჩანაცვლდა register_concmd-თი, რა განსხვავებაა მათ შორის?

register_clcmd არის ისეთი ბრძანების დარეგისტრირება რომელსაც სერვერის კონსოლში ვერ გამოიყენებთ, ანუ მთავარმა ადმინა რომ ჩაწეროს ესეთი ბრძანება სერვერის კონსოლში (hlds.exe) რა უნდა მოხდეს? სიცოცხლე ვის უნდა მოემატოს?

register_concmd არის ისეთი ბრძანების დარეგისტრირება რომელის გამოყენებას შეძლებთ სერვერის კონსოლშიც, ანუ მთავარ ადმინი სერვერზე რომ არ იყოს შესული მაინც შეეძლება სხვას მოუმატოს სიცოცხლე ბრძანების სერვერის კონსოლში გაშვებით (amx_sicocxle "saxeli")

როგორც ხედავთ დამატებულია ასევე ADMIN_SLAY, ეს იმას ნიშნავს რომ მხოლოდ იმ მოთამაშეებს შეეძლებათ მა ბრძანების გამოყენება რომლებთაც აქვთ ADMIN_SLAY (ფლაგი "c") ანუ იმ მოთამაშეებს რომლებთაც შეუძლიათ სხვა მოთამაშეს "slay" გაუკეთონ ანუ მოკლან (ჩვეულებრივ, მოთამაშეებს რომლებთაც ეს შეუძლიათ, ადმინებს უძახიან ხოლმე :D). წინა ნაწილში სხვაგვარად შევამოწმეთ მოთამაშე იყო თუ არა ადმინი (if(!is_user_admin(id)) იმიტომ რომ იმ ბრძანებას არ ქონდა არც-ერთი არგუმენტი, ამ ბრძანებას კი აქვს ერთი არგუმენტი (მოთამაში სახელი უნდა ჩაწეროთ ამ ბრძანების გასწვრივ: amx_sicocxle Neo)

შემდეგ არის პლუგინის აღწერა. კონსოლში რომ ჩაწეროთ amx_help იქ დაიწერება იმ ბრძანებების ჩამონათვალი რომლებიც თქვენთვის არის ხელმისაწვდომი. ჩვეულებრივ ამ ბრძანებების გასწვრივ წერია აღწერა, რომ გაიგოთ რომელი რას აკეთებს. ხოდა ამ ბრძანების გასწვრივ იქნება ეს აღწერა

ახლა შევქმნათ Public Function, დავარქვათ cmd_sicocxle (ფრჩხილებში ისევ id-ს ვწერთ) და ჩავწეროთ თუ რა მოხდება ამ ბრძანების კონსოლში ჩაწერის შემდეგ

ახლა შევქმნათ ასეთი ცვლადი: Argument[32]. ეს ცვალდი შევქმნათ ასე: new Argument[32]

შემდეგ წავიკითხოთ ეს ცვლადი როგორც არგუმენტი: read_argv(1, Argument, 31)

ახლა შევქმნათ კიდევ ერთი ცვლადი და დავარქვათ mizani და ამ ცვლად მივანიჭოთ სამიზნის მნიშვნელობა (სამიზნეში ვგულისხმობ იმ მოთმაშეს ვისაც უნდა მოემატოს სიცოცხლე :P)

სურათზე ხედავთ ახლა "რაღაცებს", CMDTARGET_ALLOW_SELF და CMDTARGET_ONLY_ALIVE.

CMDTARGET_ALLOW_SELF ნიშნავს რომ ნებადართულია სამიზნე იყოს თქვენი თავი, ანუ თქვენი სახელი რომ ჩაწეროთ თქვენ მოგემატებათ სიცოცხლე

CMDTARGET_ONLY_ALIVE ნიშნავს რომ მხოლოდ ცოცხალი მოთამაშეები შეიძლება იყვნენ სამიზნეები (აბა მკვდარს რად უნდა სიცოცხლის მომატება ხო აღარ გაცოცხლდება? o.O)

შემდეგ ვწერთ if (mizani) და ვხსნით ახალ ფრჩხილებს კი არა და რა ჯანდაბაც ქვიათ ამათ --> { } და იქ ჩავწერთ რა მოხდება თუ მითითებული არგუმენტი დაემთხვა რომელიმე მოთამაშის სახელს, ანუ ამ შემთხვევაში მოვუმატებთ სიცოცხლეს

set_user_health იცით უკვე მეორე ნაწილიდან არის სიცოცხლის დაყენების კოდი, მის ინდექსად აქ წერია mizani ანუ ის მოთამაშე ვისაც მოემატება სიცოცხლე, ეს იქნება ის ვის სახელსაც ჩაწერთ, 100-ის მაგივრად რამდენსაც ჩაწერთ იმდენი სიცოცხლე ექნება.

client_print არის მესიჯის გაგზავნა, ინდექსად წერია mizani ანუ ის, თუ ვისთან გამოჩნდება ეს მესიჯი, ანუ ამ შემთხვევაში გამოჩნდება იმასთან ვის სახელსაც ჩაწერთ, print_chat ნიშნავს რომ მესიჯი დაიბეჭდება ჩატში (რომ დაწეროთ print_console, მაშინ მესიჯი დაიბეჭდება კონსოლში) შემდეგ ბრჭყალებში წერია თუ რა მესიჯი დაიბეჭდება და ბოლოს return PLUGIN_HANDLED - პლუგინი ამთავრებს მუშაობას.

მორჩა!

გილოცავთ! თქვენ კიდევ გაიგეთ რაღაც Pawn Language-ის შესახებ.

ხო, დამავიწყდა მეთქვა, პლუგინების პროგრამირების ენას, ანუ რასაც ახლა ვწერდით Pawn Language ქვია. დაიმახსოვრეთ, პლუგინები იწერება Pawn Language-ში და არა C++ ში biggrin


ნანახია: (3644)

სულ კომენტარები: 4
2014-04-19
ყლე საიგიტია მაგარი ამაზე ყლდე არი მინახავს ფუფ



2011-04-02
plz dadet rogor gavaketo extra item an sxva modeli pluginebit plz ra



2011-03-31
linki gaaswore ra to



2011-01-18
AK47

AUG

AWP

Backpack

C4

CT and T Packs

GIGN

GSG9

CT Packs

SAS

URBAN

Defuse_Kit

Desert Deagle

Dual_ELITES

FAMAS

Five-Seven

G3_SG-1

Galil

Glock

Grenades

Hostages

Knife

M3

M4A1

M249

mac-10

MP5

P90

SCOUT

shield

Sig_550

Sig_552

Sig_p228

T_Arctic

T_Guerilla

T_LEET

T_Packs

T_Terror

TMP

ump45

USP

VIP

xm1014





დაამატე კომენტარი



თქვენი რეკლამის ადგილი !!