Użytkownik kiver edytował ten post 23.12.2010 20:42
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.
|
Guest Message by DevFuse
Diablo + COD dawanie broni
Temat rozp.
kiver
, 23.12.2010 20:41
8 odpowiedzi w tym temacie
#1
Napisano 23.12.2010 20:41
Witam, kiedyś z kolegą bawiłem się DiabloModem i kolega skopiował z COD'a QTM'a polecenie które daje bronie danej klasie. Dzisiaj próbowałem zrobić to samo ale mi nie wychodziło. Kolega mi nie pomoże bo powiedział że w święta nie będzie zaglądał do żadnych kodów. Więc wychodzę z prośbą czy ktoś mi pomoże to dodać, lub jakimś innym sposobem bo gdy dodawałem do roundstart to po kilu rundach klasy nie dostawały broni. STAWIĘ DUŻEGO +!
#2
Napisano 23.12.2010 21:07
Pod tabelą expa dajesz(przykład):
Znajdź:
Powinieneś umieć zmodyfikować
new class_weapons[x] = { (1<<CSW_KNIFE), // NONE (1<<CSW_P90)|(1<<CSW_USP)|(1<<CSW_KNIFE), // Medyk (1<<CSW_XM1014)|(1<<CSW_DEAGLE)|(1<<CSW_KNIFE), // Obrońca (1<<CSW_MP5NAVY)|(1<<CSW_KNIFE), // Saper (1<<CSW_USP)|(1<<CSW_KNIFE), // Szpieg (1<<CSW_AWP)|(1<<CSW_KNIFE), // Snajper (1<<CSW_AUG)|(1<<CSW_KNIFE) // Zamachowca }x - ilość klas , łącznie z none.Jak masz więcej dodajesz...
Znajdź:
public freeze_begin() { freeze_ended = false }Dodaj pod:
// gives a player a weapon efficiently stock ham_give_weapon(id,weapon[]) { if(!equal(weapon,"weapon_",7)) return 0; new wEnt = engfunc(EngFunc_CreateNamedEntity,engfunc(EngFunc_AllocString,weapon)); if(!pev_valid(wEnt)) return 0; set_pev(wEnt,pev_spawnflags,SF_NORESPAWN); dllfunc(DLLFunc_Spawn,wEnt); if(!ExecuteHamB(Ham_AddPlayerItem,id,wEnt)) { if(pev_valid(wEnt)) set_pev(wEnt,pev_flags,pev(wEnt,pev_flags) | FL_KILLME); return 0; } ExecuteHamB(Ham_Item_AttachToPlayer,wEnt,id) return 1; } // takes a weapon from a player efficiently stock ham_strip_weapon(id,weapon[]) { if(!equal(weapon,"weapon_",7)) return 0; new wId = get_weaponid(weapon); if(!wId) return 0; new wEnt; while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {} if(!wEnt) return 0; if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt); if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0; ExecuteHamB(Ham_Item_Kill,wEnt); set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId)); // this block should be used for Counter-Strike: /*if(wId == CSW_C4) { cs_set_user_plant(id,0,0); cs_set_user_bpammo(id,CSW_C4,0); } else if(wId == CSW_SMOKEGRENADE || wId == CSW_FLASHBANG || wId == CSW_HEGRENADE) cs_set_user_bpammo(id,wId,0);*/ return 1; } new weapon_name[31][]={"none","weapon_p228","weapon_shield","weapon_scout", "weapon_hegrenade","weapon_xm1014","weapon_c4","weapon_mac10","weapon_aug", "weapon_smokegrenade","weapon_elite","weapon_fiveseven","weapon_ump45", "weapon_sg550","weapon_galil","weapon_famas","weapon_usp","weapon_glock18", "weapon_awp","weapon_mp5navy","weapon_m249","weapon_m3","weapon_m4a1", "weapon_tmp","weapon_g3sg1","weapon_flashbang","weapon_deagle","weapon_sg552", "weapon_ak47","weapon_knife","weapon_p90"} public dawanie_i_branie_broni(i) { new weapons[32], num get_user_weapons(i, weapons, num) new weapon; for( new n = 0; n < num; n++ ) { weapon = weapons[n] if( !(class_weapons[player_class[i]] & weapon) && weapon!=CSW_C4) { ham_strip_weapon(i,weapon_name[weapon]) } } for( new n=1;n<31;n++) { if(class_weapons[player_class[i]] & (1<<n)) { ham_give_weapon(i,weapon_name[n]) } } }W roundstart'cie szukasz:
changeskin(i,0) }Dodajesz pod tym:
dawanie_i_branie_broni(i)W select_class_menu szukasz:
give_knife(id)Dodajesz pod tym:
if(is_user_alive(id)) dawanie_i_branie_broni(id)I tyle...
Powinieneś umieć zmodyfikować
#3
Napisano 23.12.2010 23:14
No super, zaraz sprawdzę sa samą pomoc daję +. Tylko powiedz mi jeszcze czy to odnosi się do kolejności klas? NP. Mag pierwszy to Mag dostanie USP?
new class_weapons[x] = {
(1<<CSW_KNIFE), // NONE
(1<<CSW_P90)|(1<<CSW_USP)|(1<<CSW_KNIFE), // Medyk
(1<<CSW_XM1014)|(1<<CSW_DEAGLE)|(1<<CSW_KNIFE), // Obrońca
(1<<CSW_MP5NAVY)|(1<<CSW_KNIFE), // Saper
(1<<CSW_USP)|(1<<CSW_KNIFE), // Szpieg
(1<<CSW_AWP)|(1<<CSW_KNIFE), // Snajper
(1<<CSW_AUG)|(1<<CSW_KNIFE) // Zamachowca
}
#4
Napisano 24.12.2010 12:35
Tak, jest to w kolejności. None-None, Mag-Medyk itd.
#5
Napisano 25.12.2010 15:14
Powiedz mi co jeszcze mam dodać w plugin init bo nie ogarniam
#6
Napisano 25.12.2010 15:26
Wszystko wyżej ci KariiO napisał. Postępuj zgodnie z wskazówką, a na pewno sobie poradzisz.
#7
Napisano 26.12.2010 14:42
No właśnie sobie nie radzę Stawie + za pomoc
Dodano 26 grudzień 2010 - 14:42:
RegisterHam(Ham_AddPlayerItem, "player", "dawanie_i_branie_broni"); dodałem coś takiego i nie działa, wyskakują errory podczas kompilacji.
Dodano 26 grudzień 2010 - 14:42:
RegisterHam(Ham_AddPlayerItem, "player", "dawanie_i_branie_broni"); dodałem coś takiego i nie działa, wyskakują errory podczas kompilacji.
#8
Napisano 26.12.2010 17:28
Ale ty masz dodać wszystko co jest wyżej, w poście KariiO i tylko zmienic maksymalną ilość klas i powstawiac bronie jakie chcesz. Zapodaj .sma
Użytkownik Lotos edytował ten post 26.12.2010 17:29
#9
Napisano 26.12.2010 17:48
Łap, i sam sprawdź że nie idzie skompilować http://www.speedysha...mod_5.9l_2_.sma
Użytkownik kiver edytował ten post 26.12.2010 17:50
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych