Jump to content

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Posted Image Posted Image

Guest Message by DevFuse
 

AmD's Photo

AmD

Rejestracja: 04.05.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.03.2011 18:45
-----

#185005 [ Xp Mod ] jak wywołać poprawnie funkcje...

Posted by DarkGL on 01.11.2010 16:24

co prawda
PlayerLevel[id] += 1;
SkillPoints[id] += 1;
można zamienić na
PlayerLevel[id]++
SkillPoints[id]++

ale reszta kodu jest poprawna
pokaż więcej
  • +
  • -
  • 1


#185346 [ Xp Mod ] jak wywołać poprawnie funkcje...

Posted by Guest on 02.11.2010 21:23

Problem w tym że zrobiłeś jeden mały błąd:

public eDeath(id)
{

//new attacker = read_data( 1 );

if(PlayerXP[id] >= LEVELS[PlayerLevel[id]])
PlayerLevel[id] += 1;

SkillPoints[id] += 1;
ColorChat(id, GREEN,"[%s]^x01: Gratuluje, wbiles poziom ! Twoj Poziom to :^x03 %d^x01, posiadasz :^x03 %d^x01 punktow skilli.",prefix,PlayerLevel[id],SkillPoints[id]);
ColorChat(id, GREEN,"[%s]^x01: Punkty Skilli Mozesz Wykorzystac Wpisujac w say ^x03/xp^x01",prefix);

}

jak masz ten kod to po if jest zawsze wykonywana jedna instrukcja czyli w tym wypadku jak warunek jest spełniony do zwiększasz komuś "PlayerLevel[id] += 1;" i dodajesz pkt +wyświetlasz info, jak warunek jest nie spełniony to dodajesz pkt i wyświetlasz info(mam nadzieję że już widzisz na czym polega błąd).

Żeby działało musisz zrobić tak:
public eDeath(id) 
{

//new attacker = read_data( 1 );

if(PlayerXP[id] >= LEVELS[PlayerLevel[id]]){
PlayerLevel[id] += 1;
SkillPoints[id] += 1;
ColorChat(id, GREEN,"[%s]^x01: Gratuluje, wbiles poziom ! Twoj Poziom to :^x03 %d^x01, posiadasz :^x03 %d^x01 punktow skilli.",prefix,PlayerLevel[id],SkillPoints[id]);
ColorChat(id, GREEN,"[%s]^x01: Punkty Skilli Mozesz Wykorzystac Wpisujac w say ^x03/xp^x01",prefix);
}
}

lub tak:
public eDeath(id) 
{

//new attacker = read_data( 1 );

if(PlayerXP[id] < LEVELS[PlayerLevel[id]])
return PLUGIN_CONTINUE
PlayerLevel[id] += 1;
SkillPoints[id] += 1;
ColorChat(id, GREEN,"[%s]^x01: Gratuluje, wbiles poziom ! Twoj Poziom to :^x03 %d^x01, posiadasz :^x03 %d^x01 punktow skilli.",prefix,PlayerLevel[id],SkillPoints[id]);
ColorChat(id, GREEN,"[%s]^x01: Punkty Skilli Mozesz Wykorzystac Wpisujac w say ^x03/xp^x01",prefix);
}




A co do 2 po śmierci zmieniasz userowi grawitacje na standardową? Bo może tak ciągle odejmujesz czy coś w tym stylu.
Najlepiej sprawdź ile razy Ci się wywołuje i na jaki poziom ustawia.


if(!is_user_alive(id) && get_user_gravity(id)!=1){
return HAM_IGNORED;
}

Ten warunek możesz jeszcze zmienić na taki, wtedy gdy grawitacja jest różna od standardowej to po prostu już komuś nie zmieni, bo znaczy to że była już zmieniana.


#184511 [Xp Mod] Nie ładuje się exp

Posted by hardbot on 31.10.2010 07:46

yy a skąd Wać Pan wziął taką dużą tablice pod get_user_name :?:

Spoiler



#183030 Liczby w Tablicy ktore beda losowane

Posted by DarkGL on 24.10.2010 19:10

client_cmd(id, "say %i",wylosowana)
a no i
new const szA[] = {
1,2,3,4,5,6,7,8,9,10,11,12
}
  • +
  • -
  • 1


#183052 Liczby w Tablicy ktore beda losowane

Posted by Ortega on 24.10.2010 19:56

Wielkość tablicy musi być znana kompilatorowi podczas kompilacji :*

@R3X, my fault.
  • +
  • -
  • 1


#183066 Liczby w Tablicy ktore beda losowane

Posted by R3X on 24.10.2010 20:33

no i znany jest skoro inicjalizujesz tablicę danymi :)
new Ta[b[] = {1, 2, 3}; i kompilator wie, że sizeof = 3

pokaż więcej kodu, do Dark dobrze napisał
  • +
  • -
  • 1


#183101 Liczby w Tablicy ktore beda losowane

Posted by DarkGL on 24.10.2010 22:24

...
new wylosowana = szA[random(sizeof szA)]

new const szA[] = {
        1,2,3,4,5,6,7,8,9,10,11,12
}
public
przenieś
new const szA[] = {
        1,2,3,4,5,6,7,8,9,10,11,12
}
do globalnych
a losowanie daj w handle menu
  • +
  • -
  • 1


#182988 Liczby w Tablicy ktore beda losowane

Posted by DarkGL on 24.10.2010 17:26

new wylosowana = szA[random(sizeof szA)]
  • +
  • -
  • 1


#180927 Mała naprawa funkcji [serwe wyrzuca logi]

Posted by grankee on 17.10.2010 12:34

Gracz może się patrzeć na ścianę.

public StatusValue( const id )
{
        new szWiad[ 34 ], Target, aux
        get_user_aiming(id, Target, aux)
        if(is_user_alive(Target))
        {
         formatex( szMessage, 33, "1 %s: %%p2", get_user_flags( Target ) & FBH_LEVEL ? "Admin" : "Gracz" )
                        
         message_begin( MSG_ONE_UNRELIABLE,  get_user_msgid( "StatusText" ), _, id )
         write_byte( 0 )
         write_string( szWiad )
         message_end( )
        }
}

1.
get_user_flags( Target ) & FBH_LEVEL

Co to jest? Masz zdefiniowane FBH_LEVEL? Jak zdefiniowałeś?
Obejmij to nawiasami, ma być: ( get_user_flags( Target ) & FBH_LEVEL)? "Admin":"Gracz")
2. Co to jest
%%p2
?
3.Tworzysz nową zmienną szWiad, formatujesz już inną zmienną szMessage, po czym wysyłasz wcześniej utworzoną pustą zmienną szWiad, pustą, bo nigdzie jej nie formatowałeś.

Popraw to i napisz czy działa.
  • +
  • -
  • 1


#181002 Mała naprawa funkcji [serwe wyrzuca logi]

Posted by grankee on 17.10.2010 16:20

To może napisz jak to ma dokladnie działać.
  • +
  • -
  • 1


#180656 Mała naprawa funkcji [serwe wyrzuca logi]

Posted by Siemir on 16.10.2010 17:50

Gracz może się patrzeć na ścianę.
public StatusValue( const id )
{
        new szWiad[ 34 ], Target, aux
        get_user_aiming(id, Target, aux)
        if(is_user_alive(Target))
        {
         formatex( szMessage, 33, "1 %s: %%p2", get_user_flags( Target ) & FBH_LEVEL ? "Admin" : "Gracz" )
                        
         message_begin( MSG_ONE_UNRELIABLE,  get_user_msgid( "StatusText" ), _, id )
         write_byte( 0 )
         write_string( szWiad )
         message_end( )
        }
}

  • +
  • -
  • 1


#177370 Teleport z Nozem oraz...

Posted by Pawex on 06.10.2010 15:44

Tak na szybko to LJ to jest chyba to:
Spoiler

A na ten teleport to:
Spoiler


I tu jakies 2 zmienne jeszcze do tego potrzebne:
if (player_b_jumpx[id] > 0) Prethink_Doublejump(id)
	if (player_b_blink[id] > 0) Prethink_Blink(id)

Pod kazdym moim postem to napiszesz? Dobre mu dalem :o
  • +
  • -
  • 1


#176836 [Nvault] Nie zapisuje/odczytuje danych z pliku...

Posted by DarkGL on 04.10.2010 10:13

sprawdź czy napewno to sięwykonuje po
if(PtkSpeed[id] > 0){
daj client_print(id,print_chat,"Lubie AMXX.PL")'
jak nie zobaczysz na czacie Lubie AMXX.PL
znaczy to że nie ustawiasz PtkSpeed[id] na więcej niż 0
  • +
  • -
  • 1


#177014 [Nvault] Nie zapisuje/odczytuje danych z pliku...

Posted by DarkGL on 04.10.2010 18:53

daj client_print(id,print_chat,"%d",PtkSpeed[id)
i zobacz czy cosnie wymusza standardowej prędkości
po porstu poszukaj all set_user_maxspeed w kodzie :D
  • +
  • -
  • 1


#177050 [Nvault] Nie zapisuje/odczytuje danych z pliku...

Posted by DarkGL on 04.10.2010 20:36

ty ty dałeś tylko 10 caseow czyli jak PtkSpeed[id] jest mniejsze od 1 lub większe od 10 to nic się nie wykona i nie doda ci speeda
  • +
  • -
  • 1