DeathrunExpMod by ToJaTwojTelefon
ToJaTwojTelefon
10.01.2012
Witam,
przedstawiam wam moda na serwery deathrun.Jest to edytowany mod Call Of Duty by QTM. Peyote . Napisałem go dlatego, że kiedyś miałem zlecenie, ale jakoś wszystko ucichło a klient nie odpowiada więc postanowiłem go opublikować.

Każdy gracz ma do wyboru 2 klasy:
- Skoczek(Wyżej Skacze)
- Szybcior(Szybciej biega)
Te klasy mogą tylko przydzielać pkt do jednej statystyki czyli:
-Skoczek przydziela pkt grawitacji aby wyżej skakać
-Szybcior przydziela pkt do szybkości aby szybciej biegać
Dodałem również klasę premium która ma większa grawitacja oraz większą szybkość oraz może przydzielać pkt w obie statystyki



Standardowa: http://amxx.pl/topic...-pluginow-amxx/
plik cstrike.rar wklejamy do katalogu cstrike


Jeżeli znalazłeś jakieś bugi lub problemy(np. coś nie działa) to proszę to zgłaszać w tym temacie.
Jeżeli coś zapomniałem napisać, proszę pytać

DeathrunExpMod.sma 13,69 KB
1663 Ilość pobrań
DeathrunExpMod.amxx 21,57 KB
92 Ilość pobrań
cstrike.rar 602,38 KB
1724 Ilość pobrań
przedstawiam wam moda na serwery deathrun.Jest to edytowany mod Call Of Duty by QTM. Peyote . Napisałem go dlatego, że kiedyś miałem zlecenie, ale jakoś wszystko ucichło a klient nie odpowiada więc postanowiłem go opublikować.

Każdy gracz ma do wyboru 2 klasy:
- Skoczek(Wyżej Skacze)
- Szybcior(Szybciej biega)
Te klasy mogą tylko przydzielać pkt do jednej statystyki czyli:
-Skoczek przydziela pkt grawitacji aby wyżej skakać
-Szybcior przydziela pkt do szybkości aby szybciej biegać
Dodałem również klasę premium która ma większa grawitacja oraz większą szybkość oraz może przydzielać pkt w obie statystyki

/klasa - wybór klasy /klasy - opis klas /reset - resetuje twoje aktualne statystyki

dr_setlvl "nick""level" - przydzielamy graczowi levele

Standardowa: http://amxx.pl/topic...-pluginow-amxx/
plik cstrike.rar wklejamy do katalogu cstrike

dr_killxp "50"doświadczenie za zabójstwo (standardowo 50)

Jeżeli znalazłeś jakieś bugi lub problemy(np. coś nie działa) to proszę to zgłaszać w tym temacie.
Jeżeli coś zapomniałem napisać, proszę pytać

DeathrunExpMod.sma 13,69 KB
1663 Ilość pobrań
DeathrunExpMod.amxx 21,57 KB
92 Ilość pobrań
cstrike.rar 602,38 KB
1724 Ilość pobrań
Arex
10.01.2012
Przerobiony Cod mod ;D
Moj Pomysl ukradl tylko ze ja lepiej to zrobilem niezle niezle ;d
Użytkownik arex92 edytował ten post 10.01.2012 18:04
Moj Pomysl ukradl tylko ze ja lepiej to zrobilem niezle niezle ;d
Użytkownik arex92 edytował ten post 10.01.2012 18:04
niewiidzialny
12.01.2012
Fajny plugin wgram go na 100 na swoj server
Trzeba dorobic:
rozbuduj menu rozdawania statystyk zeby nie po 1 rozdawac tylko zeby po 5.
jak zrobiles "dr_setlvl "nick""level" - przydzielamy graczowi levele" to zrob tez odbieranie levela
zeby max level byl 400
jak bys mogl to zeby bylo 5 klas w tym 2 premium
Skoczek(Wyżej Skacze)klasa zwykla
statystyki:
• Max Sily : 80 [1 sily=2hp]
• Max Zwinnosci : 80 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 150 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 70 [ 10 regeneracji to 1hp co 4 sekund ]
- Szybcior(Szybciej biega)
statystyki:
• Max Sily : 90 [1 sily=2hp]
• Max Zwinnosci : 150 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 80 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 80 [ 10 regeneracji to 1hp co 4 sekund]
- Blocker Man(wolny)
statystyki:
• Max Sily : 150 [1 sily=2hp]
• Max Zwinnosci : 50 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 60 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 30 [ 10 regeneracji to 1hp co 4 sekund]
- Heal Man(lekarz)
statystyki:
• Max Sily : 80 [1 sily=2hp]
• Max Zwinnosci : 90 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 80 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 120 [ 10 regeneracji to 1hp co 4 sekund]
Klasy premium
- Uniwersal man(uniwersalny)
statystyki:
• Max Sily : 120 [1 sily=2hp]
• Max Zwinnosci : 110 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 100 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 130 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 120 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 100 [ 10 regeneracji to 1hp co 4 sekund ]
- Kasztanek(-)
statystyki:
• Max Sily : 150 [1 sily=2hp]
• Max Zwinnosci : 90 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 130 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 70 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 120 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 180 [ 10 regeneracji to 1hp co 4 sekund ]
Jak cos wymysle to dopowiem.
Jak bys zrobil tego moda na dr z expem masz u mnie rekompensate pieniezna za fatyge.
i mozliwosc wspolpracy
Użytkownik niewiidzialny edytował ten post 14.01.2012 21:44
Trzeba dorobic:
rozbuduj menu rozdawania statystyk zeby nie po 1 rozdawac tylko zeby po 5.
jak zrobiles "dr_setlvl "nick""level" - przydzielamy graczowi levele" to zrob tez odbieranie levela
zeby max level byl 400
jak bys mogl to zeby bylo 5 klas w tym 2 premium
Skoczek(Wyżej Skacze)klasa zwykla
statystyki:
• Max Sily : 80 [1 sily=2hp]
• Max Zwinnosci : 80 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 150 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 70 [ 10 regeneracji to 1hp co 4 sekund ]
- Szybcior(Szybciej biega)
statystyki:
• Max Sily : 90 [1 sily=2hp]
• Max Zwinnosci : 150 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 80 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 80 [ 10 regeneracji to 1hp co 4 sekund]
- Blocker Man(wolny)
statystyki:
• Max Sily : 150 [1 sily=2hp]
• Max Zwinnosci : 50 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 60 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 30 [ 10 regeneracji to 1hp co 4 sekund]
- Heal Man(lekarz)
statystyki:
• Max Sily : 80 [1 sily=2hp]
• Max Zwinnosci : 90 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 80 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 100 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 100 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 120 [ 10 regeneracji to 1hp co 4 sekund]
Klasy premium
- Uniwersal man(uniwersalny)
statystyki:
• Max Sily : 120 [1 sily=2hp]
• Max Zwinnosci : 110 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 100 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 130 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 120 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 100 [ 10 regeneracji to 1hp co 4 sekund ]
- Kasztanek(-)
statystyki:
• Max Sily : 150 [1 sily=2hp]
• Max Zwinnosci : 90 [np standardowa predkosc to 250-320 1 zwinnosci to +1 do szybkosci albo +2]
• Max Lewitacja : 130 [ tak zeby w statystykach jak by bylo 100 ,lewitacja wynosila 2 razy mniej trzeba by bylo obliczyc]
• Max Zaradnosci : 70 [ zeby na max zaradnosci dostawalo sie 2500 $ czyli, 1 zaradnosci 25$]
• Max Niewidzialnosc : 120 [ na max niewidzialnosci czyli 100 , niewidzialnosc jest 255 na niewidzialnosc w statystykach 100 , niewidzialnosc z 255 byla by 105 ]
• Max Regeneracja : 180 [ 10 regeneracji to 1hp co 4 sekund ]
Jak cos wymysle to dopowiem.
Jak bys zrobil tego moda na dr z expem masz u mnie rekompensate pieniezna za fatyge.
Użytkownik niewiidzialny edytował ten post 14.01.2012 21:44
Jeansy
13.01.2012
jak było by aż tyle tych klas za bardzo mi to by przypominało CodMod a jak jest 2-4 to fajnie się gra
ToJaTwojTelefon
13.01.2012
jak zrobiles "dr_setlvl "nick""level" - przydzielamy graczowi levele" to zrob tez odbieranie levela
Jeżeli chcesz cofnąć graczowi lvl to po prostu wpisujesz jaki ma mieć aktualny lvl
np:
"dr_setlvl "nick""100"wtedy będzie miał 100lv, a jeżeli chcesz mu cofnąć tak aby miał 50 lvl to wpisujesz
"dr_setlvl "nick""50"i w tedy jego aktualny lvl będzie wynosił 50.
Name166
13.02.2012
a zrobiłby mi ktoś klasę , bym napisał co i jak z tak wql bym się wzorował na waszych klasach
Amica Wronki
18.03.2012
Wiecie co?? Jestem za tym, by ten plugin byl zrobiony na nowym CodModzie
Ale by bylo zaje******
TheRock
18.03.2012
Wiecie co?? Jestem za tym, by ten plugin byl zrobiony na nowym CodModzie <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/naughty.gif' class='bbc_emoticon' alt='^^' /> Ale by bylo zaje******yyy..przeciez to jest przeróbka coda
Kriczeq
14.04.2012
tak ale starego a on chiał na nowym daj jakiś poradnik jak zrobić klase na tym exp modzie
adamsa1
14.04.2012
Dodalem klasy, i co ? nie chce sie skompilowac
sma
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team drklasy.sma(43) : error 001: expected token: "}", but found "-string-" drklasy.sma(50) : error 001: expected token: "}", but found "-string-" drklasy.sma(292) : error 029: invalid expression, assumed zero 3 Errors. Could not locate output file drklasy.amxx (compile failed).
sma
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>
#include <nvault>
#define PLUGIN "DeathrunExpMod"
#define AUTHOR "ToJaTwojTelefon & QTM. Peyote - podstawa silnika"
#define VERSION "1.0"
#define STANDARDOWA_SZYBKOSC 250.0
#define STANDARDOWA_GRAWITACJA 1.0
#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832
new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_vault;
new doswiadczenia_za_zabojstwo;
new nazwa_gracza[33][64];
new klasa_gracza[33];
new poziom_gracza[33] = 1;
new doswiadczenie_gracza[33];
new nowa_klasa_gracza[33]
enum { NONE = 0,Skoczek, Szybcior, MultiBoy, Skoczoszybcior};
new const Float:szybkosc_klasy[] = {0.0, 1.0, 1.2, 1.2, 2.0};
new const Float:grawitacja_klasy[] = {1.0, 0.1, 1.0, 0.1, 0.1};
new const nazwy_klas[][] = {"Brak",
"Skoczek",
"Szybcior",
"MultiBoy(P)"
"Skoczoszybcior(MP)"};
new const opisy_klas[][] = {"Brak",
"Na start jestes szybszy od pozostalych",
"Na start masz wieksza gravitacje od pozostalych",
"Na start masz wieksza grawitacja i szybkosc od pozostalych"
"Na start masz wieksza grawitacje, i mega szybkosc od pozostalych"};
new punkty_gracza[33];
new kondycja_gracza[33];
new Float:szybkosc_gracza[33];
new grawitacja_gracza[33];
new Float:grav
new bool:gracz_resetuje[33];
new const doswiadczenie_poziomu[] = {0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440,
582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440,
1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_vault = nvault_open("DeathrunExpMod");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_event("DeathMsg", "Death", "ade");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_concmd("dr_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
register_cvar("dr_killxp", "50");
doswiadczenia_za_zabojstwo = get_cvar_num("dr_killxp");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
set_task(30.0, "Pomoc");
}
public plugin_precache()
{
precache_sound("csmps/sound/select.wav");
precache_sound("csmps/sound/gained_level.wav");
}
public Odrodzenie(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(nowa_klasa_gracza[id])
{
klasa_gracza[id] = nowa_klasa_gracza[id];
nowa_klasa_gracza[id] = 0;
WczytajDane(id, klasa_gracza[id]);
}
if(!klasa_gracza[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
switch(klasa_gracza[id])
{
case Skoczek:{}
case Szybcior:{}
case MultiBoy:{}
case Skoczoszybcior:{}
}
if(gracz_resetuje[id])
{
ResetujPunkty(id);
gracz_resetuje[id] = false;
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
grav = STANDARDOWA_GRAWITACJA-grawitacja_klasy[klasa_gracza[id]]-grawitacja_gracza[id] / 300.0;
return PLUGIN_CONTINUE;
}
public PoczatekRundy()
{
for(new id=0;id<=32;id++)
{
if(!is_user_alive(id))
continue;
set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
}
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);
if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new nowe_doswiadczenie = 0;
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
punkty_gracza[id] = 0;
kondycja_gracza[id] = 0;
szybkosc_gracza[id] = 0.0;
grawitacja_gracza[id] = 0;
get_user_name(id, nazwa_gracza[id], 63);
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
ZapiszDane(id);
}
public OpisKlasy(id)
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
for(new i=1; i<sizeof nazwy_klas; i++)
menu_additem(menu, nazwy_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk csmps/sound/select");
}
public OpisKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "[DrExpMod] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
menu_display(id, menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk csmps/sound/select");
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;
if(item == MultiBoy && !(get_user_flags(id) & ADMIN_LEVEL_G))
{
client_print(id, print_chat, "[ExpMod Mruk] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
if(klasa_gracza[id])
if(item == Skoczoszybcior && !(get_user_flags(id) & ADMIN_LEVEL_H)) // zamiast X wpisujemy level jaki chcemy
{
client_print(id, print_chat, "[ExpMod Mruk] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[ExpMod Mruk] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}
public PrzydzielPunkty(id)
{
new kondycja[60];
new grawitacja[60];
new tytul[25];
format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
format(grawitacja, 59, "Grawitacja: \r%i \y(Wyzej skaczesz)", grawitacja_gracza[id]);
format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, kondycja);
menu_additem(menu, grawitacja);
menu_display(id, menu);
}
public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(klasa_gracza[id] == Skoczek)
{
client_print(id, print_chat, "[ExpMod Mruk] Ta statystyke moze uzywac tylko Szybcior i MultiKiller");
PrzydzielPunkty(id)
return PLUGIN_CONTINUE;
}
if(kondycja_gracza[id]<100)
kondycja_gracza[id]++;
else
client_print(id, print_chat, "[ExpMod Mruk] Maxymalny poziom zwinnosci osiagniety");
}
case 1:
{
if(klasa_gracza[id] == Szybcior)
{
client_print(id, print_chat, "[ExpMod Mruk] Ta statystyke moze uzywac tylko Skoczek i MultiKiller oraz Skoczoszybcior");
PrzydzielPunkty(id)
return PLUGIN_CONTINUE;
}
if(grawitacja_gracza[id]<100)
grawitacja_gracza[id]++;
else
client_print(id, print_chat, "[ExpMod Mruk] Maxymalny poziom grawitacji osiagnety");
}
}
punkty_gracza[id]--;
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public ResetujPunkty(id)
{
punkty_gracza[id] = poziom_gracza[id]*2-2;
kondycja_gracza[id] = 0;
grawitacja_gracza[id] = 0;
}
public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[ExpMod Mruk] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
client_cmd(id, "spk csmps/sound/select");
gracz_resetuje[id] = true;
}
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-DrXPMOD", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], kondycja_gracza[id], grawitacja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-DrXPMOD", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], kondycja_gracza[id], grawitacja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], zwinnoscgracza[32], grawitacja[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, zwinnoscgracza, 31, grawitacja, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
grawitacja_gracza[id] = str_to_num(grawitacja);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-kondycja_gracza[id]-grawitacja_gracza[id];
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 201)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Awansowales do nastepnego poziomu!");
client_cmd(id, "spk csmps/sound/gained_level");
}
punkty_gracza[id] = (poziom_gracza[id]-1)*2-kondycja_gracza[id]-grawitacja_gracza[id];
}
ZapiszDane(id);
}
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target]);
return PLUGIN_CONTINUE;
}
new szTxt[64];
formatex(szTxt, sizeof szTxt - 1, "[Klasa: %s | Doswiadczenie: %i / %i | Poziom: %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
message_begin(MSG_ONE, get_user_msgid("StatusText"), {0,0,0}, id);
write_byte(0);
write_string(szTxt);
message_end();
return PLUGIN_CONTINUE;
}
public PokazReklame(id)
{
id-=ZADANIE_POKAZ_REKLAME;
client_print(id, print_chat, "Witaj na DR+Klasy stworzonej przez ToJaTwojTelefon na podstawie modu Call of Duty by QTM. Peyote");
}
public UstawSzybkosc(id)
{
id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
if(klasa_gracza[id])
{
set_user_maxspeed(id, szybkosc_gracza[id]);
set_user_gravity(id, grav);
}
}
public Pomoc()
{
switch(random(3))
{
case 0: client_print(0, print_chat, "[ExpMod Mruk] Aby zresetowac umiejetnosci napisz /reset.");
case 1: client_print(0, print_chat, "[ExpMod Mruk] Aby zmienic klase napisz /klasa.");
case 2: client_print(0, print_chat, "[ExpMod Mruk] Aby zobaczyc opis klas napisz /klasy.");
}
set_task(36.0, "Pomoc");
}
public CurWeapon(id)
{
UstawSzybkosc(id);
}
public cmd_setlvl(id, level, cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[6];
read_argv(1, arg1, 32);
read_argv(2, arg2, 5);
new player = cmd_target(id, arg1);
new value = str_to_num(arg2)-1;
doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
poziom_gracza[player] = 0;
SprawdzPoziom(player);
return PLUGIN_HANDLED;
}
Support Team
14.04.2012
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <hamsandwich>
#include <cstrike>
#include <engine>
#include <fun>
#include <nvault>
#define PLUGIN "DeathrunExpMod"
#define AUTHOR "ToJaTwojTelefon & QTM. Peyote - podstawa silnika"
#define VERSION "1.0"
#define STANDARDOWA_SZYBKOSC 250.0
#define STANDARDOWA_GRAWITACJA 1.0
#define ZADANIE_POKAZ_INFORMACJE 672
#define ZADANIE_POKAZ_REKLAME 768
#define ZADANIE_USTAW_SZYBKOSC 832
new SyncHudObj;
new SyncHudObj2;
new SyncHudObj3;
new g_vault;
new doswiadczenia_za_zabojstwo;
new nazwa_gracza[33][64];
new klasa_gracza[33];
new poziom_gracza[33] = 1;
new doswiadczenie_gracza[33];
new nowa_klasa_gracza[33]
enum { NONE = 0,Skoczek, Szybcior, MultiBoy, Skoczoszybcior};
new const Float:szybkosc_klasy[] = {0.0, 1.0, 1.2, 1.2, 2.0};
new const Float:grawitacja_klasy[] = {1.0, 0.1, 1.0, 0.1, 0.1};
new const nazwy_klas[][] = {"Brak",
"Skoczek",
"Szybcior",
"MultiBoy(P)",
"Skoczoszybcior(MP)"};
new const opisy_klas[][] = {"Brak",
"Na start jestes szybszy od pozostalych",
"Na start masz wieksza gravitacje od pozostalych",
"Na start masz wieksza grawitacja i szybkosc od pozostalych",
"Na start masz wieksza grawitacje, i mega szybkosc od pozostalych"};
new punkty_gracza[33];
new kondycja_gracza[33];
new Float:szybkosc_gracza[33];
new grawitacja_gracza[33];
new Float:grav
new bool:gracz_resetuje[33];
new const doswiadczenie_poziomu[] = {0,35,140,315,560,875,1260,1715,2240,2835,3500,4235,5040,5915,6860,7875,8960,10115,11340,12635,14000,15435,16940,18515,20160,21875,23660,25515,27440,29435,31500,33635,35840,38115,40460,42875,45360,47915,50540,53235,56000,58835,61740,64715,67760,70875,
74060,77315,80640,84035,87500,91035,94640,98315,102060,105875,109760,113715,117740,121835,126000,130235,134540,138915,143360,147875,152460,157115,161840,166635,171500,176435,181440,186515,191660,196875,202160,207515,212940,218435,224000,229635,235340,241115,246960,252875,258860,
264915,271040,277235,283500,289835,296240,302715,309260,315875,322560,329315,336140,343035,350000,357035,364140,371315,378560,385875,393260,400715,408240,415835,423500,431235,439040,446915,454860,462875,470960,479115,487340,495635,504000,512435,520940,529515,538160,546875,555660,564515,573440,
582435,591500,600635,609840,619115,628460,637875,647360,656915,666540,676235,686000,695835,705740,715715,725760,735875,746060,756315,766640,777035,787500,798035,808640,819315,830060,840875,851760,862715,873740,884835,896000,907235,918540,929915,941360,952875,964460,976115,987840,999635,1011500,1023435,1035440,
1047515,1059660,1071875,1084160,1096515,1108940,1121435,1134000,1146635,1159340,1172115,1184960,1197875,1210860,1223915,1237040,1250235,1263500,1276835,1290240,1303715,1317260,1330875,1344560,1358315,1372140,1386035,1400000};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
g_vault = nvault_open("DeathrunExpMod");
RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1);
register_logevent("PoczatekRundy", 2, "1=Round_Start");
register_event("DeathMsg", "Death", "ade");
register_event("CurWeapon","CurWeapon","be", "1=1");
register_clcmd("say /klasa", "WybierzKlase");
register_clcmd("say /klasy", "OpisKlasy");
register_clcmd("say /reset", "KomendaResetujPunkty");
register_concmd("dr_setlvl", "cmd_setlvl", ADMIN_KICK, "<name> <level>");
register_cvar("dr_killxp", "50");
doswiadczenia_za_zabojstwo = get_cvar_num("dr_killxp");
SyncHudObj = CreateHudSyncObj();
SyncHudObj2 = CreateHudSyncObj();
SyncHudObj3 = CreateHudSyncObj();
set_task(30.0, "Pomoc");
}
public plugin_precache()
{
precache_sound("csmps/sound/select.wav");
precache_sound("csmps/sound/gained_level.wav");
}
public Odrodzenie(id)
{
if(!is_user_alive(id) || !is_user_connected(id))
return PLUGIN_CONTINUE;
if(nowa_klasa_gracza[id])
{
klasa_gracza[id] = nowa_klasa_gracza[id];
nowa_klasa_gracza[id] = 0;
WczytajDane(id, klasa_gracza[id]);
}
if(!klasa_gracza[id])
{
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
switch(klasa_gracza[id])
{
case Skoczek:{}
case Szybcior:{}
case MultiBoy:{}
case Skoczoszybcior:{}
}
if(gracz_resetuje[id])
{
ResetujPunkty(id);
gracz_resetuje[id] = false;
}
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
szybkosc_gracza[id] = STANDARDOWA_SZYBKOSC*szybkosc_klasy[klasa_gracza[id]]+floatround(kondycja_gracza[id]*1.3);
grav = STANDARDOWA_GRAWITACJA-grawitacja_klasy[klasa_gracza[id]]-grawitacja_gracza[id] / 300.0;
return PLUGIN_CONTINUE;
}
public PoczatekRundy()
{
for(new id=0;id<=32;id++)
{
if(!is_user_alive(id))
continue;
set_task(0.1, "UstawSzybkosc", id+ZADANIE_USTAW_SZYBKOSC);
}
}
public Death()
{
new id = read_data(2);
new attacker = read_data(1);
if(!is_user_alive(attacker) || !is_user_connected(attacker))
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new nowe_doswiadczenie = 0;
nowe_doswiadczenie += doswiadczenia_za_zabojstwo;
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];
set_hudmessage(255, 212, 0, 0.50, 0.33, 1, 6.0, 4.0);
ShowSyncHudMsg(attacker, SyncHudObj2, "+%i", nowe_doswiadczenie);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
SprawdzPoziom(attacker);
return PLUGIN_CONTINUE;
}
public client_connect(id)
{
klasa_gracza[id] = 0;
poziom_gracza[id] = 0;
doswiadczenie_gracza[id] = 0;
punkty_gracza[id] = 0;
kondycja_gracza[id] = 0;
szybkosc_gracza[id] = 0.0;
grawitacja_gracza[id] = 0;
get_user_name(id, nazwa_gracza[id], 63);
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
set_task(10.0, "PokazReklame", id+ZADANIE_POKAZ_REKLAME);
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
remove_task(id+ZADANIE_POKAZ_REKLAME);
remove_task(id+ZADANIE_USTAW_SZYBKOSC);
ZapiszDane(id);
}
public OpisKlasy(id)
{
new menu = menu_create("Wybierz klase:", "OpisKlasy_Handle");
for(new i=1; i<sizeof nazwy_klas; i++)
menu_additem(menu, nazwy_klas[i]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk csmps/sound/select");
}
public OpisKlasy_Handle(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
client_print(id, print_chat, "[DrExpMod] %s: %s", nazwy_klas[item+1], opisy_klas[item+1]);
menu_display(id, menu);
return PLUGIN_CONTINUE;
}
public WybierzKlase(id)
{
new menu = menu_create("Wybierz klase:", "WybierzKlase_Handle");
new klasa[50];
for(new i=1; i<sizeof nazwy_klas; i++)
{
WczytajDane(id, i);
format(klasa, 49, "%s \yPoziom: %i", nazwy_klas[i], poziom_gracza[id]);
menu_additem(menu, klasa);
}
WczytajDane(id, klasa_gracza[id]);
menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_setprop(menu, MPROP_BACKNAME, "Poprzednia strona");
menu_setprop(menu, MPROP_NEXTNAME, "Nastepna strona");
menu_display(id, menu);
client_cmd(id, "spk csmps/sound/select");
}
public WybierzKlase_Handle(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
item++;
if(item == klasa_gracza[id])
return PLUGIN_CONTINUE;
if(item == MultiBoy && !(get_user_flags(id) & ADMIN_LEVEL_G))
{
client_print(id, print_chat, "[ExpMod Mruk] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
if(klasa_gracza[id])
if(item == Skoczoszybcior && !(get_user_flags(id) & ADMIN_LEVEL_H)) // zamiast X wpisujemy level jaki chcemy
{
client_print(id, print_chat, "[ExpMod Mruk] Nie masz uprawnien aby kozystac z klasy premium.");
WybierzKlase(id);
return PLUGIN_CONTINUE;
}
if(klasa_gracza[id])
{
nowa_klasa_gracza[id] = item;
client_print(id, print_chat, "[ExpMod Mruk] Klasa zostanie zmieniona w nastepnej rundzie.");
}
else
{
klasa_gracza[id] = item;
WczytajDane(id, klasa_gracza[id]);
Odrodzenie(id);
}
return PLUGIN_CONTINUE;
}
public PrzydzielPunkty(id)
{
new kondycja[60];
new grawitacja[60];
new tytul[25];
format(kondycja, 59, "Kondycja: \r%i \y(Zwieksza tempo chodu)", kondycja_gracza[id]);
format(grawitacja, 59, "Grawitacja: \r%i \y(Wyzej skaczesz)", grawitacja_gracza[id]);
format(tytul, 24, "Przydziel Punkty(%i):", punkty_gracza[id]);
new menu = menu_create(tytul, "PrzydzielPunkty_Handler");
menu_additem(menu, kondycja);
menu_additem(menu, grawitacja);
menu_display(id, menu);
}
public PrzydzielPunkty_Handler(id, menu, item)
{
client_cmd(id, "spk csmps/sound/select");
if(item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_CONTINUE;
}
switch(item)
{
case 0:
{
if(klasa_gracza[id] == Skoczek)
{
client_print(id, print_chat, "[ExpMod Mruk] Ta statystyke moze uzywac tylko Szybcior i MultiKiller");
PrzydzielPunkty(id)
return PLUGIN_CONTINUE;
}
if(kondycja_gracza[id]<100)
kondycja_gracza[id]++;
else
client_print(id, print_chat, "[ExpMod Mruk] Maxymalny poziom zwinnosci osiagniety");
}
case 1:
{
if(klasa_gracza[id] == Szybcior)
{
client_print(id, print_chat, "[ExpMod Mruk] Ta statystyke moze uzywac tylko Skoczek i MultiKiller oraz Skoczoszybcior");
PrzydzielPunkty(id)
return PLUGIN_CONTINUE;
}
if(grawitacja_gracza[id]<100)
grawitacja_gracza[id]++;
else
client_print(id, print_chat, "[ExpMod Mruk] Maxymalny poziom grawitacji osiagnety");
}
}
punkty_gracza[id]--;
if(punkty_gracza[id]>0)
PrzydzielPunkty(id);
return PLUGIN_CONTINUE;
}
public ResetujPunkty(id)
{
punkty_gracza[id] = poziom_gracza[id]*2-2;
kondycja_gracza[id] = 0;
grawitacja_gracza[id] = 0;
}
public KomendaResetujPunkty(id)
{
client_print(id, print_chat, "[ExpMod Mruk] Umiejetnosci zostana zresetowane w nastepnej rundzie.");
client_cmd(id, "spk csmps/sound/select");
gracz_resetuje[id] = true;
}
public ZapiszDane(id)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-DrXPMOD", nazwa_gracza[id], klasa_gracza[id]);
format(vaultdata,255,"%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], kondycja_gracza[id], grawitacja_gracza[id]);
nvault_set(g_vault,vaultkey,vaultdata);
}
public WczytajDane(id, klasa)
{
new vaultkey[64],vaultdata[256];
format(vaultkey,63,"%s-%i-DrXPMOD", nazwa_gracza[id], klasa);
format(vaultdata,255,"%i#%i#%i#%i", doswiadczenie_gracza[id], poziom_gracza[id], kondycja_gracza[id], grawitacja_gracza[id]);
nvault_get(g_vault,vaultkey,vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new doswiadczeniegracza[32], poziomgracza[32], zwinnoscgracza[32], grawitacja[32];
parse(vaultdata, doswiadczeniegracza, 31, poziomgracza, 31, zwinnoscgracza, 31, grawitacja, 31);
doswiadczenie_gracza[id] = str_to_num(doswiadczeniegracza);
poziom_gracza[id] = str_to_num(poziomgracza)>0?str_to_num(poziomgracza):1;
kondycja_gracza[id] = str_to_num(zwinnoscgracza);
grawitacja_gracza[id] = str_to_num(grawitacja);
punkty_gracza[id] = (poziom_gracza[id]-1)*2-kondycja_gracza[id]-grawitacja_gracza[id];
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 201)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(60, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj3, "Awansowales do nastepnego poziomu!");
client_cmd(id, "spk csmps/sound/gained_level");
}
punkty_gracza[id] = (poziom_gracza[id]-1)*2-kondycja_gracza[id]-grawitacja_gracza[id];
}
ZapiszDane(id);
}
public PokazInformacje(id)
{
id -= ZADANIE_POKAZ_INFORMACJE;
set_task(0.1, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE);
if(!is_user_alive(id))
{
new target = entity_get_int(id, EV_INT_iuser2);
if(target == 0)
return PLUGIN_CONTINUE;
set_hudmessage(255, 255, 255, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj, "Klasa : %s^nDoswiadczenie : %i / %i^nPoziom : %i", nazwy_klas[klasa_gracza[target]], doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target]);
return PLUGIN_CONTINUE;
}
new szTxt[64];
formatex(szTxt, sizeof szTxt - 1, "[Klasa: %s | Doswiadczenie: %i / %i | Poziom: %i]", nazwy_klas[klasa_gracza[id]], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
message_begin(MSG_ONE, get_user_msgid("StatusText"), {0,0,0}, id);
write_byte(0);
write_string(szTxt);
message_end();
return PLUGIN_CONTINUE;
}
public PokazReklame(id)
{
id-=ZADANIE_POKAZ_REKLAME;
client_print(id, print_chat, "Witaj na DR+Klasy stworzonej przez ToJaTwojTelefon na podstawie modu Call of Duty by QTM. Peyote");
}
public UstawSzybkosc(id)
{
id -= id>32? ZADANIE_USTAW_SZYBKOSC: 0;
if(klasa_gracza[id])
{
set_user_maxspeed(id, szybkosc_gracza[id]);
set_user_gravity(id, grav);
}
}
public Pomoc()
{
switch(random(3))
{
case 0: client_print(0, print_chat, "[ExpMod Mruk] Aby zresetowac umiejetnosci napisz /reset.");
case 1: client_print(0, print_chat, "[ExpMod Mruk] Aby zmienic klase napisz /klasa.");
case 2: client_print(0, print_chat, "[ExpMod Mruk] Aby zobaczyc opis klas napisz /klasy.");
}
set_task(36.0, "Pomoc");
}
public CurWeapon(id)
{
UstawSzybkosc(id);
}
public cmd_setlvl(id, level, cid)
{
if(!cmd_access(id,level,cid,3))
return PLUGIN_HANDLED;
new arg1[33];
new arg2[6];
read_argv(1, arg1, 32);
read_argv(2, arg2, 5);
new player = cmd_target(id, arg1);
new value = str_to_num(arg2)-1;
doswiadczenie_gracza[player] = doswiadczenie_poziomu[value];
poziom_gracza[player] = 0;
SprawdzPoziom(player);
return PLUGIN_HANDLED;
}
SuZ !?
18.04.2012
dr_setlvl "nick""level" - przydzielamy graczowi levele
dr_killxp "50"
Te komendy nie działają. Co mam zrobić żeby dać se lvl?
dr_killxp "50"
Te komendy nie działają. Co mam zrobić żeby dać se lvl?




