Skocz do zawartości

  • Zaloguj korzystając z Facebooka Zaloguj korzystając z Twittera Zaloguj przez Steam Zaloguj poprzez Google      Logowanie »   
  • Rejestracja

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

Losowe nazwy teamów


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

#1 MarvV

    Pomocny

  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 01.05.2013 16:38

Witam.

Posiadam plugin SoccerJam by Miczu i mam problem, a mianowicie chciałbym zrobić tak, aby wybierało losową nazwę dla CT i dla TT co mape. Np. byłyby po 3 do wyboru dla każdej z drużyn i między nimi by wybierało.

Myślę, że coś trzeba zrobić z tą linjką 96-101:



static const TeamNames[TEAMS][] = {
	"NULL",
	"Terr",	//Terrorist Team
	"CT",	//CT Team
	"NULL"
}

Proszę o pomoc w rozwiązaniu problemu. Załączam plik sma

 

Załączone pliki



#2 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 01.05.2013 16:51

CT i dla TT co mape

 

Nick ?


Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#3 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 01.05.2013 17:45

Tutaj chodzi o nazwy teamów wyświetlane w HUD, aby były losowe

 

Dla przykładu:

http://img842.images...rjam0000kd8.jpg



#4 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 01.05.2013 17:58

no to zmieniasz tutaj:

static const TeamNames[TEAMS][] = {
    "NULL",
    "Terr",    //Terrorist Team
    "CT",    //CT Team
    "NULL"
}
 

 

Ale jescze jedno pytanie. Jak losowe ? Chodzi Ci o drużyny ?


Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#5 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 01.05.2013 20:39

Tak, o ich nazwy.

Jak np. jest napisane "Terr", to chciałbym, aby były 3 do wyboru tj. Terr1, Terr2, Terr3 i losowałoby jedną z nazw, która potem zostałaby wyświetlana.



#6 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 04.05.2013 00:00

Najprościej:
  • zmieniasz z:
    static const TeamNames[TEAMS][] = {
        "NULL",
        "Terr",    //Terrorist Team
        "CT",    //CT Team
        "NULL"
    }
    na:
    new TeamNames[TEAMS][MAX_TEAM_LEN] = {
        "NULL",
        "Terr",    //Terrorist Team
        "CT",    //CT Team
        "NULL"
    }
  • dodajesz przed powyższym:
    #define MAX_TEAM_LEN 64
    #define TEAM_NAMES_AMT 3
    static const CtTeamNames[TEAM_NAMES_AMT][MAX_TEAM_LEN] = {
        "Manchester United",
        "Wisla Krakow",
        "Chelsea Londyn"
    }
    
    static const TtTeamNames[TEAM_NAMES_AMT][MAX_TEAM_LEN] = {
        "Legia Warszawa",
        "Real Madryt",
        "Borussia Dortmund"
    }
  • Dodajesz w plugin_init lub w plugin_cfg (lepiej w tym 2gim):
    copy(CtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[2], MAX_TEAM_LEN-1)
    copy(TtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[1], MAX_TEAM_LEN-1)

Użytkownik GwynBleidD edytował ten post 04.05.2013 00:02

  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#7 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 04.05.2013 11:51

GwynBleidD, zrobiłem tak jak mi napisałeś jednak podczas kompilacji wyskakuje mi błąd odnośnie argumentu 2 w tej funkcji:

copy(CtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[2], MAX_TEAM_LEN-1)
copy(TtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[1], MAX_TEAM_LEN-1) 

Błąd:

sj.sma(804) : error 035: argument type mismatch (argument 2)
sj.sma(805) : warning 217: loose indentation
sj.sma(805) : error 035: argument type mismatch (argument 2)
sj.sma(806) : warning 217: loose indentation


#8 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 04.05.2013 12:04

pomylił się. zamień
copy(CtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[2], MAX_TEAM_LEN-1)
copy(TtTeamNames[random(TEAM_NAMES_AMT)], TeamNames[1], MAX_TEAM_LEN-1)
na
copy(CtTeamNames[random(TEAM_NAMES_AMT)], MAX_TEAM_LEN-1, TeamNames[2])
copy(TtTeamNames[random(TEAM_NAMES_AMT)], MAX_TEAM_LEN-1, TeamNames[1])

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#9 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 04.05.2013 16:18

Wpisałem wszystko tak jak należy, jednak nadal w HUD wyświetla mi: Terr oraz CT... W czym problem ?



#10 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 04.05.2013 16:55

zamień
format(scoreboard,1024,"   %i %L^n%s - %i  |  %s - %i ^n%L %i ^n^n%s^n^n^n%s",get_pcvar_num(CVAR_SCORE),id,"GOALS_WINS",TeamNames[T],score_t,TeamNames[CT],score_ct,id,"EXPERIENCE",g_Experience[id],temp1,team==bteam?temp2:"")
na
format(scoreboard,1024,"   %i %L^n%s - %i  |  %s - %i ^n%L %i ^n^n%s^n^n^n%s",get_pcvar_num(CVAR_SCORE),id,"GOALS_WINS",TtTeamNames[random(TEAM_NAMES_AMT)],score_t,copy(CtTeamNames[random(TEAM_NAMES_AMT)],score_ct,id,"EXPERIENCE",g_Experience[id],temp1,team==bteam?temp2:"")

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#11 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 04.05.2013 17:37

Gdy tak ustawiłem, to wszystko mi zaczęło mrygać w HUDZIE tj. nazwy drużyn zmieniają się co sekundę

Poczekam na GwynBleidD'a może coś poradzi.

 



#12 GT Team

    Ten lepszy xD

  • Zbanowany

Reputacja: 321
Wszechpomocny

  • Postów:1435
  • GG:
  • Imię:Tomasz i Grzegorz
  • Lokalizacja:Wojkowice
Offline

Napisano 04.05.2013 17:49

aaaaa juz wiem :P Zignrouj tzn przywróć to co Ci napisałem i zamiast
copy(CtTeamNames[random(TEAM_NAMES_AMT)], MAX_TEAM_LEN-1, TeamNames[2])
copy(TtTeamNames[random(TEAM_NAMES_AMT)], MAX_TEAM_LEN-1, TeamNames[1])
daj
copy(TeamNames[2], MAX_TEAM_LEN-1, CtTeamNames[random(TEAM_NAMES_AMT)])
copy(TeamNames[1], MAX_TEAM_LEN-1, TtTeamNames[random(TEAM_NAMES_AMT)])

Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości

 


#13 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 05.05.2013 03:19

Pomieszała mi się kolejność argumentów w copy. tak to już jest, jak się pisze o 1 w nocy. Kolega wyżej podał Ci poprawną.


  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#14 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 05.05.2013 10:38

Tak widzę, dziękuję :)

Mam jeszcze jedno pytanie, czy dałoby się zrobić tak, aby każda drużyna miała odpowiedni model ?



#15 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

  • Postów:865
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 05.05.2013 11:11

Tak.
  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#16 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 05.05.2013 11:40

K!113r, mógłbyś mi napisać na PW jak miałoby to wyglądać ? :)



#17 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 05.05.2013 11:55

Po co na PW?

 

Najpierw musisz stworzyć modele. Jeśli mają one być przypisane do konkretnej nazwy drużyny (czyli również losowane przy wczytywaniu mapy), trzeba będzie przenieść losowanie do plugin_precache. Tam w zależności od wylosowanych teamów zrobić precache odpowiedniego modelu i następnie przy spawnie gracza za pomocą cs_set_user_model ustawić każdemu odpowiedni model w zależności od drużyny.


  • +
  • -
  • 0
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark

#18 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

  • Postów:865
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Piotrków Tryb.
Offline

Napisano 05.05.2013 14:58

Jeżeli dla każdej oddzielnej drużyny ma być oddzielny model (czyt. jeżeli więcej jak 2 modele) to polecam użyć submodeli, a jeżeli się da to skinów, zaoszczędzisz na transferze fastdownload i gracze szybciej pobiorą modele :).


  • +
  • -
  • 0

DarkGL to mój autorytet.

skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować skomplikować


#19 MarvV

    Pomocny

  • Autor tematu
  • Zbanowany

Reputacja: -1
Mniej niż zer0.

  • Postów:41
  • Lokalizacja:Piła
Offline

Napisano 05.05.2013 15:34

Chodzi mi o to, żeby każdy z wylosowanych zespołów miał oddzielny model ( jeden model :) )

Tylko chciałbym wiedzieć jak taka funkcja miałaby wyglądać :)



#20 GwynBleidD

    Godlike

  • Administrator

Reputacja: 1849
Godlike

  • Postów:3066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 05.05.2013 19:59

  • Dodaj pod kodem z #2 następujący kod:
    #define MAX_TMODELS_LEN 32
    static const CtTeamModels[TEAM_NAMES_AMT][MAX_TMODELS_LEN] = {
        "CtPilkarz",
        "CtPilkarz",
        "CtPilkarz"
    };
    
    static const CtTeamSubModels[TEAM_NAMES_AMT] = {
        0,
        1,
        2
    };
    
    static const TtTeamModels[TEAM_NAMES_AMT][MAX_TMODELS_LEN] = {
        "TtPilkarz",
        "TtPilkarz",
        "TtPilkarz"
    };
    
    static const TtTeamSubModels[TEAM_NAMES_AMT] = {
        0,
        1,
        2
    };
    new CtTeamChoice, TtTeamChoice;
  • Zamień:
    copy(TeamNames[2], MAX_TEAM_LEN-1, CtTeamNames[random(TEAM_NAMES_AMT)])
    copy(TeamNames[1], MAX_TEAM_LEN-1, TtTeamNames[random(TEAM_NAMES_AMT)])
    na:
    CtTeamChoice = random(TEAM_NAMES_AMT);
    TtTeamChoice = random(TEAM_NAMES_AMT);
    copy(TeamNames[2], MAX_TEAM_LEN-1, CtTeamNames[CtTeamChoice])
    copy(TeamNames[1], MAX_TEAM_LEN-1, TtTeamNames[TtTeamChoice])
    new temp[128];
    formatex(temp, 127, "models/player/%s/%s.mdl", CtTeamModels[CtTeamChoice], CtTeamModels[CtTeamChoice])
    precache_model(temp);
    formatex(temp, 127, "models/player/%s/%s.mdl", TtTeamModels[TtTeamChoice], TtTeamModels[TtTeamChoice])
    precache_model(temp);
    I przenieś ten kod do plugin_precache
  • Przy spawnie gracza dodaj:
    new CsTeams:team = cs_get_user_team(id)
    if(team==CS_TEAM_CT) {
        cs_set_user_model(id, CtTeamModels[CtTeamChoice]
        set_pev(id, pev_body, CtTeamSubModels[CtTeamChoice]
    } else if (team==CS_TEAM_T) {
        cs_set_user_model(id, TtTeamModels[TtTeamChoice]
        set_pev(id, pev_body, TtTeamSubModels[TtTeamChoice]
    }
    
Sposób ten umożliwia używanie zarówno submodeli, jak i modeli w osobnych plikach. Gwarantuje też, że zawsze graczowi zostaną pobrane tylko potrzebne na danej mapie modele. Przykład wyżej podany używa submodeli. Możesz użyć modeli w osobnych plikach, poprzez przypisanie submodeli na 0, a jako modele wpisać odpowiednie nazwy plików. Pamiętaj, że w tablicy modeli podajesz tylko nazwę pliku, bez .mdl i bez katalogu!

Użytkownik GwynBleidD edytował ten post 05.05.2013 20:03

  • +
  • -
  • 1
NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark




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

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