pokaze ci jak zrobic item do coda starego przerobionego przez ze mnie stąd http://amxx.pl/topic...k-fala-smierci/
PS. Jak miales tamta wersje i chcesz miec ta to usun wszystko z tamtad i wgraj ta.
No to zaczynamy
Na poczatek dajemy Nazwe przedmiotu i opis przedmiotu np taki
new const nazwy_przedmiotow[][] = {"Brak",
"Buty Szturmowego", //1
"Podwojna Kamizelka", //2
"Wzmocniona Kamizelka", //3
"Weteran Noza", //4
"Zaskoczenie Wroga", //5
"Plaszcz Partyzanta", //6
"Morfina", //7
"Noz Komandosa", //8
"Podrecznik Szpiega", //9
"Tajemnica Generala", //10
"Notatki Ninji", //11
"Tajemnica Wojskowa", //12
"AWP Sniper",//13
"Adrenalina",//14
"Tajemnica Rambo",//15
"Wyszkolenie Sanitarne",//16
"Kamizelka NASA",//17
"Wytrenowany Weteran",//18
"Apteczka",//19
"Eliminator Rozrzutu",//20
"Tytanowe Naboje",//21
"Naboje Pulkownika",//22
"Ogranicznik Rozrzutu",//23
"Tarcza SWAT",//24
"Wytrenowany Rekrut",//25
"Pancerz Nomexowy",//26
"Notatki Kapitana",//27
"Modul odrzutowy"//28 Zamieniamy na to
new const nazwy_przedmiotow[][] = {"Brak",
"Buty Szturmowego", //1
"Podwojna Kamizelka", //2
"Wzmocniona Kamizelka", //3
"Weteran Noza", //4
"Zaskoczenie Wroga", //5
"Plaszcz Partyzanta", //6
"Morfina", //7
"Noz Komandosa", //8
"Podrecznik Szpiega", //9
"Tajemnica Generala", //10
"Notatki Ninji", //11
"Tajemnica Wojskowa", //12
"AWP Sniper",//13
"Adrenalina",//14
"Tajemnica Rambo",//15
"Wyszkolenie Sanitarne",//16
"Kamizelka NASA",//17
"Wytrenowany Weteran",//18
"Apteczka",//19
"Eliminator Rozrzutu",//20
"Tytanowe Naboje",//21
"Naboje Pulkownika",//22
"Ogranicznik Rozrzutu",//23
"Tarcza SWAT",//24
"Wytrenowany Rekrut",//25
"Pancerz Nomexowy",//26
"Notatki Kapitana",//27
"Modul odrzutowy",//28
"Fala Smierci" //29 potem szukamy opisu
new const opisy_przedmiotow[][] = {"Zabij kogos aby dostac przedmiot",
"Cicho biegasz",
"Obniza uszkodzenia zadawane graczowi o LW",
"Obniza uszkodzenia zadawane graczowi o LW",
"Zadajesz wieksze obrazenia nozem",
"Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze",
"Masz LW premii niewidocznosci",
"1/LW szans do ponownego odrodzenia sie po smierci",
"Natychmiastowe zabicie z Noza",
"Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga",
"Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen",
"Mozesz zrobic podwojny skok w powietrzu",
"Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga",
"Natychmiastowe zabicie z AWP",
"Za kazdego Fraga dostajesz 50 zycia",
"Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp",
"Dostajesz 10 HP co 5 sekund",
"Masz 500 pancerza",
"Dostajesz +100 HP co runde, wolniej biegasz",
"Uzyj, aby uleczyc sie do maksymalnej ilosci HP", //19
"Nie posiadasz rozrzutu broni",
"Zadajesz 10 obrazen wiecej",
"Zadajesz 20 obrazen wiecej",
"Twoj rozrzut jest mniejszy",
"Nie dzialaja na ciebie zadne przedmioty",
"Dostajesz +50 HP co runde, wolniej biegasz",
"Masz 1/LW szans na odbicie pocisku przez pancerz",
"Jestes odporny na 3 pociski w kazdej rundzie",
"Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy" Zamieniamy na to
new const opisy_przedmiotow[][] = {"Zabij kogos aby dostac przedmiot",
"Cicho biegasz",
"Obniza uszkodzenia zadawane graczowi o LW",
"Obniza uszkodzenia zadawane graczowi o LW",
"Zadajesz wieksze obrazenia nozem",
"Gdy trafisz kogos od tylu, obrazenia sa 2 razy wieksze",
"Masz LW premii niewidocznosci",
"1/LW szans do ponownego odrodzenia sie po smierci",
"Natychmiastowe zabicie z Noza",
"Masz 1/LW szans na natychmiastowe zabicie z HE. Posiadasz takze ubranie wroga",
"Natychmiastowe zabicie granatem HE. Zadajesz LW dodatkowych obrazen",
"Mozesz zrobic podwojny skok w powietrzu",
"Twoje obrazenia sa zredukowane o 5. Masz 1/LW szans na oslepienie wroga",
"Natychmiastowe zabicie z AWP",
"Za kazdego Fraga dostajesz 50 zycia",
"Za kazdego Fraga dostajesz pelen magazynek oraz +20 hp",
"Dostajesz 10 HP co 5 sekund",
"Masz 500 pancerza",
"Dostajesz +100 HP co runde, wolniej biegasz",
"Uzyj, aby uleczyc sie do maksymalnej ilosci HP", //19
"Nie posiadasz rozrzutu broni",
"Zadajesz 10 obrazen wiecej",
"Zadajesz 20 obrazen wiecej",
"Twoj rozrzut jest mniejszy",
"Nie dzialaja na ciebie zadne przedmioty",
"Dostajesz +50 HP co runde, wolniej biegasz",
"Masz 1/LW szans na odbicie pocisku przez pancerz",
"Jestes odporny na 3 pociski w kazdej rundzie",
"Nacisnij CTRL i SPACE aby uzyc modulu, modul laduje sie co 4 sekundy",
"Po uzyciu na przeciwnikach, zadajesz im 5 obrazen co sec przez 8 sec." Szukamy
#define ZADANIE_POKAZ_INFORMACJE 672
i nad tym dodajemy to
#define FALA_SMIERCI 7845 #define OBRAZENIA 5 //tu mozesz zmienic wartosc zadawanych obrazen na sec #define CZAS_OBRAZEN 8 //tu mozesz zmienic czas efektu (w sec.) #define ZASIEG 300 //tu mozesz zmienic zasieg fali
potem szukamy to
new ilosc_dynamitow_gracza[33];
pod tym dodajemy to
new ilosc_fal_gracza[33] new czas_obrazen[33]
szukamy
if(ilosc_dynamitow_gracza[id]>0) PolozDynamit(id);
i pod tym dodajemy to
if(ilosc_fal_gracza[id]>0) UzyjFaleSmierci(id);
na sam koniec sma dodajemy to
public UzyjFaleSmierci(id)
{
if(!ilosc_fal_gracza[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie Fale Smierci!");
return PLUGIN_CONTINUE;
}
ilosc_fal_gracza[id]--;
new iOrigin[3];
get_user_origin(id, iOrigin);
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, iOrigin );
write_byte( TE_BEAMCYLINDER );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] );
write_coord( iOrigin[2] );
write_coord( iOrigin[0] );
write_coord( iOrigin[1] + ZASIEG );
write_coord( iOrigin[2] + ZASIEG );
write_short( sprite_white );
write_byte( 0 );
write_byte( 0 );
write_byte( 10 );
write_byte( 120 );
write_byte( 255 );
write_byte( 0 );
write_byte( 0 );
write_byte( 255 );
write_byte( 100 );
write_byte( 4 );
message_end();
new i = -1
new Float:fOrigin[3];
IVecFVec(iOrigin, fOrigin)
while((i = engfunc(EngFunc_FindEntityInSphere, i, fOrigin, ZASIEG.0)) != 0)
{
if (pev_valid(i) && is_user_alive(i) && get_user_team(id) != get_user_team(i)){
czas_obrazen[i] = CZAS_OBRAZEN
new iData[2]
iData[0] = id
iData[1] = i
set_task(1.0, "FalaSmierci_task", _, iData, 2, "a", CZAS_OBRAZEN)
}
}
return PLUGIN_CONTINUE;
}
public FalaSmierci_task(iData[]){
if(!is_user_alive(iData[1]))
return;
Util_Kill(iData[0], iData[1], OBRAZENIA.0)
}
stock Util_Kill(attacker, victim, Float:damage)
{
if(damage < pev(victim, pev_health))
{
ExecuteHam(Ham_TakeDamage, victim, CSW_HEGRENADE, attacker, damage, DMG_BLAST)
} else {
ExecuteHamB(Ham_Killed, victim, attacker, 2)
}
}
w public Odrodzenie(id) szukamy to
if(informacje_przedmiotu_gracza[id][0] == 31)
{
maksymalne_zdrowie_gracza[id] += 200;
} I pod tym dodajemy to
if(informacje_przedmiotu_gracza[id][0] == XX) //tam gdzie XX to jest numer itemu
{
ilosc_fal_gracza[id] = 5; //tam gdzie 5 to ile ma dostawac gracz fal na poczatek rundy
} I to na tyle
Tamta stara wersja tez dzialala ale ta wersja jest lepsza i dziala lepiej niż tamta.
Item dziala na 100% sam go testowalem
Użytkownik Ciuchcia:D edytował ten post 08.10.2011 08:33


Dodatki SourceMod














