←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Cameleon Do Ruletki...

Zablokowany

  • +
  • -
Lukasz5 - zdjęcie Lukasz5 05.05.2010

Chcę zrobić, aby był cameleon na ruletce w losowaniu, ale tak, że model TT może wylosować CT, a model CT może wylosować TT tylko jak to zrobić... :) Np.: cs_set_user_model(id, "ct") i tylko gracz z TT może to wylosować... :P
Odpowiedz

  • +
  • -
mgr inż. Pavulon - zdjęcie mgr inż. Pavulon 05.05.2010

nie możesz modelu "ct" dać, musisz dać któryś konkretny (1 z 4 dostępnych)
Odpowiedz

  • +
  • -
Lukasz5 - zdjęcie Lukasz5 05.05.2010

To jest przykład, bo i tak dam standardowe... :)
Czyli widzę, że da rady, ale jak? :D
Użytkownik Lukasz5 edytował ten post 05.05.2010 19:11
Odpowiedz

  • +
  • -
nad3jf - zdjęcie nad3jf 05.05.2010

Ja bym spróbował coś takiego: (musisz wypełnić nazwami modeli)

new losuj_model = random_num(0,4)
switch(losuj_model)
{
case 0:
{
cs_set_user_model(id,"nazwa_modelu")
}
case 1:
{
cs_set_user_model(id,"nazwa_modelu")
}
case 2:
{
cs_set_user_model(id,"nazwa_modelu")
}
case 3:
{
cs_set_user_model(id,"nazwa_modelu")
}
case 4:
{
cs_set_user_model(id,"nazwa_modelu")
}
}

Oczywiście zrobić osobno dla CT i TT i dodać if(get_user_team == 1) lub if(get_user_team == 2)
Użytkownik nad3jf edytował ten post 05.05.2010 19:22
Odpowiedz

Gość_deLL_* 05.05.2010

A ja bym zrobił tak:

public ruletka(id)
{
new team = get_user_team(id)

if(team = CS_TEAM_CT) losuj_ct(id)
else if(team = CS_TEAM_T) losuj_tt(id)
}

public losuj_ct(id)
{
switch(random_num(1, 2))
{
case 1: cs_set_user_model(id, "modelTT")
case 2: cs_set_user_model(id, "modelTT")
case 3: cs_set_user_model(id, "modelTT")
case 4: cs_set_user_model(id, "modelTT")
}
}

public losuj_tt(id)
{
switch(random_num(1, 2))
{
case 1: cs_set_user_model(id, "modelCT")
case 2: cs_set_user_model(id, "modelCT")
case 3: cs_set_user_model(id, "modelCT")
case 4: cs_set_user_model(id, "modelCT")
}
}

Użytkownik deLL edytował ten post 05.05.2010 19:26
Odpowiedz

  • +
  • -
Lukasz5 - zdjęcie Lukasz5 05.05.2010

A jeżeli chcę to zrobić razem w jednym case? Bo już mam sporo zrobionych funkcji i chcę aby to było case 21 i tt losuje model ct, a ct losuje tt i chcę aby jeden model był tylko z CT jak i TT... :D

Chodzi, że to może losować tylko CT:

case 21: {
					cs_set_user_model(id, "modelxx")
					set_hudmessage(10, 255, 40, -1.0, 0.20, 0, 6.0, 6.0, 0.5, 0.15, 3)
					show_hudmessage(0,"Cameleon")
				}

A to dla TT tylko:
case 22: {
					cs_set_user_model(id, "modelzz")
					set_hudmessage(10, 255, 40, -1.0, 0.20, 0, 6.0, 6.0, 0.5, 0.15, 3)
					show_hudmessage(0,"Cameleon")
				}

Użytkownik Lukasz5 edytował ten post 05.05.2010 19:38
Odpowiedz

  • +
  • -
nad3jf - zdjęcie nad3jf 05.05.2010

Nie można wewnątrz switch umieścić if. Czyli jest to nie możliwe.

Edit: Dell ty napisałeś:

public ruletka(id)
{
new team = get_user_team(id)

if(team = CS_TEAM_CT) losuj_ct(id)
else if(team = CS_TEAM_T) losuj_tt(id)
}

public losuj_ct(id)
{
switch(random_num(1, 2))
{
case 1: cs_set_user_model(id, "modelTT")
case 2: cs_set_user_model(id, "modelTT")
case 3: cs_set_user_model(id, "modelTT")
case 4: cs_set_user_model(id, "modelTT")
}
}

public losuj_tt(id)
{
switch(random_num(1, 2))
{
case 1: cs_set_user_model(id, "modelCT")
case 2: cs_set_user_model(id, "modelCT")
case 3: cs_set_user_model(id, "modelCT")
case 4: cs_set_user_model(id, "modelCT")
}
}

A nie powinno być:

public ruletka(id)
{
new team = get_user_team(id)

if(team = CS_TEAM_CT) losuj_ct(id)
else if(team = CS_TEAM_T) losuj_tt(id)
}

public losuj_ct(id)
{
switch(random_num(1, 4))
{
case 1: cs_set_user_model(id, "modelTT")
case 2: cs_set_user_model(id, "modelTT")
case 3: cs_set_user_model(id, "modelTT")
case 4: cs_set_user_model(id, "modelTT")
}
}

public losuj_tt(id)
{
switch(random_num(1, 4))
{
case 1: cs_set_user_model(id, "modelCT")
case 2: cs_set_user_model(id, "modelCT")
case 3: cs_set_user_model(id, "modelCT")
case 4: cs_set_user_model(id, "modelCT")
}
}

Użytkownik nad3jf edytował ten post 05.05.2010 19:37
Odpowiedz

Gość_deLL_* 05.05.2010

nad3jf, dzięki :D Zapomniałem zmienić :D

Łukasz, może tak:

public ruletka(id)
{
new team = cs_get_user_team(id)

if(team == CS_TEAM_CT)
{
switch(random_num(1, 4))
{
case 1: cs_set_user_model(id, "modelTT")
case 2: cs_set_user_model(id, "modelTT")
case 3: cs_set_user_model(id, "modelTT")
case 4: cs_set_user_model(id, "modelTT")
}
}

else if(team == CS_TEAM_T)
{
switch(random_num(1, 4))
{
case 1: cs_set_user_model(id, "modelCT")
case 2: cs_set_user_model(id, "modelCT")
case 3: cs_set_user_model(id, "modelCT")
case 4: cs_set_user_model(id, "modelCT")
}
}
}


:?::?:
Odpowiedz

  • +
  • -
Lukasz5 - zdjęcie Lukasz5 05.05.2010

I to się ładnie pokryję z ruletką (pozostałymi funkcjami?)
Odpowiedz

  • +
  • -
oclahoma - zdjęcie oclahoma 12.05.2010

To jak to wreszcie ma być :) + aby jeszcze napis był .. "Wyglądasz jak CT" -- (przykładowy napis )
Odpowiedz

  • +
  • -
G[o]Q - zdjęcie G[o]Q 12.05.2010

hmm a ja bym to zrobil tak :D

public set_model(id){
	new los=random_num(0,3)
	if (cs_get_user_team(id)==1) los+=4
	cs_set_user_model(id,modele[los]
}

i tablica globalna gdzies nad plugin_init

new modele[]={"ct1","ct2","ct3","ct4","tt1","tt2","tt3","tt4"}

gdzie ct1,ct2... itd wpisujesz modele odpowiednie :P
Odpowiedz

  • +
  • -
Lukasz5 - zdjęcie Lukasz5 13.05.2010

Ale jeżeli chcę to dodać jako next case (bo to ma być los) to się to połączy ładnie i jak gracz wylosuje case 21 to jak jest w CT to dostanie model TT?
Bo to chcę połączyć z innymi rzeczami... Tylko, że to będzie osobno dla TT i CT...
Odpowiedz
Zablokowany