Blokada expienia
sebul
12.01.2011
Od teraz exp będzie dodawany tylko wtedy, gdy na serwerze będzie minimum 2 graczy (boty i hltv się nie wliczają). Dodatkowo dodałem, że jeśli ilość expa, którą ma dostać gracz, będzie większa, bądź równa 200, to wtedy ta blokada nie będzie działać, przyda się takie coś, gdy ktoś ma dodaną komendę na dawanie expa i będzie chciał sobie dodać expa gdy na serwerze będzie pusto oczywiście 200 można sobie zamienić na inną wartość.
Użytkownik sebul edytował ten post 25.02.2011 03:38
KariiO
12.01.2011
sebul
12.01.2011
KariiO
12.01.2011
if(player_xp[id]+amount!=0 && get_playersnum()>1){
sebul
12.01.2011
Da, ale jeśli masz jakieś hltv, albo po prostu boty na spekcie, to wtedy już nie...Zmiana tej jedynki na dwójkę nic nie da ?:
if(player_xp[id]+amount!=0 && get_playersnum()>1){
Użytkownik sebul edytował ten post 13.01.2011 23:09
cesik 16.02.2011
Od 24 do 9 rano wykonywanie celow mapy i zabijanie przeciwnikow bedzie dawalo 1 exp ?
za pomoc dam +
FreZZy 16.02.2011
sebul
16.02.2011
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1){
new sHour[3], iHour;
get_time("%H", sHour, 2);
iHour = str_to_num(sHour);
if(iHour <= 9 && amount > 30) amount = 1;
player_xp[id]+=amount
oczywiście każdy sobie może pozmieniać te wartości.
FreZZy 16.02.2011
No to na początek znajdź
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
i zamień na
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1){
new sHour[3], iHour;
get_time("%H", sHour, 2);
iHour = str_to_num(sHour);
if(iHour <= 9 && amount > 30) amount = 1;
player_xp[id]+=amount
następnie znajdź w tym samym publicu
write_hud(id)
}
}
i dodaj za
return PLUGIN_CONTINUE;
cesik 16.02.2011
new sHour[3], iHour;czy od 2
get_time("%H", sHour, 2);do
if(iHour <= 9 && amount > 30) amount = 1;9 rano
i wlaczy sie jesli ktos jednorazowo zdobdedzie 30 exp-a?
Użytkownik cesik edytował ten post 16.02.2011 21:36
sebul
16.02.2011
Nie... Jeśli godzina będzie mniejsza bądź równa 9 (czyli od 0 do 9), to gdy dawany exp będzie przekraczał 30 to zamiast tych, np. 31 doda tylko 1.tak
cesik 16.02.2011
public Give_Xp(id,amount) { if(player_class_lvl[id][player_class[id]]==player_lvl[id]) { if(player_xp[id]+amount!=0 && get_playersnum()>1){ new sHour[22], iHour; get_time("%H", sHour, 2); iHour = str_to_num(sHour); if(iHour <= 9 && amount > 20) amount = 1; player_xp[id]+=amount
czy to bedzie dzialalo od godz 22 do 9 rano? i po otrzymania przez kogos wiecej niz 20 expa w rundzie zapisze mu czylo 1?
nie kumam tylko do czego skurzy ta linijka
get_time("%H", sHour, 2);
Użytkownik cesik edytował ten post 16.02.2011 23:42
FreZZy 16.02.2011
Wyświetl postUżytkownik FreZZy dnia napisał
tak
Nie... Jeśli godzina będzie mniejsza bądź równa 9 (czyli od 0 do 9), to gdy dawany exp będzie przekraczał 30 to zamiast tych, np. 31 doda tylko 1.
omg a o co innego chodziło -.-
przecież napisał to samo / bardzo podobne
sebul
17.02.2011
Nie, nie, nie i jeszcze raz nie. Tablicy "sHour[3]" w ogóle nie ruszaj. Chyba wyraźnie napisałem, że w tym co ja podałem ta blokada będzie działać od 0 (czyli 24) do 9, a jeśli chcesz, aby blokada działała wcześniej to dodaj takNo tak napisaleiscie ze tak ale od ktorej godziny zacznie sie mniejsze naliczanie expa...
public Give_Xp(id,amount) { if(player_class_lvl[id][player_class[id]]==player_lvl[id]) { if(player_xp[id]+amount!=0 && get_playersnum()>1){ new sHour[22], iHour; get_time("%H", sHour, 2); iHour = str_to_num(sHour); if(iHour <= 9 && amount > 20) amount = 1; player_xp[id]+=amount
czy to bedzie dzialalo od godz 22 do 9 rano? i po otrzymania przez kogos wiecej niz 20 expa w rundzie zapisze mu czylo 1?
nie kumam tylko do czego skurzy ta linijkaget_time("%H", sHour, 2);
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1){
new sHour[3], iHour;
get_time("%H", sHour, 2);
iHour = str_to_num(sHour);
if((iHour <= 9 || iHour >= 22) && amount > 30) amount = 1;
player_xp[id]+=amount
I teraz od 22 do 9 gdy exp będzie większy od 30 to będzie dodawać 1.
No nie wiem czy to samo...omg a o co innego chodziło -.-
przecież napisał to samo / bardzo podobne
Użytkownik sebul edytował ten post 17.02.2011 00:05
cesik 17.02.2011
public Give_Xp(id,amount) { if(player_class_lvl[id][player_class[id]]==player_lvl[id]) { if(player_xp[id]+amount!=0 && get_playersnum()>1){ new sHour[3], iHour; get_time("%H", sHour, 2); iHour = str_to_num(sHour); if(iHour <= 9 && amount > 20) amount = 1; player_xp[id]+=amount
tylko ze dam zeby po przekroczeniu 20 exp dawalo 1
i teraz mam z tego amx zrobic czy wkleic w cale diablo do .smb? jesli tak to gdzie
sebul
17.02.2011
public Give_Xp(id,amount)
{
if(player_class_lvl[id][player_class[id]]==player_lvl[id])
{
if(player_xp[id]+amount!=0 && get_playersnum()>1){
player_xp[id]+=amount
potem kompilujesz i plik amxx wrzucasz na ftp serwera do folderu "plugins". Żebym takie coś musiał tłumaczyć...