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

Struktura enum (problem ze stringami)


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

#1 Minion Andrzej

    Początkujący

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:11
  • Imię:Tomasz
  • Lokalizacja:Polska
Offline

Napisano 08.09.2021 19:48

Siema

Mam problem odnoście structów za pomocą enuma i stringów w ich wnętrzu. W niektórych przypadkach nie mogę się normalnie dostać za pomocą wartości enum do oczekiwanej wartości. Dzieje się to w przypadku wystąpienia stringa. Po prostu jakby znak 0 na końcu stringa niszczył mi strukturę, a kolejny string pojawia się od razu za poprzednim zamiast w odpowiednim miejscu.

 

PRZYKŁAD

Mam sobie takie 2 enumy:

enum _:WeaponModelData
{
  VModelPath[128],
  PModelPath[128],
  WModelPath[128]
}
enum _:BoxingTeamData
{
  BoxingTeamName[64],
  BoxingTeamGlovesModelData[WeaponModelData]
}

Przykładowa tablica, która implementuje te strukty:

new boxingTeams[][BoxingTeamData] =
{
  {
    "team_1",
    { "v_sciezk1.mdl", "p_sciezk1.mdl", "w_sciezk1.mdl" }
  },
  {
    "team_2",
    { "v_sciezk2.mdl", "p_sciezk2.mdl", "w_sciezk2.mdl" }
  }
}

Tutaj przykładowy problem:

public plugin_precache()
{
  for(new i = 0; i < sizeof(boxingTeams); i++)
  {
    precache_model(boxingTeams[i][BoxingTeamGlovesModelData][VModelPath]);
    precache_model(boxingTeams[i][BoxingTeamGlovesModelData][PModelPath]);
    precache_model(boxingTeams[i][BoxingTeamGlovesModelData][WModelPath]);
  }
}

Nawet przy zwykłej próbie precachu za pomocą pętli mam problem. Po prostu w miejscu 2 linijki pętli (precache_model(boxingTeams[i][BoxingTeamGlovesModelData][PModelPath]);) mam już praktycznie pustego stringa i cały struct się jebie.

 

Ogólnie zauważyłem też, że przy korzystaniu tylko z pierwszego structa problem nie występuje. Jakby BoxingTeamName[64] mieszał wszystko za nim. To niżej w teorii działa jak testowałem.

new prisonerKnifeWeaponModelData[WeaponModelData] =
{
  "v_skin.mdl",
  "p_skin.mdl",
  "w_skin.mdl"
};

Wie ktoś jak to robić poprawnie? Może ja coś źle robię w przypadku próby wydobycia stringa w takich strukturach?

Pozdrawiam


  • +
  • -
  • 0

#2 yamato

    Nowy

  • Użytkownik

Reputacja: 2
Nowy

  • Postów:9
  • Imię:yamato
  • Lokalizacja:polska
Offline

Napisano 12.09.2021 01:27

tablica powinna byc trojwymiarowa i powinno byc git

new boxingTeams[][][]

  • +
  • -
  • 0

#3 Robiin

    Godlike

  • Support Team

Reputacja: 1 103
Super Hero

  • Postów:2 043
  • Imię:Robert
  • Lokalizacja:Wrocław
Offline

Napisano 13.09.2021 17:22

Spoiler
L 09/13/2021 - 18:21:46: [test_enum.amxx] Adding: Team="Team one" V="v_model.mdl" P="p_model.mdl" W="w_model.mdl"
L 09/13/2021 - 18:21:46: [test_enum.amxx] Adding: Team="Team two" V="v_model2.mdl" P="p_model2.mdl" W="w_model2.mdl"

Użytkownik Robiin edytował ten post 13.09.2021 17:24

  • +
  • -
  • 1

Nie dołączam do żadnej sieci, nie pomagam z tworzeniem paczek, nie napisze pluginów za zero.





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

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