[kozep]
Kés Rendszer[/kozep]
[kozep]
v1.0.0 by Akosch:.[/kozep]
Mire jó a plugin? Miért használjam?Egyszerűen kezelhető, szerkeszthető, egy késes szerver alapjaként szolgálhat, több képességet is hozzá tudunk adni a késeinkhez, testre szabhatjuk a fejlődés nehézségét is, majdnem minden szerkeszthető anélkül, hogy hozzáérnénk az sma-hoz
Használat, beállítások:A kések egy külső fájlból lesznek/vannak beolvasva, ez alapból a "knives.txt" fájlból történik, későbbiekben leírom, hogy ez hol változtatható.
Kések megadási formátuma a fájlban:
"név" "model" "szintlimit" "sebesség" "gravitáció" "sebzés" "visszalökés" "élet" "átlátszóság"
Név: Ide írjuk a kés nevét amit szeretnénk a menüben látni.
Model: Ide írjuk model elérési útját a "models" mappától. pl.: alap kés: models/v_knife.mdl
Szintlimit: Ide írjuk, hogy hányas szinttől legyen elérhető az adott kés.
Sebesség: Itt adjuk meg, hogy milyen gyorsan tudjunk mozogni a késünkkel, nagyobb érték esetén szükséges lehet állítani az "sv_maxspeed" cvaron. Alap sebesség késsel: 250.0 .(float értékben kell megadni!)
Gravitáció: Itt adjuk meg, hogy az alap(800) gravitáció hányszorosát, hányad részét akarjuk adni a játékosnak. pl: ha 0.5-t írunk ide akkor dupla akkorát fogunk ugrani mint alapból, ahogy néztem 0.3 - 0.4-től lehetnek gondok pl 35hp_2-n spawnolásnál egyből meghal. (float értékben kell megadni!)
Sebzés: Itt adjuk meg, hogy az alap sebzés hányszorosát, hányad részét akarjuk adni a játékosnak. Alap sebzés * itt megadott érték = új sebzés(float értékben kell megadni!)
Visszalökés: Itt adjuk meg, hogy legyen-e visszalökése a késnek és, ha igen akkor mekkora. Az ellökés mértéke több dologtól is függ, érdemes óvatosan bánni az értékkel.
Élet: Itt adhatjuk meg, hogy spawnolásnál mennyi plusz hp-t kapjon a játékos. pl.: ha ide 30 -t írunk, akkor az azt jelenti, hogy 35hp -s mapon 65hp -val kezdesz. (100 -nál nagyobb hp-t valamiért nem akart engedni spawnolásnál nekem.)
Átlátszóság: Itt adhatjuk meg, hogy mennyire legyen átlátszó a játékos. ( 0 - láthatatlan, 255 - alap )
Kések megadásáról röviden, tömören ennyit.
A fejlődés nehézségét is teljesen be tudjuk állítani a cvarok és a levels.txt(Ezt is később leírom, hogyan módosítható.) segítségével.
Levels.txt -ről:A fájlban lefelé haladva kell megadni, hogy egyes szintekhez mennyi xp-t kelljen szedni.
pl:
Kód:
"10" - 10xp kell az 1. szinthez.
"142" - 142xp kell a 2. szinthez.
"167" - 167xp kell a 3. szinthez.
"342" - 342xp kell a 4. szinthez.
"764" - 764xp kell az 5. szinthez.
"967" - 967xp kell a 6. szinthez...
Cvarok:kill_messages( 0 - ki, 1 -be ) - A gyilkosnak adjon-e üzenetet chaten arról, hogy kit ölt meg, és hogy mit kapott ezért.
kill_xp( 0 - felfelé ) - Mennyi xp járjon egy sima ölés után.
kill_point( 0 - felfelé ) - Mennyi pont járjon egy sima ölésért.
hs_xp( 0 - felfelé ) - Mennyi xp járjon egy hs után.
hs_point( 0 - felfelé ) - Mennyi pont járjon egy hs után.
hp_prise( 0 - felfelé ) - Mennyibe kerüljön 50hp a boltban.
armor_prise( 0 - felfelé ) - Mennyibe kerüljön 50ap a boltban.
xp_prise( 0 - felfelé ) - Mennyibe kerüljön az xp a boltban.
gambling_prise( 0 - felfelé ) - Mennyibe kerüljön a szerencsejáték a boltban.
És amikor ezekkel meglennénk akkor ajánlanám beállítani a preprocesszorokat:
#pragma semicolon 1 //Kérjen e sorvégi ";" zárókaraktert.
#define SLOT 32 //Hány slotos a szervered.
#define MAXLEVEL 50 //Hányas legyen a maximum szint, ez ugyebár függ a levels.txt-ben megadottaktól is.
#define KNIVES 10 //Mennyi kés legyen a menüben, ez meg a knives.txt-ben beállítottaktól függ.
#define ADDFLAG ADMIN_CVAR //Milyen joggal lehessen addolni pontot.
#define XPMIN 10 //Xp vásárlásnál mi legyen a minimum amit kaphat.
#define XPMAX 20 //Xp vásárlásnál mi legyen a maximum amit kaphat.
Utóbbiak miatt ajánlanám először átgondolni mit akarunk, azt megírni a fájlokban, majd beállítani a preprocesszorokat és lefordítani az sma-t.
Mentés:Ini kiterjesztésű fájlokba ment alapból(ServerDatas.ini és PlayerDatas.ini), ezeknek a fájloknak a nevét, kiterjesztését az sma -ban tudjuk állítani mégpedig itt:
stock const g_sServerSaveFile[] = {"ServerDatas.ini"};
stock const g_sPlayerSaveFile[] = {"PlayerDatas.ini"};
Sokakat érdekelt, hogy hogyan lehetne menteni, hogy hányszor volt megnyitva egy menü... Most láthatjátok itt a ServerDatas.ini-be menti.
PlayerDatas.ini -ben lefelé haladva láthatjuk a játékosok neveit, adatait. ("név" szint xp pont kés)
pl:
Kód:
"Jóska" 10 1250 500 1
"Pista" 50 10000 2500 8
->
Jóska nevű játékosunk 10-es szintű, 1250xp-vel rendelkezik, van 500 pontja, és utoljára az 1-es számú(menüben 2.) késsel játszott.
Pista nevű játékosunk 50-es szintű, 10.000xp-vel rendelkezik, van 2500 pontja, és utoljára a 8-as számú(menüben 9.) késsel játszott.
Egyebek:Ha a zöld "[Információ]" felirat helyett mást szeretnénk látni a chatben az üzeneteknél(szintlépés, ölés...), akkor az sma -ban itt módosítható:
stock const g_sServerPrefix[] = {"[Információ]"};
levels.txt és knives.txt nevének, kiterjesztésének átírása:
plugin_precache() -en belül található 2 ilyen sor(külön - külön):
format(sFile, charsmax(sFile), "%s/knives.txt", sFile);
format(sFile, charsmax(sFile), "%s/levels.txt", sFile);
Itt írhatjuk át őket, pl.:
format(sFile, charsmax(sFile), "%s/kesek.txt", sFile);
format(sFile, charsmax(sFile), "%s/szintek.ini", sFile);
Fontos, hogy a format -t ne írjuk át formatex -re, direkt van úgy.
Menük átszínezésére most nem térnék ki, aki tudja hogy kell csinálja kedvére, aki nem az pedig nézzen utána a fórumon, volt több téma is ezzel kapcsolatban.
A plugin rendelkezik egy ajándékozás menüvel is, ahol pontot lehet küldeni a jelenleg online játékosoknak, ennek több értelme lehet, ha valaki kiegészíti a boltot.
Információk!1. Ajánlanám az UTF8 -as karakterkódolást minden fájlnál, ha ékezetet szeretnénk használni.
2. A fájlok létrehozzák magukat, ha nem írjuk meg őket előre.
3. Colorchat.inc szükséges a pluginhoz, vagy át kell írni az üzenetes részeket.
4. ZIP -et direkt nem mellékeltem, mindenki készítse el magának az egyedi kés rendszerét, nem véletlen csináltam ilyenre amilyen.
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team
Header size: 2300 bytes
Code size: 30388 bytes
Data size: 15584 bytes
Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion
Total requirements: 64656 bytes
Done.
Pár kép a menüről stb(nagyobb méretért katt a képre):
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
Tesztelési lehetőségért külön köszönet DecToR -nak.Mi nem találtunk hibákat / bugokat, ha valaki észlelne írjon és megpróbálom orvosolni.
Ha lenne ötlet fejlesztésre, kiegészítésre azt is szívesen fogadom.