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

Pytanie dotyczące sklepu


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

#1 NAVIK

    Pomocny

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:43
  • Imię:Damian
Offline

Napisano 20.10.2016 13:12

Witaj jak stworzyć kupno modelu w sklepie . Piszę tu poniewaz nie mogę znaleźć pomocy w dokumentacji

mam następujący kod 

		case 0:
		{
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
				cs_set_user_model( index, "v_blackwhite.mdl");
				client_print(id, print_chat, "[COD:MW] Kupiles Skina!");
			}
			else
				client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
		}

Lecz ta funkcja mi nie działa jaka funkcja odpwieda za zmiane modela broni? 


  • +
  • -
  • 0

#2 NEQU#

    Wszechpomocny

  • Użytkownik

Reputacja: 54
Pomocny

  • Postów:363
  • GG:
Offline

Napisano 20.10.2016 14:01

Nie jestem w tym dobry, ale zakładam że musisz stworzyć funkcję bool, np.
 
pod includami dodaj
 
new bool:kupil_skina[33] 
 
		case 0:
		{
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
				cs_set_user_model( index, "v_blackwhite.mdl");
				client_print(id, print_chat, "[COD:MW] Kupiles Skina!");
			}
			else
				client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
		}

zamień na

		case 0:
		{
			if(kasa >= 10 && !kupil_skina[id])
			{
				cod_set_user_coins(id, kasa-10);
				kupil_skina[id] = true
				podmianaskina(id)
				client_print(id, print_chat, "[COD:MW] Kupiles Skina!");
			}
			else
				client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
		}

i gdzieś na dole dodaj

public podmianaskina(id)
{
	if(kupil_skina[id])
	{
	cs_set_user_model( index, "v_blackwhite.mdl");
	}
}

Nie wiem czy zadziała, ale może chociaż pomoże Ci to rozwiązać twój problem.

 


Użytkownik NEQU# edytował ten post 20.10.2016 14:04

  • +
  • -
  • 0

#3 NAVIK

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:43
  • Imię:Damian
Offline

Napisano 20.10.2016 14:04

 

Nie jestem w tym dobry, ale zakładam że musisz stworzyć funkcję bool, np.
 
pod includami dodaj
 
new bool:kupil_skina[33] 
 
		case 0:
		{
			if(kasa >= 10)
			{
				cod_set_user_coins(id, kasa-10);
				cs_set_user_model( index, "v_blackwhite.mdl");
				client_print(id, print_chat, "[COD:MW] Kupiles Skina!");
			}
			else
				client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
		}

zamień na

		case 0:
		{
			if(kasa >= 10 && !kupil_skina[id])
			{
				cod_set_user_coins(id, kasa-10);
				kupil_skina[id] = true
				podmianaskina(id)
				client_print(id, print_chat, "[COD:MW] Kupiles Skina!");
			}
			else
				client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo hajsu!");
		}

i gdzieś na dole dodaj

public podmianaskina(id)
{
	if(kupil_skina[id])
	{
	cs_set_user_model( index, "v_blackwhite.mdl");
	}
}

Nie wiem czy zadziała, ale może chociaż pomoże Ci to rozwiązać twój problem.

 

Niestety nie trybi 


  • +
  • -
  • 0

#4 RomanHardcor

    Jestem Mistrzem :D

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:289
  • GG:
  • Imię:Roman
  • Lokalizacja:Bełchatów
Offline

Napisano 20.10.2016 15:15

Ty chcesz zmienić model broni czy postaci?

Bo jeśli postaci to natyw dobry ale źle użyty.

Np jeśli model postaci ma nazwę model321 to musi on być umieszczony w /models/player/model321/model321.mdl 

Ale używamy to wtedy już tak cs_set_user_model(id, "model321"); ponieważ już jakby to powiedzieć... Samo ustala ścieżkę od /models/player/nazwamodelu/nazwamodelu.mdl

I nie piszemy w tym natywie końcówki .mdl

 

Natomiast jeśli mówimy o modelu broni robimy to np ja sobie tak zrobiłem w vipie.

Ten kod umieściłem sobie na samej górze a niżej wytłumaczę Ci jak poprawnie zrobić by zmieniało.

Oczywiście możesz sobie ścieżkę od razu do kodu wprowadzić ;P

new const MDL_P_LOM[]  = "models/vip/p_lom.mdl";
new const MDL_V_LOM[]  = "models/vip/v_lom.mdl";
entity_set_string(id, EV_SZ_viewmodel, MDL_V_LOM);   // Odpowiada za zmiane modelu widzianego z 1 osoby
entity_set_string(id, EV_SZ_weaponmodel, MDL_P_LOM); // Odpowiada za zmiane modelu widzianego z 3 osoby

Niby mógłbyś umieścić owy kod w swoim sklepie ale nie do końca będzie działać bo jeśli ktoś zmieni broń i z powrotem na tą broń gdzie ma być zmieniony model to będzie podstawowy model ustawiony.

A więc robimy tak, dopisujesz ten kod w funkcji plugin_init

register_event("CurWeapon", "event_modele", "be", "1=1") //Ten event wychwytuje moment zmiany broni

I tworzysz sobie funkcje event_modele może się u Ciebie nazywać inaczej to tylko przykład.

Załóżmy że mam na górze stworzoną zmienną stałą czyli coś takiego.

new const MDL_P_M4A1[]  = "models/Blantever/p_m4.mdl";
new const MDL_V_M4A1[]  = "models/Blantever/v_m4.mdl";

A w funkcji event_modele robimy coś takiego.

public event_modele(id)
{
	if(get_user_weapon(id) == CSW_M4A1 && ma_m4[id])
	{
        entity_set_string(id, EV_SZ_viewmodel, MDL_V_LOM);
        entity_set_string(id, EV_SZ_weaponmodel, MDL_P_LOM);
	}
}

Ten warunek oznacza, że wykona się funkcja niżej jeśli ma określoną broń i zmienna jest ustawiona na true a więc na górze pod bibliotekami dodajemy także zmienną.

new bool: ma_m4[33];

Oczywiście możesz sobie zmienić model innej broni, tutaj masz nazwy broni do warunku get_user_weapon oczywiście chodzi o te z przedrostkiem CSW_ czyli w kolumnie "name".

https://amxx.pl/topi...ive-item-speed/

 

Powodzenia, starałem się wytłumaczyć najlepiej jak umiem ;P

 

//EDIT

A i zapomniałem o najważniejszym, w case dajesz taki kod np jeśli zmienna nazywa się ma_m4.

ma_m4[id] = true;

Przykładowe użycie w pluginie zmiany modelu, np tutaj jest, że sprawdza na początku rundy kto ma 6 fragów lub więcej i ustawia wtedy zmienną na true czyli na 1.

Załączony plik  przyklad2.sma   742 bajtów  23 Ilość pobrań
  przyklad2.amxx


Użytkownik RomanHardcor edytował ten post 20.10.2016 15:36

  • +
  • -
  • 0

Znajomosć -> PAWN | CSS | HTML 

 

 

Blantever.PL

 

Master Yoga to mój autorytet. 


#5 NAVIK

    Pomocny

  • Autor tematu
  • Użytkownik

Reputacja: 1
Nowy

  • Postów:43
  • Imię:Damian
Offline

Napisano 20.10.2016 16:22

Nakierowałeś mnie aczkolwiek stoje znów mam taki kod 

#include <amxmodx>
#include <amxmisc>
#include <engine>
#include <cstrike>
#include <engine>

new gSoundShop[] = "cod/witajsklep.wav";

new bool:ma_m4[33];
new const MDL_P_M4A1[]  = "models/Blantever/p_m4.mdl";
new const MDL_V_M4A1[]  = "models/Blantever/v_m4.mdl";

native cod_set_user_coins(id, wartosc);
native cod_get_user_coins(id);

public plugin_init()
{
	register_clcmd("say /sklep", "cmd_menu");
	register_clcmd("say sklep", "cmd_menu");
	register_clcmd("say /shop", "cmd_menu");
	register_plugin("model", "1.0", "RomanHardcor");
	register_event("CurWeapon", "event_modele", "be", "1=1")
}

public cmd_menu(id)
{
	client_cmd(id,"spk %s",gSoundShop);
	if(is_user_alive(id))
	{
		menu_l1(id);
	}
	else
	{
		ColorChat(id, RED, "[INFO] Aby uzywac /sklepu musisz byc zywy!");
	}
	return PLUGIN_HANDLED;
}

stock menu_l1(id)
{
	new menu = menu_create("SKLEP By NiXeL", "menu_m4a1a");
	
	menu_additem(menu, "\r[M4A1] \ySkin do broni");//1
	menu_display(id, menu);
	client_cmd(id, "spk MUZYKA");
	
}

public menu_m4a1a(id, menu, item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu);
		return;
	}
	switch(item)
	{
		case 0:
		{
			if(is_user_alive(id))
				menu_m4a1(id);
		}
	}
	menu_destroy(menu);
}

stock menu_m4a1(id)
{
	new menu = menu_create("[M4A1] Skin do broni:", "menu_l2q_a");
	menu_additem(menu, "DragonKing \yKoszt: \r[10m]");//1
	menu_display(id, menu);
}

public event_modele(id)
{
	if(!is_user_alive(id) || !is_user_connected(id))
		return PLUGIN_CONTINUE;

	new kasa = cod_get_user_coins(id)
	case 0:
		{
		if(kasa >= 15)
		{
		cod_set_user_coins(id, kasa-15);
		if(get_user_weapon(id) == CSW_M4A1 && ma_m4[id])
		{
        entity_set_string(id, EV_SZ_viewmodel, MDL_V_M4A1);
        entity_set_string(id, EV_SZ_weaponmodel, MDL_P_M4A1);
		}
		client_print(id, print_chat, "[COD:MW] Kupiles skin!");
		}
		else
			client_print(id, print_chat, "[COD:MW] Zapomnij, masz za malo monet!");
}

błąd przy kompilacji przy linijce public event_modele(id)


  • +
  • -
  • 0

#6 RomanHardcor

    Jestem Mistrzem :D

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:289
  • GG:
  • Imię:Roman
  • Lokalizacja:Bełchatów
Offline

Napisano 20.10.2016 17:43

Powiem Ci szczerze, że nie zbyt ogarniam ten kod bo pełno stocków ale zaraz Ci zrobię taki przykładowy sklep i zaraz edytuję posta i Ci pokaże jak to ma wyglądać.

A coś Ty odwalił w event_modele to ja nie wiem :D

Miałeś dać w case menu z modelami  a kod event_modele nie ruszać dosłownie chyba że po to by zmienić broń gdzie ma się model zmienić.

Więc tak jak mówię, lookaj tutaj bo edytuje ten post ;P


  • +
  • -
  • 0

Znajomosć -> PAWN | CSS | HTML 

 

 

Blantever.PL

 

Master Yoga to mój autorytet. 


#7 RomanHardcor

    Jestem Mistrzem :D

  • Użytkownik

Reputacja: 37
Życzliwy

  • Postów:289
  • GG:
  • Imię:Roman
  • Lokalizacja:Bełchatów
Offline

Napisano 20.10.2016 18:07

Przepraszam za post pod postem lecz nie mogę już edytować poprzedniego choć dużo czasu nie minęło.

Sprawdź to, pisane na szybko więc mogą się wkraść drobne błędy ale myślę że ogarniesz o co chodzi bo trochę źle żeś zrobił według tego mojego "poradnika".

Jak nie będziesz ogarniał to pisz a ja tymczasem idę do sklepu to odczytam jak wrócę ;)

Załączony plik  przyklad2.sma   2,09 KB  16 Ilość pobrań
  przyklad2.amxx


  • +
  • -
  • 0

Znajomosć -> PAWN | CSS | HTML 

 

 

Blantever.PL

 

Master Yoga to mój autorytet. 





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

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