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

Niedziałająca wymiana 2 perkamiWymiana perkami na 2 sloty

cod nowy pomocy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
4 odpowiedzi w tym temacie

#1 wacho

    Pomocny

  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 11.10.2017 13:14

Witajcie ! 

 

Mam problem z pluginem do wymiany perków na 2 sloty. 

Gdy wymieniam pierwszy perk wszystko jest OK problem pojawia sie przy wymianie Perków z 2 slotu wtedy perk z z drugiego slota wedruje na miejsce 1 perku. 

 

Wszystkie dostępne na forum wymiany perków na 2 sloty mają ten sam problem. 

 

Czy jest tu ktoś kto potrafiłby sie z tym uporac? 

Załączone pliki


  • +
  • -
  • 0

#2 Linux'

    Pan Pomocny

  • Power User

Reputacja: 549
Wszechwiedzący

  • Postów:1 501
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:AmxMod i SourceMod
Offline

Napisano 11.10.2017 15:48

W public menu_wymien2(id, menu, item) zamien

switch(item)
	{
		case 0:
		{
		new wartosc1, wartosc2;
		new perk_oddajacego = cod_get_user_perk(id2, wartosc1, 1)
		new perk_dajacego = cod_get_user_perk(id, wartosc2, 1)
 
		cod_set_user_perk(id2, perk_dajacego, wartosc2, 1);
		cod_set_user_perk(id, perk_oddajacego, wartosc1, 1);
 
		dostal_przedmiot[id2][1] = true;
		dostal_przedmiot[id][1] = true;
 
		new nazwa_dajacego[64];
 
		get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))
 
		ColorChat(id, GREEN, "[J2G.PL]^x03 Wymieniles sie perkiem z %s.", data);
		ColorChat(id2, GREEN, "[J2G.PL]^x03 Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
	case 1: ColorChat(id2, GREEN, "[J2G.PL]^x03 Wybrany gracz nie zgodzil sie na wymiane perka.")
	}

na

switch(item)
	{
		case 0:
		{
		new wartosc1, wartosc2;
		new perk_oddajacego = cod_get_user_perk(id2, wartosc1, 1)
		new perk_dajacego = cod_get_user_perk(id, wartosc2, 1)
 
		cod_set_user_perk2(id2, perk_dajacego, wartosc2, 1);
		cod_set_user_perk2(id, perk_oddajacego, wartosc1, 1);
 
		dostal_przedmiot[id2][1] = true;
		dostal_przedmiot[id][1] = true;
 
		new nazwa_dajacego[64];
 
		get_user_name(id, nazwa_dajacego, charsmax(nazwa_dajacego))
 
		ColorChat(id, GREEN, "[J2G.PL]^x03 Wymieniles sie perkiem z %s.", data);
		ColorChat(id2, GREEN, "[J2G.PL]^x03 Wymieniles sie perkiem z %s.", nazwa_dajacego)
		}
	case 1: ColorChat(id2, GREEN, "[J2G.PL]^x03 Wybrany gracz nie zgodzil sie na wymiane perka.")
	}

Musialbys jeszcze dodac natyw cod_set_user_perk2 do include i oczywiscie do silnika coda, ustawiajac na nim zmiane perku 2 (public UstawPerk2 czy cos takiego).


  • +
  • -
  • 0

b35020692_qesnxqa.png


#3 wacho

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 11.10.2017 16:12

native cod_get_user_perk2(id, wartosc=0, lp=0);
/*------------------------------
Zwraca drugi perk gracza,
oraz przypisuje zmiennej wartosc wartosc drugi perka
lp jeśli wpiszemy 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/


native cod_set_user_perk2(id, perk, wartosc=-1, pokaz_info=1, lp=0);
/*------------------------------
Ustawia drugi perk gracza.
Jezeli wartosc = -1,
wartosc perku bedzie losowa.
Jezeli perk = -1 perk
bedzie losowy
lp jeśli wpiszemy 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/

forward cod_perk_changed2(id, perk, wartosc, lp);
/*------------------------------
Forward wysylany do wszystkich pluginów w momencie zmiany drugiego perka
lp - jaki perk, jeśli 0 to bedzie pierwszy perk, jeśli 1 to bedzie drugi perk
------------------------------*/

W silniku jest w jednej funkcji okreslone ustawianie perków 


public UstawPerk(id, perk, wartosc, pokaz_info, lp)
{
	if(!ilosc_perkow)
		return PLUGIN_CONTINUE;
	
	static obroty[33];
	
	if(obroty[id]++ >= 5)
	{
		obroty[id] = 0;
		UstawPerk(id, 0, 0, 0, lp);
		return PLUGIN_CONTINUE;
	}
	
	perk = (perk == -1)? random_num(1, ilosc_perkow): perk;
	if(perk == perk_gracza[!lp][id] && perk)
	{
		UstawPerk(id, perk, wartosc, pokaz_info, lp);
		return PLUGIN_CONTINUE;
	}
	wartosc = (wartosc == -1 || min_wartosci_perkow[perk] > wartosc ||  wartosc > max_wartosci_perkow[perk])? random_num(min_wartosci_perkow[perk], max_wartosci_perkow[perk]): wartosc;
	
	new ret;
	
	new forward_handle = CreateOneForward(pluginy_perkow[perk_gracza[lp][id]], "cod_perk_disabled", FP_CELL, FP_CELL);
	ExecuteForward(forward_handle, ret, id, perk);
	DestroyForward(forward_handle);
	
	perk_gracza[lp][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, lp);
		return PLUGIN_CONTINUE;
	}
	
	ExecuteForward( perk_zmieniony, ret, id, perk, wartosc, lp);
	
	if(ret == 4)
	{
		UstawPerk(id, -1, -1, 1, lp);
		return PLUGIN_CONTINUE;
	}
	
	obroty[id] = 0;
	if(pokaz_info &&  perk)
		client_print(id, print_chat, "[COD:MW] Zdobyles %s.", nazwy_perkow[perk]);
	
	perk_gracza[lp][id] = perk;	
	wartosc_perku_gracza[lp][id] = wartosc;
	return PLUGIN_CONTINUE;
}

Dziwi mnie to że działa mi np kupowanie perków na 1 i 2 slot a zamiana nie działa . 

 


  • +
  • -
  • 0

#4 wacho

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 12.10.2017 12:29

Pomoze ktos ?
  • +
  • -
  • 0

#5 wacho

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 17
Początkujący

  • Postów:64
  • GG:
  • Imię:Jakub
Offline

Napisano 16.10.2017 09:27

Ref
  • +
  • -
  • 0





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

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

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