←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Jak zmienic ubranie na ubranie wroga? perk...

ChadaWGW2 - zdjęcie 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
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 29.04.2012

Ref
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 30.04.2012

Ref
Odpowiedz

  • +
  • -
dasiek - zdjęcie 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;
}

Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 01.05.2012

ale ja chce wiedziec jak dodac ;)
Odpowiedz

  • +
  • -
dasiek - zdjęcie dasiek 01.05.2012

To Sobie przeanalizuj.


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")
}
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 01.05.2012

a mógłbys napisac np. dodaj #include...
Odpowiedz

  • +
  • -
Eustachy8 - zdjęcie 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
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 02.05.2012

No dobra do zamknięcia
Odpowiedz

  • +
  • -
Eustachy8 - zdjęcie 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

[/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
Odpowiedz

ChadaWGW2 - zdjęcie 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
Odpowiedz

  • +
  • -
Eustachy8 - zdjęcie 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

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
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 02.05.2012

Ale jak ustaawic do ilu mu losuje?
Użytkownik ChadaWGW2 edytował ten post 02.05.2012 20:53
Odpowiedz

  • +
  • -
Eustachy8 - zdjęcie 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)
Odpowiedz

ChadaWGW2 - zdjęcie ChadaWGW2 03.05.2012

ok +
Odpowiedz