←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zombie Plague 5.0
Jak dodać modele do danej klasy ludzi


Najlepsza odpowiedź kocurei 04.05.2017 21:46

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>


new ma_klase[33]

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}

public plugin_init()
{
	register_plugin("Klasy Ludzi", "1.2", "[AvP] ELOS & TheRock")
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
	register_clcmd("say /klasa", "WybierzLudzi");
}

public plugin_precache()
{
	new model[64]
	for(new i=1;i<5;i++)
	{
		formatex(model,63,"models/player/%s/%s.mdl",g_nazwy_modeli[i],g_nazwy_modeli[i])
		precache_model(model)
	}
}

public fwHamPlayerSpawnPost(id)	
{
	set_task(get_cvar_float("zp_delay")+0.2, "sprawdz",id)
}

public WybierzLudzi(id)
{
	new menu = menu_create("\rWybierz Klase Ludzi.", "WybierzLudziSelect");
	menu_additem(menu, "\wUzbrojony Cywil \y(Dostaje 40 pancerza)", "1", 0)
	menu_additem(menu, "\wSportowiec \y(Opis)", "2", 0)
	menu_additem(menu, "\wGrubas \y(Opis)", "3", 0)
	menu_additem(menu, "X-Men \y(Opis)", "4", ADMIN_LEVEL_H)
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	
	menu_display(id, menu, 0);
}
public WybierzLudziSelect(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:
		{
			if(ma_klase[id] == 1)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
				ma_klase[id] = 1
			}
		}
		case 2:
		{
			if(ma_klase[id] == 2)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie")
				ma_klase[id] = 2
			}
		}
		case 3:
		{
			if(ma_klase[id] == 3)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Grubas wybrana poprawnie")
				ma_klase[id] = 3
			}
		}
		case 4:
		{
			if(ma_klase[id] == 4)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa X-Men wybrana poprawnie")
				ma_klase[id] = 4
			}
		}
	}
	cs_set_user_model(id,g_nazwy_modeli[key])
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public DajMoce(id)
{
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 1)
	{
		set_user_armor(id, 40)
	}
	else
		if(ma_klase[id] == 2)
	{
		set_user_gravity(id, 0.50)
		set_user_maxspeed(id, 1.20)
	}
	else
		if(ma_klase[id] == 3)
	{
		set_user_health(id, 300)
	}
	else
		if(ma_klase[id] == 4)
	{
		set_user_armor(id, 200)
		set_user_health(id, 250)
		set_user_gravity(id, 0.50)
		set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,70)
	}
	return PLUGIN_HANDLED;
}
public sprawdz(id)
{
	DajMoce(id)
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 0)
	{
		WybierzLudzi(id)
	}
	return PLUGIN_HANDLED;
}

nazwe modelu BEZ sciezki wpisujesz tutaj

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}

 

Dzięki wielkie , jako tak działa tylko jest problem

Modele docelowe wczytują się wtedy kiedy cały czas zmieniam sobie klase poprzez menu, wtedy się wczytują 

Jak jestem zombie i zmienię sobie klase ludzi, to zmieni mi model zombiaka na model człowieka 

Co rundę zmienia się na skin z HL na Gordona 

Przejdź do postu

  • +
  • -
kocurei - zdjęcie kocurei 04.05.2017

Witam, tak jak w temacie, chciałbym aby każda klasa miała osobny model, ale nie mogę nigdzie znaleźć tutka, albo coś w tym stylu , próbowałem przepisywać coś z tutków na zmianę modeli z cod moda do siebie na zombie moda, ale nie wychodzi mi to, mógłby ktoś mi pomóc , chociaż napisać ,gdzie mam co wpisać , resztę chyba sobie dam radę sam  :lol: 

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>


new ma_klase[33]

public plugin_init()
{
register_plugin("Klasy Ludzi", "1.2", "[AvP] ELOS & TheRock")
RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
register_clcmd("say /klasa", "WybierzLudzi");
}

public fwHamPlayerSpawnPost(id)

{
set_task(get_cvar_float("zp_delay")+0.2, "sprawdz",id)
}

public WybierzLudzi(id)
{
new menu = menu_create("\rWybierz Klase Ludzi.", "WybierzLudziSelect");
menu_additem(menu, "\wUzbrojony Cywil \y(Dostaje 40 pancerza)", "1", 0)
menu_additem(menu, "\wSportowiec \y(Opis)", "2", 0)
menu_additem(menu, "\wGrubas \y(Opis)", "3", 0)
menu_additem(menu, "X-Men \y(Opis)", "4", ADMIN_LEVEL_H)

menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);

menu_display(id, menu, 0);
}
public WybierzLudziSelect(id, menu, item)
{
if (item == MENU_EXIT)
{
menu_destroy(menu);
return PLUGIN_HANDLED;
}
new data[6], iName[64];
new zaccess, callback;
menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
new key = str_to_num(data)

switch(key)
{
case 1:
{
if(ma_klase[id] == 1)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
ma_klase[id] = 1
}
}
case 2:
{
if(ma_klase[id] == 2)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie")
ma_klase[id] = 2
}
}
case 3:
{
if(ma_klase[id] == 3)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Grubas wybrana poprawnie")
ma_klase[id] = 3
}
}
case 4:
{
if(ma_klase[id] == 4)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa X-Men wybrana poprawnie")
ma_klase[id] = 4
}
}
}
menu_destroy(menu);
return PLUGIN_HANDLED;
}

public DajMoce(id)
{
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
return PLUGIN_HANDLED;
}
else
if(ma_klase[id] == 1)
{
set_user_armor(id, 40)
}
else
if(ma_klase[id] == 2)
{
set_user_gravity(id, 0.50)
set_user_maxspeed(id, 1.20)
}
else
if(ma_klase[id] == 3)
{
set_user_health(id, 300)
}
else
if(ma_klase[id] == 4)
{
set_user_armor(id, 200)
set_user_health(id, 250)
set_user_gravity(id, 0.50)
set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,70)
}
return PLUGIN_HANDLED;
}
public sprawdz(id)
{
DajMoce(id)
if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
{
return PLUGIN_HANDLED;
}
else
if(ma_klase[id] == 0)
{
WybierzLudzi(id)
}
return PLUGIN_HANDLED;
}
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 04.05.2017

w switchu w kazdym case: używaj cs_set_user_model, nie zapomnij dodać też plugin_precache z tymi modelami. reszte znajdziesz w dokumantacji ;)

 

 

i kod sobie wytabuluj bo masakracja

Odpowiedz

  • +
  • -
kocurei - zdjęcie kocurei 04.05.2017

w switchu w kazdym case: używaj cs_set_user_model, nie zapomnij dodać też plugin_precache z tymi modelami. reszte znajdziesz w dokumantacji ;)

 

 

i kod sobie wytabuluj bo masakracja

switch(key)
{

cs_set_user_model(id, "model");

{

public plugin_precache()

{

precache_model("models/player/model/model.mdl")

}

case 1:
{
if(ma_klase[id] == 1)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
ma_klase[id] = 1

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 04.05.2017

w switchu w kazdym case: używaj cs_set_user_model

https://amxx.pl/doku..._set_user_model

 

 

plugin precache do osobna funkcja, służąca do precachowania plików. https://amxx.pl/doku...plugin_precache

 

 

 

Odpowiedz

  • +
  • -
kocurei - zdjęcie kocurei 04.05.2017

w switchu w kazdym case: używaj cs_set_user_model

https://amxx.pl/doku..._set_user_model

 

 

plugin precache do osobna funkcja, służąca do precachowania plików. https://amxx.pl/doku...plugin_precache

switch(key)
{
case 1:
{
	cs_set_user_model( index, "kaskader")
	public plugin_precache()
{
	precache_model("models/player/kaskader/kaskader.mdl")
}
if(ma_klase[id] == 1)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
ma_klase[id] = 1

}
}
case 2:
{
	cs_set_user_model( index, "usmarine")
	public plugin_precache()
{
	precache_model("models/player/usmarine/usmarine.mdl")
}
if(ma_klase[id] == 2)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie")
ma_klase[id] = 2
}
}
case 3:
{
	cs_set_user_model( index, "wojskowy")
	public plugin_precache()
{
	precache_model("models/player/wojskowy/wojskowy.mdl")
}
if(ma_klase[id] == 3)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa Grubas wybrana poprawnie")
ma_klase[id] = 3
}
}
case 4:
{
	cs_set_user_model( index, "szturmowiec")
	public plugin_precache()
{
	precache_model("models/player/szturmowiec/szturmowiec.mdl")
}
if(ma_klase[id] == 4)
{
client_print(id, print_chat, "To jest twoja aktualna klasa")
}
else
{
client_print(id, print_chat, "Klasa X-Men wybrana poprawnie")
ma_klase[id] = 4

Lipa ;/

 


Użytkownik kocurei edytował ten post 04.05.2017 19:32
Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 04.05.2017

Jak nie umiesz kompletnie to zapraszam do działu tutoriale.

 

Precache to osobna funkcja, model precachujesz raz na całą mape, potem możesz go używać.

 

Polecam posprawdzać sobie przykładowe pluginy i zobaczyć jak one zarządzają modelami.

 

Tu moja pomoc się kończy

Odpowiedz

  • +
  • -
rzeznik9871 - zdjęcie rzeznik9871 04.05.2017

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>


new ma_klase[33]

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}

public plugin_init()
{
	register_plugin("Klasy Ludzi", "1.2", "[AvP] ELOS & TheRock")
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
	register_clcmd("say /klasa", "WybierzLudzi");
}

public plugin_precache()
{
	new model[64]
	for(new i=1;i<5;i++)
	{
		formatex(model,63,"models/player/%s/%s.mdl",g_nazwy_modeli[i],g_nazwy_modeli[i])
		precache_model(model)
	}
}

public fwHamPlayerSpawnPost(id)	
{
	set_task(get_cvar_float("zp_delay")+0.2, "sprawdz",id)
}

public WybierzLudzi(id)
{
	new menu = menu_create("\rWybierz Klase Ludzi.", "WybierzLudziSelect");
	menu_additem(menu, "\wUzbrojony Cywil \y(Dostaje 40 pancerza)", "1", 0)
	menu_additem(menu, "\wSportowiec \y(Opis)", "2", 0)
	menu_additem(menu, "\wGrubas \y(Opis)", "3", 0)
	menu_additem(menu, "X-Men \y(Opis)", "4", ADMIN_LEVEL_H)
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	
	menu_display(id, menu, 0);
}
public WybierzLudziSelect(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:
		{
			if(ma_klase[id] == 1)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
				ma_klase[id] = 1
			}
		}
		case 2:
		{
			if(ma_klase[id] == 2)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie")
				ma_klase[id] = 2
			}
		}
		case 3:
		{
			if(ma_klase[id] == 3)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Grubas wybrana poprawnie")
				ma_klase[id] = 3
			}
		}
		case 4:
		{
			if(ma_klase[id] == 4)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa X-Men wybrana poprawnie")
				ma_klase[id] = 4
			}
		}
	}
	cs_set_user_model(id,g_nazwy_modeli[key])
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public DajMoce(id)
{
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 1)
	{
		set_user_armor(id, 40)
	}
	else
		if(ma_klase[id] == 2)
	{
		set_user_gravity(id, 0.50)
		set_user_maxspeed(id, 1.20)
	}
	else
		if(ma_klase[id] == 3)
	{
		set_user_health(id, 300)
	}
	else
		if(ma_klase[id] == 4)
	{
		set_user_armor(id, 200)
		set_user_health(id, 250)
		set_user_gravity(id, 0.50)
		set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,70)
	}
	return PLUGIN_HANDLED;
}
public sprawdz(id)
{
	DajMoce(id)
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 0)
	{
		WybierzLudzi(id)
	}
	return PLUGIN_HANDLED;
}

nazwe modelu BEZ sciezki wpisujesz tutaj

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}
Odpowiedz

  • +
  • -
kocurei - zdjęcie kocurei 04.05.2017

+


Użytkownik kocurei edytował ten post 04.05.2017 21:43
Odpowiedz

  • +
  • -
Najlepsza odpowiedź kocurei - zdjęcie kocurei 04.05.2017

#include <amxmodx>
#include <cstrike>
#include <fun>
#include <fakemeta>
#include <hamsandwich>
#include <zombieplague>


new ma_klase[33]

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}

public plugin_init()
{
	register_plugin("Klasy Ludzi", "1.2", "[AvP] ELOS & TheRock")
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
	register_clcmd("say /klasa", "WybierzLudzi");
}

public plugin_precache()
{
	new model[64]
	for(new i=1;i<5;i++)
	{
		formatex(model,63,"models/player/%s/%s.mdl",g_nazwy_modeli[i],g_nazwy_modeli[i])
		precache_model(model)
	}
}

public fwHamPlayerSpawnPost(id)	
{
	set_task(get_cvar_float("zp_delay")+0.2, "sprawdz",id)
}

public WybierzLudzi(id)
{
	new menu = menu_create("\rWybierz Klase Ludzi.", "WybierzLudziSelect");
	menu_additem(menu, "\wUzbrojony Cywil \y(Dostaje 40 pancerza)", "1", 0)
	menu_additem(menu, "\wSportowiec \y(Opis)", "2", 0)
	menu_additem(menu, "\wGrubas \y(Opis)", "3", 0)
	menu_additem(menu, "X-Men \y(Opis)", "4", ADMIN_LEVEL_H)
	
	menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
	
	menu_display(id, menu, 0);
}
public WybierzLudziSelect(id, menu, item)
{
	if (item == MENU_EXIT)
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64];
	new zaccess, callback;
	menu_item_getinfo(menu, item, zaccess, data,5, iName, 64, callback);
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1:
		{
			if(ma_klase[id] == 1)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Uzbrojony Cywil wybrana poprawnie")
				ma_klase[id] = 1
			}
		}
		case 2:
		{
			if(ma_klase[id] == 2)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Sportowiec wybrana poprawnie")
				ma_klase[id] = 2
			}
		}
		case 3:
		{
			if(ma_klase[id] == 3)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa Grubas wybrana poprawnie")
				ma_klase[id] = 3
			}
		}
		case 4:
		{
			if(ma_klase[id] == 4)
			{
				client_print(id, print_chat, "To jest twoja aktualna klasa")
			}
			else
			{
				client_print(id, print_chat, "Klasa X-Men wybrana poprawnie")
				ma_klase[id] = 4
			}
		}
	}
	cs_set_user_model(id,g_nazwy_modeli[key])
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public DajMoce(id)
{
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 1)
	{
		set_user_armor(id, 40)
	}
	else
		if(ma_klase[id] == 2)
	{
		set_user_gravity(id, 0.50)
		set_user_maxspeed(id, 1.20)
	}
	else
		if(ma_klase[id] == 3)
	{
		set_user_health(id, 300)
	}
	else
		if(ma_klase[id] == 4)
	{
		set_user_armor(id, 200)
		set_user_health(id, 250)
		set_user_gravity(id, 0.50)
		set_user_rendering(id,kRenderFxNone,0,0,0,kRenderTransAlpha,70)
	}
	return PLUGIN_HANDLED;
}
public sprawdz(id)
{
	DajMoce(id)
	if(zp_get_user_zombie(id) || zp_get_user_nemesis(id) || zp_get_user_survivor(id))
	{
		return PLUGIN_HANDLED;
	}
	else
		if(ma_klase[id] == 0)
	{
		WybierzLudzi(id)
	}
	return PLUGIN_HANDLED;
}

nazwe modelu BEZ sciezki wpisujesz tutaj

new g_nazwy_modeli[][] = {" ","Model1","Model2","Model3","Model4"}

 

Dzięki wielkie , jako tak działa tylko jest problem

Modele docelowe wczytują się wtedy kiedy cały czas zmieniam sobie klase poprzez menu, wtedy się wczytują 

Jak jestem zombie i zmienię sobie klase ludzi, to zmieni mi model zombiaka na model człowieka 

Co rundę zmienia się na skin z HL na Gordona 

Odpowiedz