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.
|
Szansa na otrzymanie broni. TMP+Granat
#1
Napisano 02.01.2011 16:21
Chciałbym zrobić VIP Plugin na serwer.
Potrzebuję tylko pomocy przy:
1. 30% szansy na wylosowanie TMP z 10 Ammo. (W magazynku 0)
2. 50% na wylosowanie HE, 2x Flash, Smoke.
3. 200HP i 100 Armor na start.
Każdą pomoc nagrodzę !
Znany jako oeN.
#2
Napisano 02.01.2011 16:48
Jak dodasz do kodu to
#include <fun>to masz dostęp do funkcji give_item();
CS Weapons Information - AlliedModders Wiki tu masz listę broni i ammo, dając wybraną broń skopiuj jej nazwę z kolumny NAME (weapon_tucos)
give_item zwraca id entu, więc możesz od razu zmienić zawartość magazynku, potrzebujesz też biblioteki cstrike
#include <cstrike>
i teraz możesz dać TMP z 10 nabojami
new ent = give_item(id, "weapon_tmp"); cs_set_weapon_ammo(ent, 10);//10 w magazynku cs_set_user_bpammo(id, CSW_TMP, 0); //0 w plecaku, więc nie przeładuje
żeby dać granat bierzesz z listy he
give_item(id, "weapon_hegrenade");
żeby dać kilka HE musisz najpierw dać 1, a potem ustawić w plecaku
cs_set_user_bpammo(id, CSW_HEGRENADE, kilka);
do losowania użyj random_num()
30% szans możesz uzyskać losując liczbę z przedzialu 1-100 i sprawdzić czy jest mniejsza lub równa 30
if(random_num(1, 100) <= 30){ //daj bron }
50 procent tak samo, tylko <= 50
hp ustawiasz set_user_health
#3
Napisano 02.01.2011 16:50
if (random_num(1, 10) <= 3)
{
give_item(id, "weapon_tmp");
new weapon_id = find_ent_by_owner(-1, "weapon_tmp", id);
if(weapon_id) cs_set_weapon_ammo(weapon_id, 10);
}
if (random_num(1, 10) <= 5)
{ give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
give_item(id, "item_assaultsuit");
set_user_health(id, 200);
Wrzuć to w jakiś event na starcie rundy / po wklepaniu komendy / inne.
Nie zapomnij o sprawdzaniu czy gracz jest vipem
EDIT: Choinka, był 1.
Użytkownik Dimni edytował ten post 02.01.2011 16:51
#4
Napisano 02.01.2011 17:42
switch(random_num(1, 10))
{
case 1..3: {
//..............
}
case 5..10: {
//..............
}
}
Używając kodu R3X'a i Dimni wyglądało by to tak:
public szanse(id)
{
// Tutaj warunek ktory sprawdzi czy gracz jest vipem np. flaga t
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
return PLUGIN_CONTINUE;
switch(random_num(1, 10))
{
case 1..3: {
new ent = give_item(id, "weapon_tmp");
cs_set_weapon_ammo(ent, 10);
cs_set_user_bpammo(id, CSW_TMP, 0);
}
case 5..10: {
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
}
give_item(id, "item_assaultsuit");
set_user_health(id, 200);
return PLUGIN_CONTINUE;
}
Nie użyłem dawania broni którego użył Dimni ponieważ potrzebna jest dodatkowa biblioteka engine.
Użytkownik byQQ edytował ten post 02.01.2011 17:42
Dziękuje, dobranoc.
#5
Napisano 02.01.2011 19:28
Dodano 02 styczeń 2011 - 21:04:
byQQ, to twoje nie działa
Znany jako oeN.
#6
Napisano 02.01.2011 22:13
Dziękuje, dobranoc.
#7
Napisano 03.01.2011 17:27
Znany jako oeN.
#8
Napisano 04.01.2011 15:16
Dziękuje, dobranoc.
#9
Napisano 06.01.2011 10:09
Znany jako oeN.
#10
Napisano 06.01.2011 19:36
if(!(get_user_flags(id) & ADMIN_LEVEL_H))
czyli dla wszystkich prócz gracza z flagą T.
Jeśli napisałem bzdurę to sorry nie znam się ;D
#11
Napisano 06.01.2011 23:35
@dla Ciebie 2 rozwiązanie:
public szanse(id)
{
// Tutaj warunek ktory sprawdzi czy gracz jest vipem np. flaga t
if(get_user_flags(id) & ADMIN_LEVEL_H)
{
switch(random_num(1, 10))
{
case 1..3: {
new ent = give_item(id, "weapon_tmp");
cs_set_weapon_ammo(ent, 10);
cs_set_user_bpammo(id, CSW_TMP, 0);
}
case 5..10: {
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_flashbang");
give_item(id, "weapon_smokegrenade");
}
}
give_item(id, "item_assaultsuit");
set_user_health(id, 200);
}
return PLUGIN_CONTINUE;
}
Użytkownik byQQ edytował ten post 06.01.2011 23:36
Dziękuje, dobranoc.
#12
Napisano 09.01.2011 20:04
Dodano 16 styczeń 2011 - 11:39:
To jak? Ktoś coś wymyśli?
Użytkownik Blood Angel edytował ten post 16.01.2011 11:41
Znany jako oeN.
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych