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.
|
AmD
Rejestracja: 04.05.2010Aktualnie: Nieaktywny
Poza forum Ostatnio: 16.03.2011 18:45
Statystyki
- Grupa: Użytkownik
- Całość postów: 500
- Odwiedzin: 12,622
- Tytuł: aemde
- Wiek: 31 lat
- Urodziny: August 10, 1992
-
Imię
Dariusz
-
Płeć
Mężczyzna
-
Lokalizacja
Częstochowa
Narzędzia użytkownika
Ostatnio byli
#185005 [ Xp Mod ] jak wywołać poprawnie funkcje...
Posted by DarkGL on 01.11.2010 16:24
PlayerLevel[id] += 1;
SkillPoints[id] += 1;
można zamienić na
PlayerLevel[id]++
SkillPoints[id]++
ale reszta kodu jest poprawna
pokaż więcej
#185346 [ Xp Mod ] jak wywołać poprawnie funkcje...
Posted by Guest on 02.11.2010 21:23
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).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);
}
Ż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
public SaveXp(id) {
new PlayerName[32];
get_user_name(id, PlayerName, 31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", PlayerName);
format(vaultdata, 255, "%i#%i#%i#%i#%i#%i#%i#%i#%i#", PlayerXP[id], PlayerLevel[id], SkillPoints[id], PtkGraw[id], PtkSpeed[id], PtkFuria[id], PtkFizyk[id], PtkCzar[id], PtkNc[id]);
nvault_set(g_Vault, vaultkey, vaultdata);
return PLUGIN_CONTINUE;
}
public LoadXp(id) {
new PlayerName[32];
get_user_name(id,PlayerName,31);
new vaultkey[64], vaultdata[256];
format(vaultkey, 63, "%s-Mod", PlayerName);
format(vaultdata, 255, "%i#%i#%i#%i#%i#%i#%i#%i#%i#", PlayerXP[id], PlayerLevel[id], SkillPoints[id], PtkGraw[id], PtkSpeed[id], PtkFuria[id], PtkFizyk[id], PtkCzar[id], PtkNc[id]);
nvault_get(g_Vault, vaultkey, vaultdata,255);
replace_all(vaultdata, 255, "#", " ");
new playerxp[32], playerlevel[32], skillpoints[32], ptkgraw[32], ptkspeed[32], ptkfuria[32], ptkfizyk[32], ptkczar[32], ptknc[32];
parse(vaultdata, playerxp, 31, playerlevel, 31, skillpoints, 31, ptkgraw, 31, ptkspeed, 31, ptkfuria, 31, ptkfizyk, 31, ptkczar, 31, ptknc, 31);
PlayerXP[id] = str_to_num(playerxp);
PlayerLevel[id] = str_to_num(playerlevel);
SkillPoints[id] = str_to_num(skillpoints);
PtkGraw[id] = str_to_num(ptkgraw);
PtkSpeed[id] = str_to_num(ptkspeed);
PtkFuria[id] = str_to_num(ptkfuria);
PtkFizyk[id] = str_to_num(ptkfizyk);
PtkCzar[id] = str_to_num(ptkczar);
PtkNc[id] = str_to_num(ptknc);
return PLUGIN_CONTINUE;
}
#183030 Liczby w Tablicy ktore beda losowane
Posted by DarkGL on 24.10.2010 19:10
#183052 Liczby w Tablicy ktore beda losowane
Posted by Ortega on 24.10.2010 19:56
#183066 Liczby w Tablicy ktore beda losowane
Posted by R3X on 24.10.2010 20:33
#183101 Liczby w Tablicy ktore beda losowane
Posted by DarkGL on 24.10.2010 22:24
#182988 Liczby w Tablicy ktore beda losowane
Posted by DarkGL on 24.10.2010 17:26
#180927 Mała naprawa funkcji [serwe wyrzuca logi]
Posted by grankee on 17.10.2010 12:34
1.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( ) } }
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.
#181002 Mała naprawa funkcji [serwe wyrzuca logi]
Posted by grankee on 17.10.2010 16:20
#180656 Mała naprawa funkcji [serwe wyrzuca logi]
Posted by Siemir on 16.10.2010 17:50
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( ) } }
#177370 Teleport z Nozem oraz...
Posted by Pawex on 06.10.2010 15:44
if(player_class[id]==Paladyn && weapon == CSW_KNIFE && freeze_ended)
{
if((button2 & IN_DUCK) && (button2 & IN_JUMP))
{
if(JumpsLeft[id]>0)
{
new flags = pev(id,pev_flags)
if(flags & FL_ONGROUND)
{
set_pev ( id, pev_flags, flags-FL_ONGROUND )
JumpsLeft[id]--
new Float:va[3],Float:v[3]
entity_get_vector(id,EV_VEC_v_angle,va)
v[0]=floatcos(va[1]/180.0*M_PI)*560.0
v[1]=floatsin(va[1]/180.0*M_PI)*560.0
v[2]=300.0
entity_set_vector(id,EV_VEC_velocity,v)
write_hud(id)
}
}
}
}
A na ten teleport to:
public Prethink_Blink(id)
{
if( get_user_button(id) & IN_ATTACK2 && !(get_user_oldbutton(id) & IN_ATTACK2) && is_user_alive(id))
{
if (on_knife[id])
{
if (halflife_time()-player_b_blink[id] <= 3) return PLUGIN_HANDLED
player_b_blink[id] = floatround(halflife_time())
UTIL_Teleport(id,300+15*player_intelligence[id])
}
}
return PLUGIN_CONTINUE
}
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
#176836 [Nvault] Nie zapisuje/odczytuje danych z pliku...
Posted by DarkGL on 04.10.2010 10:13
#177014 [Nvault] Nie zapisuje/odczytuje danych z pliku...
Posted by DarkGL on 04.10.2010 18:53
#177050 [Nvault] Nie zapisuje/odczytuje danych z pliku...
Posted by DarkGL on 04.10.2010 20:36
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputation: AmD
- Regulamin