Wiadomość dla ofiary
Andrzejek
23.04.2014

Witam, mała modyfikacja ale na pewno komuś się przyda. Modyfikacja dodaje graczu, który zginął informacje o tym kto go zabił, jaką klasę posiadał oraz ile mu pozostało HP
1.
(Dokumentacja http://amxx.pl/dokum...37/client_print)
2.
(Dokumentacja http://amxx.pl/dokum...a/i11/colorchat)
A teraz jak to wykonać? Szukamy w kodzie
public SmiercGraczaPost(id, attacker, shouldgib)
pod warunkiem
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
dodajemy
Wersja 1:
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy
{
new szName[64];
get_user_name(attacker, szName, sizeof szName - 1)
client_print(id, print_chat, "Zostales zabity przez gracza %s [%s - %d], ktoremu zostalo %d HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
Wersja 2 (pamiętaj o dodaniu biblioteki "#include <colorchat>"):
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy
{
new szName[64];
get_user_name(attacker, szName, sizeof szName - 1)
ColorChat(id, GREEN, "Zostales zabity przez gracza^x03 %s^x04 [%s - %d], ktoremu zostalo^x03 %d^x04 HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
całość powinna wyglądać tak
Wersja 1:
public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy
{
new szName[64];
get_user_name(attacker, szName, sizeof szName - 1)
client_print(id, print_chat, "Zostales zabity przez gracza %s [%s - %d], ktoremu zostalo %d HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
SprawdzPoziom(attacker);
return HAM_IGNORED;
}
Wersja 2:
public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
else if(klasa_gracza[id] && id != attacker) //id != attacker żeby nie pokazywało gdy sami się zabijemy
{
new szName[64];
get_user_name(attacker, szName, sizeof szName - 1)
ColorChat(id, GREEN, "Zostales zabity przez gracza^x03 %s^x04 [%s - %d], ktoremu zostalo^x03 %d^x04 HP", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
SprawdzPoziom(attacker);
return HAM_IGNORED;
}
Gotowe, myślę że komuś się przyda.
Pozdrawiam
Arbitralny
24.04.2014
U mnie to nie działa, dodałem colorchat. Public wygląda tak:
public SmiercGraczaPost(id, attacker, shouldgib)
{
if(!is_user_connected(attacker))
return HAM_IGNORED;
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
}
else if(klasa_gracza[id] && id != attacker)
{
new szName[64];
get_user_name(attacker, szName, sizeof szName - 1)
ColorChat(id, GREEN, "[COD:MW]^x01 Ustrzelil Cie^x03 %s^x01 grajacy^x03 %s^x01 na poziomie^x03 %d. Pozostawiles mu^x03 %d^x01 HP.", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
SprawdzPoziom(attacker);
return HAM_IGNORED;
}
radim
31.08.2014
Spróbujcie w ten sposób:
if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
new doswiadczenie_za_zabojstwo = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
new nowe_doswiadczenie = get_pcvar_num(cvar_doswiadczenie_za_zabojstwo);
if(poziom_gracza[id] > poziom_gracza[attacker])
nowe_doswiadczenie += (poziom_gracza[id]-poziom_gracza[attacker])*(doswiadczenie_za_zabojstwo/10);
if(!perk_gracza[attacker])
UstawPerk(attacker, -1, -1, 1);
doswiadczenie_gracza[attacker] += nowe_doswiadczenie;
if(id != attacker)
{
new szName[64];
get_user_name(attacker, szName, charsmax(szName))
ColorChat(id, GREEN, "[COD:MW]^x01 Ustrzelil Cie^x03 %s^x01 grajacy^x03 %s^x01 na poziomie^x03 %d. Pozostawiles mu^x03 %d^x01 HP.", szName, nazwy_klas[klasa_gracza[attacker]], poziom_gracza[attacker], get_user_health(attacker));
}
}




