Drop oraz Znajdowanie Itemu
AmD
11.07.2010
Witam!
Chciał bym się spytać czy jest taka możliwość na wylosowanie itemu wynosiła 1/10?
Oraz Czy dało by się ze item znika sam po jakimś czasie? powiedzmy 1/15 zginięć.
Trochę item za łatwo się zdobywa a traci jeszcze gorzej więc trzeba to zmienić
a bym jeszcze zapomniał na śmierć:
Zwiększyłem sobie Max Lvl i gdy ktoś osiąga jakąś Umiejętność na max, powiedzmy 250 i jak naciśnie jeszcze raz na wymaksowaną Umiejętność wyskakuje mu informacja że nie może już więcej dawać w daną umiejętność ale Punkt Skilla mu znika... da się to naprawić?
Pozdrawiam!
12 lipiec 2010 - 12:09:
@odśwież
Chciał bym się spytać czy jest taka możliwość na wylosowanie itemu wynosiła 1/10?
Oraz Czy dało by się ze item znika sam po jakimś czasie? powiedzmy 1/15 zginięć.
Trochę item za łatwo się zdobywa a traci jeszcze gorzej więc trzeba to zmienić
a bym jeszcze zapomniał na śmierć:
Zwiększyłem sobie Max Lvl i gdy ktoś osiąga jakąś Umiejętność na max, powiedzmy 250 i jak naciśnie jeszcze raz na wymaksowaną Umiejętność wyskakuje mu informacja że nie może już więcej dawać w daną umiejętność ale Punkt Skilla mu znika... da się to naprawić?
Pozdrawiam!
12 lipiec 2010 - 12:09:
@odśwież
ProMysterious
12.07.2010
wytrzymalos przedmiotu to znaczy diablo_durability czy jakos tak jak ustawisz 0 w ogóle przedmiot nie zginie im wiecej tym szybciej stracisz item a z tym wylosowaniem nie ogarniam o co ci chodzi
[warn='MafiaDL']Nie pomogłeś, i nie proś znów o + bo dam ci 10 -[/warn]
[warn='MafiaDL']Nie pomogłeś, i nie proś znów o + bo dam ci 10 -[/warn]
AmD
12.07.2010
no własnie, przepraszam że zapomniałem wspomnieć ale myślałem że to jest do domyślenia ponieważ Diablo ma Własne pod-forum...
więc piszę:
Tak Funkcja ma być dla CoD Mod
więc piszę:
Tak Funkcja ma być dla CoD Mod
Gość_Aik_* 13.07.2010
co do tych pkt znajdź
Co do znikania musiałbyś zrobić dodatkową zmienną do której zliczałbyś śmierci gracza od czasu zdobycia itemka i gdy ma 15 wywołać funkcję wyrzuć przedmiot.
Żeby na dany przedmiot była szansa 1/10, to po zabiciu pierw wywołaj jakąś funkcję w której będzie random_num(1,10); jeżeli wypadnie 1 to gracz dostaje ten item (funkcja DajPrzedmiot zdaje się), w przeciwnym wypadku jest wywoływana standardowa funkcja (czyli DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));)
Edited by Aik, 13.07.2010 19:11.
public PrzydzielPunkty_Handler(id, menu, item)i musisz powkładać punkty_gracza[id]--; do wszystkich case a na koniec usunąć to poza switchem np:
if(inteligencja_gracza[id]<104){ inteligencja_gracza[id]++; punkty_gracza[id]--; }
Co do znikania musiałbyś zrobić dodatkową zmienną do której zliczałbyś śmierci gracza od czasu zdobycia itemka i gdy ma 15 wywołać funkcję wyrzuć przedmiot.
Żeby na dany przedmiot była szansa 1/10, to po zabiciu pierw wywołaj jakąś funkcję w której będzie random_num(1,10); jeżeli wypadnie 1 to gracz dostaje ten item (funkcja DajPrzedmiot zdaje się), w przeciwnym wypadku jest wywoływana standardowa funkcja (czyli DajPrzedmiot(id, random_num(1, sizeof nazwy_przedmiotow-1));)
Edited by Aik, 13.07.2010 19:11.
AmD
13.07.2010
mam tak:
co do Itemu chodzi ci o:
Tak miałem od początku...
case 0:
{
if(inteligencja_gracza[id]<500)
inteligencja_gracza[id]+=2;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
co do Itemu chodzi ci o:
??
public losuj_item()
{
if (random_num(0,100)<10) return 1
else return 0
}
Gość_Aik_* 14.07.2010
case 0:
{
if(inteligencja_gracza[id]<500){
inteligencja_gracza[id]+=2;
punkty_gracza[id]-=2;
}
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
ehh no to właśnie masz tu dodać(w pozostałych statystykach też masz dodać), a poza switch'em, usunąć (żeby Ci nie odejmowało 2 razy).
public losuj_item()
{
if (random_num(0,100)<10) return 1
else return 0
}
może być
to teraz użyj tego w funkcji
public Death()
if(!informacje_przedmiotu_gracza[attacker][0])
DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-1));
w tej linijce są losowane itemki, więc tu musisz dać warunek, równie dobrze mógłbyś to zrobić bez tworzenia dodatkowej funkcji np:
if(!informacje_przedmiotu_gracza[attacker][0])
if (random_num(1,100)<=10) tutaj dajesz ten przedmiot
else DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-2));
Oczywiście ten przedmiot musi być ostatni na liście przedmiotów.
Edited by Aik, 14.07.2010 09:09.
AmD
14.07.2010
nie czaje zrobiłem tak
co miałem tam dopisać?
kolejna sprawa jak dałem tak:
#endif
if(!informacje_przedmiotu_gracza[attacker][0])
if (random_num(1,100)<=10) //tutaj dajesz ten przedmiot
else DajPrzedmiot(attacker, random_num(1, sizeof nazwy_przedmiotow-2));
co miałem tam dopisać?
kolejna sprawa jak dałem tak:
to nie da się kompilować...
case 0:
{
if(inteligencja_gracza[id]<1000)
inteligencja_gracza[id]+=2;
punkty_gracza[id]-=2;
else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team Error: Invalid expression, assumed zero on line 1757 // tu jest else Warning: Loose indentation on line 1758 //Client print Error: Invalid expression, assumed zero on line 1766 // else Warning: Loose indentation on line 1767 // Client Print Error: Invalid expression, assumed zero on line 1774 // i tak dalej to samo Warning: Loose indentation on line 1775 Error: Invalid expression, assumed zero on line 1783 Warning: Loose indentation on line 1784 4 Errors. Could not locate output file C:\Documents and Settings\Root\Pulpit\QTM_CodMod2.amx (compile failed).
kyku
14.07.2010
używaj klamry..
case 0:
{
if(inteligencja_gracza[id]<1000){
inteligencja_gracza[id]+=2;
punkty_gracza[id]-=2;
} else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}
case 0:
{
if(inteligencja_gracza[id]<1000){
inteligencja_gracza[id]+=2;
punkty_gracza[id]-=2;
} else
client_print(id, print_chat, "[COD:MW] Maxymalny poziom inteligencji osiagniety");
}