Skocz do zawartości

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

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Magnetix - zdjęcie

Magnetix

Rejestracja: 30.04.2008
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.12.2012 21:28
-----

#250783 Dodawanie questów

Napisane przez DarkGL w 18.05.2011 22:10

Jako że Onyke wydał swojego diablo mod'a w którym jest system questów wykonany prze zemnie na jego zlecenie chyba nie obrazi się jak dam tutorial jak dodać go do swojego diablo moda
zresztą i tak questy były dostępne na necie : P nawet stały się dość popularne ^^

1.Powyżej plugin_init dodajemy
//questy
//Autor DarkGL : )
new quest_gracza[33];
new ile_juz[33];

//przedzial , ile ,kogo , nagroda expa, vip 1 tak 0 nie
new questy[][]={
	{1,2,Ninja,500,0},
	{1,3,Mag,1200,1},
	{1,6,Zabojca,2000,0},
	{2,6,Hunter,5000,0},
	{2,15,Barbarzynca,15000,1},
	{2,20,Paladyn,20000,1},
	{3,65,Barbarzynca,150000,1},
	{3,120,Paladyn,200000,1}
}

new vault_questy;
new vault_questy2;

//od , do , hp
new prze[][]={
	{1,50,20},
	{51,80,40},
	{81,140,60}
}

new prze_wybrany[33]

new questy_info[][]={
	"Zabij 2 Ninje (Nagroda 500 doswiadczenia)",
	"Zabij 3 Magow (Nagroda 1200 doswiadczenia)",
	"Zabij 6 Zabojcow (Nagroda 2000 doswiadczenia)",
	"Zabij 6 Lowcow (Nagroda 5000 doswiadczenia)",
	"Zabij 15 Barbarzyncow (Nagroda 15000 doswiadczenia)",
	"Zabij 20 Paladynow (Nagroda 20000 doswiadczenia)",
	"Zabij 65 Barbarzyncow (Nagroda 150000 doswiadczenia)",
	"Zabij 120 Paladynow (Nagroda 200000 doswiadczenia)"
}

new questy_zabil[][]={
	"Ninjow",
	"Magow",
	"Zabojcow",
	"Lowcow",
	"Barbarzyncow",
	"Paladynow",
	"Barbarzyncow",
	"Paladynow"
}
2. w plugin_init dodajemy
vault_questy = nvault_open("Questy");
	vault_questy2 = nvault_open("Questy2");
	
	register_clcmd("say /questy","menu_questow")
	register_clcmd("say /quest","menu_questow")

3.w dowolnym miejscu w kodzie dodajemy
public menu_questow(id){
	if(quest_gracza[id] == -1 || quest_gracza[id] == -2){
		
		new menu = menu_create("Menu Questow","menu_questow_handle")
		new formats[128]
		for(new i = 0;i<sizeof prze;i++){
			formatex(formats,127,"Questy od %d do %d poziomu",prze[i][0],prze[i][1]);
			menu_additem(menu,formats)
		}
		menu_display(id,menu,0)
	}
	else
	{
		client_print(id,print_chat,"Wykonaj najpierw poprzednie zadanie")
	}
}

public menu_questow_handle(id,menu,item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	if(player_lvl[id] < prze[item][0]){
		client_print(id,print_chat,"Masz za maly level!");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new formats[128]
	formatex(formats,127,"Questy od %d do %d poziomu",prze[item][0],prze[item][1]);
	new menu2 = menu_create(formats,"menu_questow_handle2")
	for(new i = 0;i<sizeof(questy);i++){
		if(questy[i][0] == item+1){
			menu_additem(menu2,questy_info[i]);
		}
	}
	menu_setprop(menu2, MPROP_EXITNAME, "Wyjdz");
	menu_setprop(menu2, MPROP_BACKNAME, "Poprzednia strona");
	menu_setprop(menu2, MPROP_NEXTNAME, "Nastepna strona");
	prze_wybrany[id] = item+1;
	menu_display(id,menu2)
	return PLUGIN_CONTINUE;
}

public zapisz_questa(id,quest){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[64];
	format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
	nvault_set(vault_questy,key,"1");
}

public zapisz_aktualny_quest(id){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[256];
	format(key,255,"questy-%d-%s",player_class[id],name);
	new data[32]
	formatex(data,charsmax(data),"#%d#%d",quest_gracza[id]+1,ile_juz[id]);
	nvault_set(vault_questy2,key,data);
}

public wczytaj_aktualny_quest(id){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[256];
	format(key,255,"questy-%d-%s",player_class[id],name);
	new data[32];
	nvault_get(vault_questy2,key,data,31);
	replace_all(data,31,"#"," ");
	new questt[32],ile[32]
	parse(data,questt,31,ile,31)
	ile_juz[id] = str_to_num(ile)
	return str_to_num(questt)-1
}

public wczytaj_questa(id,quest){
	new name[64];
	get_user_name(id,name,63)
	strtolower(name)
	new key[64];
	format(key,63,"questy-%i-%s-%i",player_class[id],name,quest);
	new data[64];
	nvault_get(vault_questy,key,data,63);
	return str_to_num(data);
}

public menu_questow_handle2(id,menu,item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	new ile2 = 0;
	for(new i = 0;i<sizeof(questy);i++){
		if(questy[i][0] != prze_wybrany[id]){
			continue;
		}
		if(ile2 == item){
			item = i;
			break;
		}
		ile2++;
	}
	if(questy[item][4] && !(get_user_flags(id) & ADMIN_LEVEL_H)){
		client_print(id,print_chat,"Ten quest jest tylko dla vipow! Aby kupic vipa wejdz na forum amxx.pl");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	if(wczytaj_questa(id,item)){
		client_print(id,print_chat,"Wykonales juz to zadanie!");
		menu_questow(id)
		menu_destroy(menu);
		return PLUGIN_CONTINUE;
	}
	quest_gracza[id] = item;
	ile_juz[id] = 0
	zapisz_aktualny_quest(id)
	client_print(id,print_chat,"Wybrales zadanie: %s powodzenia !",questy_info[item]);
	quest_gracza[id] = wczytaj_aktualny_quest(id);
	menu_destroy(menu);
	return PLUGIN_CONTINUE;
}

4.w funkcji DeathMsg
w warunku
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
	{
dodajemy
if(quest_gracza[kid] != -1){
			if(player_class[vid] == questy[quest_gracza[kid]][2]){
				ile_juz[kid]++;
				zapisz_aktualny_quest(kid)
			}
			if(ile_juz[kid] == questy[quest_gracza[kid]][1]){
				client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3])
				zapisz_questa(kid,quest_gracza[kid])
				Give_Xp(kid,questy[quest_gracza[kid]][3]);
				quest_gracza[kid] = -1;
				zapisz_aktualny_quest(kid)
			}
			else
			{
				client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]])
                        }
}
tak to ma wyglądać
if (is_user_connected(kid) && is_user_connected(vid) && get_user_team(kid) != get_user_team(vid))
	{
		show_deadmessage(kid,vid,headshot,weaponname)
		create_itm(vid,0,"losowy item")
		award_kill(kid,vid)
		add_respawn_bonus(vid)
		add_bonus_explode(vid)
		add_barbarian_bonus(kid)
		//mana_gracza[kid]+=1
		//mana_gracza[headshot]+=2
		if (player_class[kid] == Barbarzynca)
		refill_ammo(kid)
		if (player_class[kid] == Griswold)
		refill_ammo(kid)
		if (player_class[kid] == Kowal)
		refill_ammo(kid)
		if (player_class[kid] == Demonolog)
		refill_ammo(kid)
		set_renderchange(kid)
		savexpcom(vid)
		if(quest_gracza[kid] != -1){
			if(player_class[vid] == questy[quest_gracza[kid]][2]){
				ile_juz[kid]++;
				zapisz_aktualny_quest(kid)
			}
			if(ile_juz[kid] == questy[quest_gracza[kid]][1]){
				client_print(kid,print_chat,"Wykonales zadanie %s gratulacje otrzymujesz %i expa!",questy_info[quest_gracza[kid]],questy[quest_gracza[kid]][3])
				zapisz_questa(kid,quest_gracza[kid])
				Give_Xp(kid,questy[quest_gracza[kid]][3]);
				quest_gracza[kid] = -1;
				zapisz_aktualny_quest(kid)
			}
			else
			{
				client_print(kid,print_chat,"Zabiles %i/%i %s",ile_juz[kid],questy[quest_gracza[kid]][1],questy_zabil[quest_gracza[kid]])
			}
		}
	}

5.
quest_gracza[id] = wczytaj_aktualny_quest(id);
musimy to dodać po całym switch w funkcji handle menu wyboru klas
dużo diablo modów dużo menów dlatego tylko przyklad
public PokazMeni(id, key)
{ 
/* Menu:
* Wybierz klase:
* 1:Czarodziejka
* 2:Druid
* 3:Paladyn
* 4:Zabojczyni
* 5:Nekromanta
* 6:Barbarzynca
* 7:Ninja
* 8:Amazonka
* 0:Wstecz
*/
new lx[28] // <-- tutaj wpisz liczbę swoich klas + 1(none)
g_haskit[id] = 0
c_shake[id]=0
c_damage[id]=0
c_jump[id]=0
c_mine[id]=0
c_respawn[id]=0
c_vampire[id]=0
zmiana_skinu[id]=0
switch(key) 
{ 
    case 0: 
    {    
        player_class[id] = Mag
	c_shake[id]=20
        LoadXP(id, player_class[id])        
    }
    case 1: 
    {    
        player_class[id] = Mnich
	c_damage[id]=3
	zmiana_skinu[id]=1
	changeskin(id,0)
        LoadXP(id, player_class[id])
    }
    case 2: 
    {    
        player_class[id] =  Paladyn
        LoadXP(id, player_class[id])
    }
    case 3: 
    {    
        player_class[id] = Zabojca
	c_jump[id]=1
	c_mine[id]=2
        LoadXP(id, player_class[id])
    }
    case 4: 
    {            
        player_class[id] = Nekromanta
        g_haskit[id] = 1
	c_respawn[id]=4
	c_vampire[id]=random_num(1,3)
        LoadXP(id, player_class[id])
    }
    case 5: 
    {    
        player_class[id] = Barbarzynca      
        LoadXP(id, player_class[id])
    }
    case 6: 
    {    
        player_class[id] = Ninja
        LoadXP(id, player_class[id])
    }
    case 7: 
    {    
        player_class[id] = Hunter
        g_GrenadeTrap[id] = 1    
        LoadXP(id, player_class[id])
    }
    case 9: 
    { 
        select_class(id,lx)
    }
}
CurWeapon(id)
quest_gracza[id] = wczytaj_aktualny_quest(id);
give_knife(id)

return PLUGIN_HANDLED
}

Wiem jestem cienki w pisaniu poradników : D
macie tutaj
Diablomod by 0nYk3 - AMXX.pl: Support AMX Mod X
już dodane questy możecie się wzorować na tym
  • +
  • -
  • 24


#185585 Broń totem

Napisane przez sebul w 04.11.2010 07:40

Mi się wydaje, że jak coś to już
public Effect_Healing_Totem_Think(ent)
{
new id = pev(ent,pev_owner)
new totem_dist = 300
new amount_healed = player_b_heal[id]

//We have emitted beam. Apply effect (this is delayed)
if (pev(ent,pev_euser2) == 1)
{
new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)

//Find people near and damage them
new entlist[513]
new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)

for (new i=0; i < numfound; i++)
{
new pid = entlist[i]

if(get_user_team(pid) != get_user_team(id))
continue

if(is_user_alive(pid)) give_item(id, "weapon_ak47");
}

set_pev(ent,pev_euser2,0)
set_pev(ent,pev_nextthink, halflife_time() + 1.5)

return PLUGIN_CONTINUE
}

//Entity should be destroyed because livetime is over
if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
{
remove_entity(ent)
return PLUGIN_CONTINUE
}

//If this object is almost dead, apply some render to make it fade out
if (pev(ent,pev_ltime)-2.0 < halflife_time())
set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 )

new Float:forigin[3], origin[3]
pev(ent,pev_origin,forigin)
FVecIVec(forigin,origin)

//Find people near and give them health
message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
write_byte( TE_BEAMCYLINDER );
write_coord( origin[0] );
write_coord( origin[1] );
write_coord( origin[2] );
write_coord( origin[0] );
write_coord( origin[1] + totem_dist );

write_coord( origin[2] + totem_dist );
write_short( sprite_white );
write_byte( 0 ); // startframe
write_byte( 0 ); // framerate
write_byte( 10 ); // life
write_byte( 10 ); // width
write_byte( 255 ); // noise
write_byte( 255 ); // r, g, b
write_byte( 100 ); // r, g, b
write_byte( 100 ); // r, g, b
write_byte( 128 ); // brightness
write_byte( 5 ); // speed
message_end();

set_pev(ent,pev_euser2,1)
set_pev(ent,pev_nextthink, halflife_time() + 0.5)


return PLUGIN_CONTINUE

}

Bo musi być określone komu ma dawać, bez tego pewnie były by crashe serwera.
  • +
  • -
  • 1


#185736 Broń totem

Napisane przez Niscree w 04.11.2010 20:34

na koniec kodu dodajesz to:
public item_ak47totem(id)
{
        if (used_item[id])
        {
                hudmsg(id,2.0,"Totem mozesz uzyc raz na runde!")
                return PLUGIN_CONTINUE
        }
        
        used_item[id] = true
        
        new origin[3]
        pev(id,pev_origin,origin)
                
        new ent = Spawn_Ent("info_target")
        set_pev(ent,pev_classname,"Effect_ak47_Totem")
        set_pev(ent,pev_owner,id)
        set_pev(ent,pev_solid,SOLID_TRIGGER)
        set_pev(ent,pev_origin,origin)
        set_pev(ent,pev_ltime, halflife_time() + 7 + 0.1)
        
        engfunc(EngFunc_SetModel, ent, "models/diablomod/totem_heal.mdl")       
        set_rendering ( ent, kRenderFxGlowShell, 255,0,0, kRenderFxNone, 255 )  
        engfunc(EngFunc_DropToFloor,ent)
        
        set_pev(ent,pev_nextthink, halflife_time() + 0.1)
        
        return PLUGIN_CONTINUE  
}
public Effect_ak47_Totem_Think(ent)
{
        new id = pev(ent,pev_owner)
        new totem_dist = 300
        
        //We have emitted beam. Apply effect (this is delayed)
        if (pev(ent,pev_euser2) == 1)
        {               
                new Float:forigin[3], origin[3]
                pev(ent,pev_origin,forigin)     
                FVecIVec(forigin,origin)
                
                //Find people near and damage them
                new entlist[513]
                new numfound = find_sphere_class(0,"player",totem_dist+0.0,entlist,512,forigin)
                
                for (new i=0; i < numfound; i++)
                {               
                        new pid = entlist[i]
                        
                        if (get_user_team(pid) != get_user_team(id))
                                continue
                                                                
                        if (is_user_alive(pid)) give_item(pid,"weapon_ak47")
                }
                
                set_pev(ent,pev_euser2,0)
                set_pev(ent,pev_nextthink, halflife_time() + 1.5)
                
                return PLUGIN_CONTINUE
        }
        
        //Entity should be destroyed because livetime is over
        if (pev(ent,pev_ltime) < halflife_time() || !is_user_alive(id))
        {
                remove_entity(ent)
                return PLUGIN_CONTINUE
        }
        
        //If this object is almost dead, apply some render to make it fade out
        if (pev(ent,pev_ltime)-2.0 < halflife_time())
                set_rendering ( ent, kRenderFxNone, 255,255,255, kRenderTransAlpha, 100 ) 
                
        new Float:forigin[3], origin[3]
        pev(ent,pev_origin,forigin)     
        FVecIVec(forigin,origin)
                                        
        //Find people near and give them health
        message_begin( MSG_BROADCAST, SVC_TEMPENTITY, origin );
        write_byte( TE_BEAMCYLINDER );
        write_coord( origin[0] );
        write_coord( origin[1] );
        write_coord( origin[2] );
        write_coord( origin[0] );
        write_coord( origin[1] + totem_dist );

        write_coord( origin[2] + totem_dist );
        write_short( sprite_white );
        write_byte( 0 ); // startframe
        write_byte( 0 ); // framerate
        write_byte( 10 ); // life
        write_byte( 10 ); // width
        write_byte( 255 ); // noise
        write_byte( 130 ); // r, g, b
        write_byte( 250 ); // r, g, b
        write_byte( 114 ); // r, g, b
        write_byte( 128 ); // brightness
        write_byte( 5 ); // speed
        message_end();
                
        set_pev(ent,pev_euser2,1)
        set_pev(ent,pev_nextthink, halflife_time() + 0.5)
        
            
        return PLUGIN_CONTINUE

}

paźnij szukasz
register_think("Effect_Healing_Totem","Effect_Healing_Totem_Think")
i pod tym dodajesz
register_think("Effect_ak47_Totem","Effect_ak47_Totem_Think")

chyba reszte zrobiłeś dobrze Oo
  • +
  • -
  • 1


#185737 Broń totem

Napisane przez Weed w 04.11.2010 20:35

dobrze tutaj a gdzie Ci dokladnie wywala blad? w check magic?
  • +
  • -
  • 1


#170498 [QTM COD:MW Mod] Komenda /skille

Napisane przez Jagoda w 12.09.2010 13:39

Witam dzisiaj powiem wam jak zrobić komędę pokazująca statystyki :D
szukamy

register_clcmd("say /klasa", "WybierzKlase");

dodajemy pod

register_clcmd("say /skille", "czary");

potem na koncu kodu wklejamy

public czary(id)
{

client_print(id, print_chat, "Inteligencja: %i, Zycie: %i, Kondycja: %i, Wytrzymalosc: %i ", inteligencja_gracza[id], zdrowie_gracza[id], kondycja_gracza[id], wytrzymalosc_gracza[id] );
client_print(id, print_chat, "To daje ci :%i Zycia, Szybsze bieganie o %i i Redukuje obrazenia o %0.0f%%", zdrowie_gracza[id]*2, floatround(kondycja_gracza[id]*1.3), redukcja_obrazen_gracza[id]*100 );
}

kompilujemy i gotowe


#182026 Szybkość oraz moc

Napisane przez sebul w 21.10.2010 19:36

A przypadkiem nie usunąłeś tego
#if defined CHEAT
public giveitem(id)
{
award_item(id, 25)
return PLUGIN_HANDLED
}

??
  • +
  • -
  • 1


#181774 Szybkość oraz moc

Napisane przez sebul w 20.10.2010 19:47

Co do szybkości, to szukasz
new speeds

i tam masz zmienne odpowiedzialne za prędkość klasy, w standardzie to chyba wygląda tak
if(player_class[id] == Ninja) speeds= 40 + floatround(player_dextery[id]*1.3)
else if(player_class[id] == Zabojca) speeds= 10 + floatround(player_dextery[id]*1.3)

No i dopisujesz swoją klasę, 40 i 10 to dodatkowa prędkość klasy.

Do hp i armoru, korzystasz z tego
change_health(id, 15, 0, "") // doda 15 hp
set_user_armor(id, 150) // doda 150 pancerzu

co do samego pancerza można dodać jeszcze
fm_give_item(id, "item_kevlar")

wtedy będzie nawet dźwięk dla tej kamizelki ;]
Oczywiście wszystko dodajesz do mocu na nożu, możesz dodać też jakąś wiadomość hud, że dostało się hp i armor

Do noża, funkcja powinna wyglądać tak
public add_bonus_knifemasterdamage(attacker_id,id,weapon) {
if(player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE) {
if(!is_user_alive(id))
return PLUGIN_HANDLED

if(random_num(1, player_b_knifemaster[attacker_id]) == 1 || (player_class[id] == Twoja_Klasa && random_num(1,2) == 1))
UTIL_Kill(attacker_id,id,"knife")
}

return PLUGIN_HANDLED
}

lub też tak
public add_bonus_knifemasterdamage(attacker_id,id,weapon) {
if((player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && weapon == CSW_KNIFE) || (player_b_knifemaster[attacker_id] > 0 && get_user_team(attacker_id) != get_user_team(id) && player_class[attacker_id]==Ninja)) {
if(!is_user_alive(id))
return PLUGIN_HANDLED

if(random_num(1, player_b_knifemaster[attacker_id]) == 1 || (player_class[id] == Twoja_Klasa && random_num(1,2) == 1))
UTIL_Kill(attacker_id,id,"knife")
}

return PLUGIN_HANDLED
}

teraz ninja będzie mógł mieć tą moc.
  • +
  • -
  • 1


#178090 Frakcje

Napisane przez Azahiel w 08.10.2010 21:12

Miałem ten sam błąd okazało się że przy przy definiowaniu klas która gdzie ma należeć nie uwzględniłem wszystkich. Wywalało dokładnie ten sam błąd i tak samo było z wyborem klasy ;)

Tak jak przypuszczałem - tyle że ty zdefiniowałeś o jedną klasę za dużo :)W załączniku poprawione sma

Załączone pliki


  • +
  • -
  • 1


#174913 Prośba o dopisanie negatywnych losowań

Napisane przez KariiO w 27.09.2010 19:15

Co do śmierci próbowałeś zrobić coś takiego :
case xx .. yy:
                        {
                                if(get_pcvar_num(deagle_on))
                                {
                                        client_kill(id)
                                        client_print(id, print_chat, "[25%%] Twoja nagroda to smierc!");
                                }
                        }
Co do odejmowania hp to chyba:
case xx .. yy:
                        {
                                if(get_pcvar_num(deagle_on))
                                {
                                        change_health(id,-X,0,"")
                                        client_print(id, print_chat, "[25%%] Twoja nagroda to -X HP!");
                                }
                        }
-X - minus ile HP.
  • +
  • -
  • 1


#175200 Prośba o dopisanie negatywnych losowań

Napisane przez DarkGL w 28.09.2010 19:24

  if(is_user_alive(id))
        {
                console_print(id, "Nie mozesz sie teraz zabic!");
                
                return PLUGIN_HANDLED;
        }
        else
        {
                console_print(id, "Mozesz zabic sie tylko wtedy gdy jestes zywy!")
                
                return PLUGIN_HANDLED;
        }
to za bardzo sensu nie ma :D jak jest żywy to nie może siezabićjak jest martwy to wyskakuje mu że moze jak będzie żywy ;0

to co tamten napsiał + zamiast change_health
set_user_healt i wywalić tego ifa ;0
  • +
  • -
  • 1


#174906 Blokowanie, zapisywanie

Napisane przez Kusek w 27.09.2010 19:06

1. Team Join Management - Nieoficjalny polski support AMX Mod X ?
  • +
  • -
  • 1


#174901 Blokowanie, zapisywanie

Napisane przez Change w 27.09.2010 18:57

2. plugin reconnect features
  • +
  • -
  • 1


#174476 Błąd za błędami

Napisane przez grankee w 26.09.2010 12:00

Większość z nich to po prostu niezachowanie odpowiednich akapitów (loose indentation), można to naprawić w amx studio (Tools->Indenter), dałem w załączniku wersję z wyeliminowanym tym błędem.


wrafasr.sma(532) : error 017: undefined symbol "DajPrzedmiotX"
wrafasr.sma(532) : error 088: number of arguments does not match definition
wrafasr.sma(1261) : error 088: number of arguments does not match definition

Pierwszy z nich oznacza, że próbujesz się odwołać do funkcji, kttórej nie zdefiniowałeś, dwa kolejne to prawdopodobnie fakt, że argumenty się nie zgadzają i to mnie zastanawia, bo z czym się nie zgadzają skoro nie ma definicji tej funkcji. Popraw to i powinny zniknąć.

wrafasr.sma(2281) : warning 209: function "HealthKlass" should return a value

Zerknij do tej funkcji, w ifie zwracasz jakąś wartość, natomiast na koniec funkcji już nie i dlatego takie ostrzeżenie wywala, poprawiłem to również.

Załączone pliki


  • +
  • -
  • 1


#169834 Radar (ulepszona wersja), + losowanie

Napisane przez CeLeS w 10.09.2010 17:56

[QTM COD:MW Mod] Radar - Nieoficjalny polski support AMX Mod X
  • +
  • -
  • 1


#168862 Leczenie

Napisane przez hardbot w 06.09.2010 20:36

public HealthKlass(id)
{
if(get_user_health(id) != 2000) return PLUGIN_HANDLED_MAIN;

set_user_health(id, get_user_health(id) + 20)
return PLUGIN_CONTINUE;
}

na
public HealthKlass(id)
{
new Weapon = get_user_weapon(id)
if(get_user_health(id) != 2000) return PLUGIN_HANDLED_MAIN;

if ( Weapon != CSW_KNIFE )
{
set_user_health(id, get_user_health(id) + 20)
return PLUGIN_CONTINUE;
}