Witaj gościu! Zaloguj się lub Zarejestruj aby móc korzystać ze wszystkich funkcjonalności jakie oferuje to forum! Rozpocznij zarabianie przez internet, poznaj korzysci pracy w domu! Rejestracja i korzystanie z forum jest całkowicie darmowe!
Praca w domu - Dodatkowa Praca - Zarabianie przez Internet
[Nieaktualne]Pluginy do CS'a piszemy :-) - Wersja do druku

+- Praca w domu - Dodatkowa Praca - Zarabianie przez Internet (https://zarabiam.com)
+-- Dział: Off-Topic (/Forum-Off-Topic-9)
+--- Dział: Counter-Strike (/Forum-Counter-Strike-40)
+---- Dział: Inne (/Forum-Inne-102)
+---- Wątek: [Nieaktualne]Pluginy do CS'a piszemy :-) (/Temat-Nieaktualne-Pluginy-do-CS-a-piszemy-15531)



[Nieaktualne]Pluginy do CS'a piszemy :-) - kubaku4 - 24-10-2010 07:16

Dzisiaj chciałbym przedstawić jak pisać pluginy do naszego kochanego Counter-Strike'a Big Grin Nie będę opisywał zbyt wiele, gdyż jestem już w innej sieci, no ale cóż. Zacznijmy!Lol
Na początek powinniśmy opatrzyć się w kompilator
Nie będę tutaj opisywał konfiguracji i innych rzeczy, poszukajcie ich w internecie. Programy do kompilowania i pisania z kolorowaniem składni: AMXX Studio lub [b]Pawn Studio[/b]. Czym jest kompilator? Kompilator jest aplikacją, która przekonwertuje nasz kod źródłowy[to co zaraz pokaże, niektórzy w PAWN'ie (język pluginów CS) mowią na to "sma"(rozszerzenie pliku źródłowego)]
Teraz część kodowa Big Grin
Teraz, gdy włączymy program(jeden z wymienionych powyżej)
zobaczymy coś takiego:
Kod PHP:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek"


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
// Add your code here...

Postaram się to opisać :-)

Kod PHP:
#include <amxmodx>
#include <amxmisc> 
Dodajemy tutaj moduły, w <> jest nazwa modułu. Przykładowo, jeśli chcemy zmienić życie gracza musimy dodać moduł fun.

Kod PHP:
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek" 
W "" wpisujemy dane pluginu, jak widać pierwsze to nazwa, drugie wersja, trzecie autor.

Kod PHP:
public plugin_init() 
To funkcja, jest wywoływana automatycznie podczas startu mapy.
Kod PHP:

Otwarcie funkcji(klamra otwierajaca), przykladowo w delphi(nie jestem pewien) jest to begin.
Kod PHP:
register_plugin(PLUGINVERSIONAUTHOR
Plugin tutaj rejestruje się do menu pluginów w AMXX'ie. Jak widać w nawiasach mamy nazwy naszych dyrektyw(#define).
Kod PHP:
// Add your code here... 
Komentarz krótki(kompilator tego nie skompiluje, ale w kodzie zostanie)
długi to /* i kończy się */
Kod PHP:

Zakończenie działania funkcji(klamra zamykająca) :-) (w delphi end).
Jeśli mniej więcej rozumiecie o co chodzi zajdziemy troszkę dalej.
Dodajcie moduł fun (jeśli czytaliście uważnie będziecie wiedzieli jak Big Grin)
Do funkcji plugin_init (po klamrze otwierajacej!!!) wpisujemy
Kod PHP:
register_clcmd("say /heal","hil"
Jak widać ta funkcja ma 2 paramerty, pierwszy to komenda którą trzeba wpisać (bez "say" trzeba wpisywać w konsole), a druga to nazwa funkcji która zostanie wywołana po wpisaniu(tu /heal). Teraz tworzymy funkcję hil Zrobię to za Was, abyście nie mieli z tym problemów.
Kod PHP:
public hil(id)
{
    
set_user_health(id130)

Nasza funkcja ma tylko jeden parametr, id (czyli index gracza, 0=serwer, 1-32 to gracze). Tutaj id jest pobierane od gracza który wpisał komendę.
Kod PHP:
set_user_health(id130
Odpowiada za zmienienie życia gracza, wpisujemy index i po przecinku ilość życia. !!!UWAGA!!! Funkcja zmienia ilość życia, a nie dodaje je!!!
Ostatecznie plugin wygląda tak:
Kod PHP:
#include <amxmodx>
#include <amxmisc>
#include <fun>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek"


public plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR)
    
    
register_clcmd("say /heal","hil")
}
public 
hil(id)
{
    
set_user_health(id130)

ENJOY! !PROSZĘ O NIE KOPIOWANIE!


Pluginy do CS'a piszemy :-) - Marello - 19-03-2011 09:16

Wątek zostaje zamknięty, ponieważ moderator uznał że temat został wyczerpany bądź rozwiązany. Jeśli posiadasz nowe pytania prosimy o założenie kolejnego tematu.