Jak zmienic ubranie na ubranie wroga? perk...
ChadaWGW2
28.04.2012
Witam! Jak zrobic 1/x na zmienienie ubrania na wroga w perku i klasie oraz jak zrobic 1/x na pojawienie sie na respie przeciwnika
dasiek
01.05.2012
Perk
#include <amxmodx> #include <amxmisc> #include <codmod> #include <cstrike> #include <hamsandwich> #define PLUGIN "Kameleon/Przerobka" #define VERSION "1.0" #define AUTHOR "CheQ" #define SZANSA 2 new const nazwa[] = "Stroj kameleona"; new const opis[] = "Masz 1/2 na ubranie przeciwnika"; new Ubrania_CT[4][]={"sas","gsg9","urban","gign"}; new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"}; new bool:ma_klase[33]; public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) cod_register_perk(nazwa,opis) RegisterHam(Ham_Spawn, "player", "Odrodzenie", 1); } public cod_perk_enabled(id) ma_klase[id] = true; public cod_perk_disabled(id) ma_klase[id] = false; public Odrodzenie(id) { if((!ma_klase[id]) || (ma_klase[id] && random_num(1,SZANSA) != 1) || !is_user_alive(id)) return PLUGIN_CONTINUE; new num = random_num(0,3); switch(get_user_team(id)) { case CS_TEAM_T: cs_set_user_model(id,Ubrania_CT[num]) case CS_TEAM_CT: cs_set_user_model(id,Ubrania_Terro[num]) } return PLUGIN_CONTINUE; }
dasiek
01.05.2012
To Sobie przeanalizuj.
kod odpowiadający za zmiane ubrania. wymaga
można zrobić też bez tych Tablic
new num = random_num(0,3); switch(get_user_team(id)) { case CS_TEAM_T: cs_set_user_model(id,Ubrania_CT[num]) case CS_TEAM_CT: cs_set_user_model(id,Ubrania_Terro[num]) } return PLUGIN_CONTINUE; }
kod odpowiadający za zmiane ubrania. wymaga
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"}; new Ubrania_Terro[4][]={"arctic","leet","guerilla","terror"};
można zrobić też bez tych Tablic
switch(get_user_team(id)) { case CS_TEAM_T: cs_set_user_model(id,"sas") case CS_TEAM_CT: cs_set_user_model(id,"terror") }
Eustachy8
02.05.2012
opisał Ci bardzo dobrze, skoro tego nie rozumiesz, wróć do nauki podstaw języka i tworzeni pluginów
a co do samego perku, nie daje on możliwości zrespienia się na respie przeciwnika
a co do samego perku, nie daje on możliwości zrespienia się na respie przeciwnika
Eustachy8
02.05.2012
tzn mogę Ci wytłumaczyć co robią poszczególne linijki
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
tablica dwu wymiarowa
i pozniej w codzie wybiera z posrod 4 liczb i w zaleznosci od liczby taki model wybiera
new num = random_num(0,3); // losuje z liczb 0,1,2,3 i pozniej podstawa do komendy przez co wybiera model do podstawienia
switch(get_user_team(id)) // sprawdza jaki team jestes
{
case CS_TEAM_T: // jezeli TT to daje jeden z 4 modeli CT
cs_set_user_model(id,Ubrania_CT[num]) // tu podstawia
case CS_TEAM_CT: // a tutaj na odwrót
cs_set_user_model(id,Ubrania_Terro[num]) // i tutaj
}
w tym przypadku nie losuje modelu, lecz zawsze daje te same
switch(get_user_team(id))
{
case CS_TEAM_T:
cs_set_user_model(id,"sas")
case CS_TEAM_CT:
cs_set_user_model(id,"terror")
}
Użytkownik Eustachy8 edytował ten post 02.05.2012 14:38
new Ubrania_CT[4][]={"sas","gsg9","urban","gign"};
tablica dwu wymiarowa
[/color] [1] [sas] [2] [gsg9] [3] [urban] [4] [gign] [color=#666600]
i pozniej w codzie wybiera z posrod 4 liczb i w zaleznosci od liczby taki model wybiera
new num = random_num(0,3); // losuje z liczb 0,1,2,3 i pozniej podstawa do komendy przez co wybiera model do podstawienia
switch(get_user_team(id)) // sprawdza jaki team jestes
{
case CS_TEAM_T: // jezeli TT to daje jeden z 4 modeli CT
cs_set_user_model(id,Ubrania_CT[num]) // tu podstawia
case CS_TEAM_CT: // a tutaj na odwrót
cs_set_user_model(id,Ubrania_Terro[num]) // i tutaj
}
w tym przypadku nie losuje modelu, lecz zawsze daje te same
switch(get_user_team(id))
{
case CS_TEAM_T:
cs_set_user_model(id,"sas")
case CS_TEAM_CT:
cs_set_user_model(id,"terror")
}
Użytkownik Eustachy8 edytował ten post 02.05.2012 14:38
ChadaWGW2
02.05.2012
@UP Thx + a jak zrobic 1/LW na Np. Zabicie z He albo na pojawienie sie
Użytkownik ChadaWGW2 edytował ten post 02.05.2012 17:24
Użytkownik ChadaWGW2 edytował ten post 02.05.2012 17:24
Eustachy8
02.05.2012
public cod_perk_enabled(id, wartosc)
{
wartosc_perku[id] = wartosc;
dodajesz do enable zmienna np.; wartość, po prostu losuje mu LW
i później gdzieś w pluginie
Użytkownik Eustachy8 edytował ten post 02.05.2012 18:58
{
wartosc_perku[id] = wartosc;
dodajesz do enable zmienna np.; wartość, po prostu losuje mu LW
i później gdzieś w pluginie
if(ma_perk[attacker] && random_num(1, wartosc_perku[attacker]) == 1) { i tutaj cos co ma się dziać jeżeli zadziała 1/lw że coś, jeżeli chodzi o granat, to znajdz sobie gdzieś na forum, ponieważ na tym kompie co aktualnie jestem nie mam żadnej klasy, by Ci dokładny kod skopiować, ale jako teoria to powinno wystarczyć
Użytkownik Eustachy8 edytował ten post 02.05.2012 18:58
ChadaWGW2
02.05.2012
Ale jak ustaawic do ilu mu losuje?
Użytkownik ChadaWGW2 edytował ten post 02.05.2012 20:53
Użytkownik ChadaWGW2 edytował ten post 02.05.2012 20:53
Eustachy8
02.05.2012
LW to losowa, nie wiem chyba od 1/4 do 1/8 czy jakoś tak, niech mnie ktoś poprawi jak nie mam racji. A jeżeli sam chcesz ustawić to
if(ma_perk[attacker] && random_num(1, x) == 1)
X - liczba do ilu ma losować (4 to bedzie 1/4)
if(ma_perk[attacker] && random_num(1, x) == 1)
X - liczba do ilu ma losować (4 to bedzie 1/4)