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
 

Zdjęcie
CoD Nowy

Problem z perkami.

cod nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
Brak odpowiedzi do tego tematu

#1 Czaso Umilacz

    Profesjonalista

  • Użytkownik

Reputacja: 38
Życzliwy

  • Postów:152
  • Imię:Olek
  • Lokalizacja:Leszno
Offline

Napisano 10.06.2012 09:38

Witam, mam mianowicie problem że jak koleś zabije drugiego i dostanie np perk A i go wyrzuci, po czy zabije kolejnego i znowu dostanie perk A dostaje 3x doświadczenie za zabicie i 3x perk, tak jak by client_deatch było wywoływane 3x, podaje kod od client_deatch oraz UstawPerk:

Ustaw perk:
public UstawPerk(id, perk, wartosc, pokaz_info)
{
if(!ilosc_perkow)
  return PLUGIN_CONTINUE;

new wytrzym;
static obroty[33];

if(obroty[id]++ >= 5)
{
  UstawPerk(id, 0, 0, 0);
  obroty[id] = 0;
  return PLUGIN_CONTINUE;
}

perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc;
wytrzym = (wytrzym == -1 || min_wytrzymalosc_perkow[perk] > wytrzym ||  wytrzym > max_wytrzymalosc_perkow[perk])? random_num(min_wytrzymalosc_perkow[perk], max_wytrzymalosc_perkow[perk]): wytrzym;

new ret;

new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[id]], "cod_perk_disabled", FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, perk);
DestroyForward(forward_handle);

perk_gracza[id] = 0;

forward_handle = CreateOneForward(pluginy_perkow[perk], "cod_perk_enabled", FP_CELL, FP_CELL, FP_CELL);
ExecuteForward(forward_handle, ret, id, wartosc, perk);
DestroyForward(forward_handle);

if(ret == 4)
{
  UstawPerk(id, -1, -1, 1);
  return PLUGIN_CONTINUE;
}

ExecuteForward(perk_zmieniony, ret, id, perk, wartosc);

if(ret == 4)
{
  UstawPerk(id, -1, -1, 1);
  return PLUGIN_CONTINUE;
}

perk_gracza[id] = perk;
wartosc_perku_gracza[id] = wartosc;
wytrzymalosc_perku[id] = wytrzym;

obroty[id] = 0;

if(pokaz_info && perk_gracza[id])
  ColorChat(id, GREEN, "[COD:MW3]^x01 Zdobyles ^x04%s.", nazwy_perkow[perk_gracza[id]]);

return PLUGIN_CONTINUE;
}

client_deatch

public Death(){
new attacker = read_data(1);
new id = read_data(2);

if(!is_user_alive(attacker) || !is_user_connected(attacker))
  return PLUGIN_CONTINUE;

if(get_user_team(id) != get_user_team(attacker) && klasa_gracza[attacker])
{
  new nowe_monety = 0;
  new nowe_doswiadczenie = 0;

  nowe_monety += monety_za_zabojstwo;
  nowe_doswiadczenie += doswiadczenie_za_zabojstwo;

  if(poziom_gracza[id] > poziom_gracza[attacker])
   nowe_doswiadczenie += poziom_gracza[id] - poziom_gracza[attacker];

  if(!perk_gracza[attacker])
   UstawPerk(attacker, -1, -1, 1);

  if(perk_gracza[id]){
   wytrzymalosc_perku[id] -= uszkodzenia_po_smierci;
  
   if(wytrzymalosc_perku[id] < 1){
	ColorChat(id, GREEN, "[COD:MW3]^x01 Perk ^x04 %s^x01 ulegl zniszczeniu.", nazwy_perkow[perk_gracza[id]]);
	UstawPerk(id, 0, 0, 0);
   }
  }

  monety_gracza[attacker] += nowe_monety;
  doswiadczenie_gracza[attacker] += nowe_doswiadczenie;

  ColorChat(attacker, GREEN, "[COD:MW3]^x01 Dostales ^x04+%i^x01 doswiadczenia oraz ^x04+%i^x01 monet za ^x04zabojstwo", nowe_doswiadczenie, nowe_monety);
}
SprawdzPoziom(attacker);

return PLUGIN_CONTINUE;
}

Wie ktoś w czym jest sęk?

Użytkownik Czaso Umilacz edytował ten post 10.06.2012 09:46

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: cod nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych