[Levele]nie wchodza
grs4
04.06.2011
Siemka
chcialem zrobic wlasny plugin na exp ze wchodza lvl tak jak na cod tylko jak uderze kogos to dostaje exp a ja chce zeby po zabiciu.
Jeszcze jest tak ze nie wchodza lvl np jest
[Punkty: 5 / 0]
[Poziom: 0]
ROBILEM NA PODSTAWIE COD_MOD_BY_SAJJUK
plik sma
proszę o pomoc
Jasniej
Nie wchodza lvl w kompilacji mam tylko taki 1 blad:
I jak zrobic jak jest blad doswiadczenie_za_zabicie zeby po zabiciu dostawalo 2 exp a nie za uderzenie.
proszę O POMOCCCC
DAM 2x +
Dodano 05 czerwiec 2011 - 10:05:
Odpisze ktos??
chcialem zrobic wlasny plugin na exp ze wchodza lvl tak jak na cod tylko jak uderze kogos to dostaje exp a ja chce zeby po zabiciu.
Jeszcze jest tak ze nie wchodza lvl np jest
[Punkty: 5 / 0]
[Poziom: 0]
ROBILEM NA PODSTAWIE COD_MOD_BY_SAJJUK
plik sma
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#define ZADANIE_POKAZ_INFORMACJE 672
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1
new SyncHudObj2
new doswiadczenie_za_zabicie
new doswiadczenie_za_wygranie
new poziom_gracza[33] = 1
new doswiadczenie_gracza[33]
new const doswiadczenie_poziomu[] = {0, 25, 48, 93, 151, 229, 340,
521, 662, 830, 1000}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "3")
register_cvar("pkt_winllxp", "2")
register_event("Damage", "Damage", "b", "2!=0")
SyncHudObj1 = CreateHudSyncObj()
SyncHudObj2 = CreateHudSyncObj()
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public Damage(id)
{
new attacker = get_user_attacker(id);
new damage = read_data(2);
if(!is_user_alive(attacker) || !is_user_connected(attacker) || id == attacker)
return PLUGIN_CONTINUE;
if(get_user_team(id) != get_user_team(attacker))
{
while(damage>20)
{
damage-=20
doswiadczenie_gracza[attacker]++
}
}
return PLUGIN_CONTINUE
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"[COD:MW]^x01 Dostales^x03 %i^x01 doswiadczenia za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"[COD:MW]^x01 Dostales^x03 %i^x01 doswiadczenia za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public client_connect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE)
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE)
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj2, "Awansowales do nastepnego poziomu!");
client_cmd(id, "spk QTM_CodMod/levelup");
}
}
}
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj1, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
proszę o pomoc
Jasniej
Nie wchodza lvl w kompilacji mam tylko taki 1 blad:
Nie wchodza lvlWarning: Symbol is assigned a value that is never used: "doswiadczenie_za_zabicie" on line 139
I jak zrobic jak jest blad doswiadczenie_za_zabicie zeby po zabiciu dostawalo 2 exp a nie za uderzenie.
proszę O POMOCCCC
DAM 2x +
Dodano 05 czerwiec 2011 - 10:05:
Odpisze ktos??
Whisper
05.06.2011
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#define ZADANIE_POKAZ_INFORMACJE 672
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1
new SyncHudObj2
new doswiadczenie_za_zabicie
new doswiadczenie_za_wygranie
new poziom_gracza[33] = 1
new doswiadczenie_gracza[33]
new const doswiadczenie_poziomu[] = {0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "3")
register_cvar("pkt_winllxp", "2")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
SyncHudObj2 = CreateHudSyncObj()
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"[COD:MW]]^x01: Dostales ^x04%d^x01 doswiadczenia za zabicie wroga", doswiadczenie_za_zabicie);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"[COD:MW]^x01 Dostales^x03 %i^x01 doswiadczenia za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"[COD:MW]^x01 Dostales^x03 %i^x01 doswiadczenia za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public client_connect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE)
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE)
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj2, "Awansowales do nastepnego poziomu!");
}
}
}
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj1, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Za to, że ktoś zginął odpowiada event DeathMsg.
grs4
05.06.2011
dzięki dziala masz +
Ale dalej mam problem, nie wyswietla levelei
Jest dalej
[Punkty: 6 / 0]
[Poziom: 0]
proszę o pomoc!
-----------------
Do cb pytanko...
jak jest znak += to znaczy dodac do istniejacego(tak jakby?)
Edited by grs4, 05.06.2011 19:26.
Ale dalej mam problem, nie wyswietla levelei
Jest dalej
[Punkty: 6 / 0]
[Poziom: 0]
proszę o pomoc!
-----------------
Do cb pytanko...
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
jak jest znak += to znaczy dodac do istniejacego(tak jakby?)
Edited by grs4, 05.06.2011 19:26.
Whisper
05.06.2011
To oznacza, że dodaje liczbę równą zmiennej globalnej (doswiadczenie_za_zabicie)
A co do wyświetlania to zapomniałem o tym, sory
Widzisz to?
A teraz zobacz na to:
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj1, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Stworzyłeś 2 różne zmienne dla obiektu HUD a użyłeś jednej w obu obiektach. Nie może tak być. Po prostu zmień to tak:
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj2, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Przepraszam, że bez znaczników sma ale musiałem to pokazać wyraźnie
Edited by Whisper, 05.06.2011 19:55.
A co do wyświetlania to zapomniałem o tym, sory

Widzisz to?
SyncHudObj1 = CreateHudSyncObj()
SyncHudObj2 = CreateHudSyncObj()
A teraz zobacz na to:
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj1, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Stworzyłeś 2 różne zmienne dla obiektu HUD a użyłeś jednej w obu obiektach. Nie może tak być. Po prostu zmień to tak:
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj1, "^nDoswiadczenie : %i / %i^nPoziom : %i", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj2, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Przepraszam, że bez znaczników sma ale musiałem to pokazać wyraźnie

Edited by Whisper, 05.06.2011 19:55.
grs4
05.06.2011
przykro mi nadal to samo... 
Ale naprawiles 1 error bo mialem loose identifi... jakos tak
+
Tak zrobilem bo zapomnialem 1 dodac
i nadal to samo
[Punkty: 6 / 0]
[Poziom: 0]
mnie interesuje to :
Edited by grs4, 05.06.2011 20:15.

Ale naprawiles 1 error bo mialem loose identifi... jakos tak
+
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#define ZADANIE_POKAZ_INFORMACJE 672
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1
new SyncHudObj2
new SyncHudObj3
new doswiadczenie_za_zabicie
new doswiadczenie_za_wygranie
new poziom_gracza[33] = 1
new doswiadczenie_gracza[33]
new const doswiadczenie_poziomu[] = {0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "3")
register_cvar("pkt_winllxp", "2")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
SyncHudObj2 = CreateHudSyncObj()
SyncHudObj3 = CreateHudSyncObj()
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"^x01: Dostales ^x04%d^x01 punktow za zabicie wroga", doswiadczenie_za_zabicie);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public client_connect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE)
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE)
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj1, "Awansowales do nastepnego poziomu!");
}
}
}
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(186, 85, 211, 0.6, -1.0, 0, 0.0, 0.3, 0.0, 0.0, 2);
ShowSyncHudMsg(id, SyncHudObj2, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[target], doswiadczenie_poziomu[poziom_gracza[target]], poziom_gracza[target])
return PLUGIN_CONTINUE;
}
set_hudmessage(186, 85, 211, 0.02, 0.23, 0, 0.0, 0.3, 0.0, 0.0);
ShowSyncHudMsg(id, SyncHudObj3, "^n[Punkty : %i / %i]^n[Poziom : %i]", doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]], poziom_gracza[id]);
return PLUGIN_CONTINUE;
}
Tak zrobilem bo zapomnialem 1 dodac
i nadal to samo
[Punkty: 6 / 0]
[Poziom: 0]
mnie interesuje to :
#define ZADANIE_POKAZ_INFORMACJE 672
Edited by grs4, 05.06.2011 20:15.
Whisper
07.06.2011
To już nie wiem co może być nie tak. W moim modzie mam ten sam kod na wyświetlenie informacji ale działa. Pozostaje ci zastosować:
W plugin_init:
public hud_prethink(id)
{
if(PlayerLevel[id]>=MAXLEVEL)
{
new text[512]
format(text,511,"Poziom: %d XP: %d Ranga: %s ",PlayerLevel[id],PlayerXP[id],RANGI[PlayerLevel[id]])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
else
{
new text[512]
format(text,511,"Poziom: %d XP: %d/%d (+%d) Ranga: %s ", PlayerLevel[id], PlayerXP[id], LEVELS[PlayerLevel[id]],LEVELS[PlayerLevel[id]]-PlayerXP[id],RANGI[PlayerLevel[id]])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
}
W plugin_init:
register_forward(FM_PlayerPreThink, "hud_prethink");
grs4
08.06.2011
ok... Zrobiłem tak :
I Takie są błędy :
Dodano 09 czerwiec 2011 - 14:50:
proszę o nie zamykanie tematu dopoki nie bedzie dzialac
Edited by grs4, 08.06.2011 12:31.
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fun>
#include <cstrike>
#include <hamsandwich>
#include <engine>
#define ZADANIE_POKAZ_INFORMACJE 672
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1
new SyncHudObj2
new SyncHudObj3
new doswiadczenie_za_zabicie
new doswiadczenie_za_wygranie
new poziom_gracza[33] = 1
new doswiadczenie_gracza[33]
new const doswiadczenie_poziomu[] = { 0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "3")
register_cvar("pkt_winllxp", "2")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
SyncHudObj2 = CreateHudSyncObj()
SyncHudObj3 = CreateHudSyncObj()
register_forward(FM_PlayerPreThink, "hud_prethink");
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"^x01: Dostales ^x04%d^x01 punktow za zabicie wroga", doswiadczenie_za_zabicie);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public client_connect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE)
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE)
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj1, "Awansowales do nastepnego poziomu!");
}
}
}
public hud_prethink(id)
{
if(PlayerLevel[id]>=MAXLEVEL)
{
new text[512]
format(text,511,"Poziom: %d XP: %d",poziom_gracza[id], doswiadczenie_poziomu[id])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
else
{
new text[512]
format(text,511,"Poziom: %d XP: %d",poziom_gracza[id], doswiadczenie_poziomu[id])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
}
I Takie są błędy :
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright © 1997-2006 ITB CompuPhase, AMX Mod X Team
Error: Undefined symbol "register_forward" on line 37
Warning: Expression has no effect on line 37
Error: Expected token: ";", but found ")" on line 37
Error: Invalid expression, assumed zero on line 37
Error: Too many error messages on one line on line 37
Compilation aborted.
4 Errors.
Could not locate output file D:\Documents and Settings\strikerek\Pulpit\qwe.amx (compile failed).
Dodano 09 czerwiec 2011 - 14:50:
proszę o nie zamykanie tematu dopoki nie bedzie dzialac
Edited by grs4, 08.06.2011 12:31.
Goliath
09.06.2011
Tyle modułów wwaliłeś, a nie ma jednego ważniejszego 

#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#define ZADANIE_POKAZ_INFORMACJE 672
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1
new doswiadczenie_za_zabicie
new doswiadczenie_za_wygranie
new poziom_gracza[33] = 1
new doswiadczenie_gracza[33]
new const doswiadczenie_poziomu[] = { 0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000}
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "3")
register_cvar("pkt_winllxp", "2")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
register_forward(FM_PlayerPreThink, "hud_prethink");
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"^x01: Dostales ^x04%d^x01 punktow za zabicie wroga", doswiadczenie_za_zabicie);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"^x01 Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public client_connect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE)
set_task(3.0, "PokazInformacje", id+ZADANIE_POKAZ_INFORMACJE)
}
public client_disconnect(id)
{
remove_task(id+ZADANIE_POKAZ_INFORMACJE);
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj1, "Awansowales do nastepnego poziomu!");
}
}
}
public hud_prethink(id)
{
new text[512]
format(text,511,"Poziom: %d XP: %d",poziom_gracza[id], doswiadczenie_poziomu[id])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
grs4
09.06.2011
Boshe co jest?
jest 0 bledow
[Poziom: 0] [Punkty: 7 / 0]
nie wiem o co chodzi ale ja bd czekal az sie wyjasni
Tak jest i co?
tak jak na poczatku posta...
Dodano 11 czerwiec 2011 - 11:44:
odpisze ktos
jest 0 bledow
[Poziom: 0] [Punkty: 7 / 0]
nie wiem o co chodzi ale ja bd czekal az sie wyjasni

#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1;
new doswiadczenie_za_zabicie;
new doswiadczenie_za_wygranie;
new poziom_gracza[33] = 1;
new doswiadczenie_gracza[33];
new const doswiadczenie_poziomu[11] = { 0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "7")
register_cvar("pkt_winllxp", "55")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
register_forward(FM_PlayerPreThink, "hud_prethink");
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"^x01[PUNKTY]Dostales ^x04%d^x01 punktow za zabicie wroga", doswiadczenie_za_zabicie);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"^x01[PUNKTY] Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"^x01[PUNKTY] Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj1, "Awansowales do nastepnego poziomu!");
}
}
}
public hud_prethink(id)
{
new text[512]
format(text,511,"[Poziom: %d] [Punkty: %d / %d]",poziom_gracza[id], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
Tak jest i co?
tak jak na poczatku posta...
Dodano 11 czerwiec 2011 - 11:44:
odpisze ktos
góruś
11.06.2011
proszę(sprawdzone):
#include <amxmodx>
#include <amxmisc>
#include <ColorChat>
#include <fakemeta>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "striker"
new SyncHudObj1;
new doswiadczenie_za_zabicie;
new doswiadczenie_za_wygranie;
new poziom_gracza[33];
new doswiadczenie_gracza[33];
new const doswiadczenie_poziomu[11] = { 0, 25, 48, 93, 151, 229, 340, 521, 662, 830, 1000};
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("pkt_killxp", "7")
register_cvar("pkt_winllxp", "55")
register_event("DeathMsg", "eDeath", "a")
SyncHudObj1 = CreateHudSyncObj()
register_forward(FM_PlayerPreThink, "hud_prethink");
doswiadczenie_za_wygranie = get_cvar_num("pkt_winxp")
doswiadczenie_za_zabicie = get_cvar_num("pkt_killxp")
}
public client_connect(id)
{
poziom_gracza[id] = 1;
doswiadczenie_gracza[id] = 0;
}
public eDeath(id)
{
new attacker = read_data( 1 );
new ofiara = read_data( 2 );
if(ofiara != attacker && attacker != 0)
{
if(get_user_team(attacker) != get_user_team(ofiara))
{
doswiadczenie_gracza[attacker] += doswiadczenie_za_zabicie;
ColorChat(attacker,GREEN,"^x01[PUNKTY]Dostales ^x04%d^x01 punktow za zabicie wroga", doswiadczenie_za_zabicie);
SprawdzPoziom(attacker);
}
}
}
public WygrywaCT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "CT");
for (new i=0; i<playerCount; i++)
{
id = Players[i];
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie;
ColorChat(id,GREEN,"^x01[PUNKTY] Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie)
SprawdzPoziom(id)
}
}
public WygrywaTT()
{
new Players[32], playerCount, id;
get_players(Players, playerCount, "aeh", "TERRORIST");
for (new i=0; i<playerCount; i++)
{
id = Players[i]
doswiadczenie_gracza[id] += doswiadczenie_za_wygranie
ColorChat(id,GREEN,"^x01[PUNKTY] Dostales^x03 %i^x01 punktow za wygranie rundy przez twoj team.", doswiadczenie_za_wygranie);
SprawdzPoziom(id);
}
}
public SprawdzPoziom(id)
{
if(poziom_gracza[id] < 12)
{
while(doswiadczenie_gracza[id] >= doswiadczenie_poziomu[poziom_gracza[id]])
{
poziom_gracza[id]++;
set_hudmessage(245, 200, 25, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
ShowSyncHudMsg(id, SyncHudObj1, "Awansowales do nastepnego poziomu!");
}
}
}
public hud_prethink(id)
{
new text[512]
format(text,511,"[Poziom: %d] [Punkty: %d / %d]",poziom_gracza[id], doswiadczenie_gracza[id], doswiadczenie_poziomu[poziom_gracza[id]])
message_begin(MSG_ONE,get_user_msgid("StatusText"),{0,0,0}, id)
write_byte(0)
write_string(text)
message_end()
}
góruś
11.06.2011
funkcja
odpowiada za połączenie gracza, i ustawieniu mu początkowych zmiennych, zaś tak jak wcześniej napisałem, aby po zabiciu sprawdzało poziom wystarczyło w eDeath dodać po colorchat~
public client_connect(id)
odpowiada za połączenie gracza, i ustawieniu mu początkowych zmiennych, zaś tak jak wcześniej napisałem, aby po zabiciu sprawdzało poziom wystarczyło w eDeath dodać po colorchat~
SprawdzPoziom(attacker);