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

Problem z gangami by Cypis


  • Zamknięty Temat jest zamknięty
47 odpowiedzi w tym temacie

#41 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 30.07.2019 20:02

Po pierwsze - sprawdz czy dobre wartości Ci się sparsowały: target, ile

Po drugie sprawdzaj czy istnieje gang, bo tu nie sprawdzasz niestety.

możesz to zrobić tak:

	if(TrieGetCell(gangMoney, user_gang[target], money)){
		//gang istnieje, a przynajmniej jego klucz w Trie
	}else{
		//nie istnieje
	}

po ostatnie: user_gang[target] to liczba, musisz zamienić to na stringa, bo Trie przyjmuje stringi jako klucze.

num_to_str


  • +
  • -
  • 0

#42 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 30.07.2019 20:46

public dajszlugibank(id, level, cid)
{
	if(!cmd_access(id, level, cid, 3))
		return PLUGIN_CONTINUE;
		
	new target[64]
	new arg[33];
	read_argv(1, arg, 32);
	new liczba = str_to_num(arg);
		client_print(0, 3, "LICZBA %d", liczba);
	num_to_str(liczba, target, charsmax(target))
	
	read_argv(2, arg, 32);
	new ile = str_to_num(arg);
	
	new money;
	TrieGetCell(gangMoney, target, money)
	
	TrieSetCell(gangMoney, target, money + ile)
		client_print(0, 3, "GANG ID %s", target);
	return PLUGIN_CONTINUE;
}

Wyszło mi coś takiego na czacie pisze normalnie jak dam liczbe np: 6 to target tez bedzie 6, ale nie dodaje szlugow. Jak zrobie user_gang[target] to wyskakuje błąd podczas kompilacji, symbol must be indexed czy coś w tym stylu. Na razie dałem bez sprawdzania czyj jest taki gang.


Użytkownik Black004 edytował ten post 30.07.2019 20:46

  • +
  • -
  • 0

#43 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 30.07.2019 21:06

No ale musisz pobrać gang gracza, któremu chcesz dodać szlugi. To jest właśnie w user_gang i to bedzie kluczem do Trie.

To co Ty robisz to pobierasz id gracza z komendy i to jest twój klucz.

 

Jeśli sie nie myle to twoja komenda ma postać jakos tak    daj_szlugi_do_gangu <id_gracza> <ile>

id gracza jak Ci pobiera to super. Teraz tylko przekonwertować user_gang[id_gracza] na string i użyć jako klucz.


  • +
  • -
  • 0

#44 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 30.07.2019 21:15

Znaczy ja to ciągle robiłem z inna myślą, chce zrobić "daj_szlugi_do_gangu <id_gangu> <ile>", więc nie wiem jak to mam zrobić, bo jak wiadomo każdy gang ma swoje id.


  • +
  • -
  • 0

#45 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 30.07.2019 21:18

No to żeby dodać szlugi musisz znać w takim wypadku id gangu, a nie wiem jak je chcesz odczytać na szybko jak bedziesz komende wpisywac.

 

A chcesz tez zeby byla mozliwosc dodania szlugow do gangu, gdy nikogo z gangu nie ma na serwerze?

 

Jeśli tak to dwa przypadki:

nie ma nikogo na serwerze - wtedy musisz zapisać do nvault po prostu nowa wartosc

jest ktos na serwerze z gangu - dodajesz w Trie


Użytkownik TibacK edytował ten post 30.07.2019 21:21

  • +
  • -
  • 0

#46 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 30.07.2019 21:25

Mam dodatkową komende na serwerze gdzie mam liste graczy i jak klikam pokazuje mi nazwe gangu gracza i jego ID, więc to szybko raczej będę patrzył ID. Tak samo kazdy gang ma w swoim głównym menu pokazane jakie ma id. Więc trzeba do nvault, wcześniej przed edycją tych gangów miałem tak:

a zapisywałem szlugi_gang[user_gang[id]]

public cmd_give2(id, level, cid)
{
if(!cmd_access(id, level, cid, 3))
return PLUGIN_CONTINUE;

new arg[33];
read_argv(1, arg, 32);
new target = cmd_target(id, arg, CMDTARGET_ALLOW_SELF);

if(!is_user_connected(target))
return PLUGIN_CONTINUE;

read_argv(2, arg, 32);
new ilejb = str_to_num(arg);

szlugi_gang[target] = szlugi_gang[target] + ilejb;

return PLUGIN_CONTINUE;
}

Więc nie da jakoś w taki sposób rady?

 

@Edit: Sorry kod pomyliłem, juz tyle czasu mam z tym, że wszystko mi sie miesza :P


Użytkownik Black004 edytował ten post 30.07.2019 21:40

  • +
  • -
  • 0

#47 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

  • Postów:371
  • GG:
  • Imię:Błażej
  • Lokalizacja:Polska
Offline

Napisano 30.07.2019 21:43

Dobra tam, koniec można zamykać to. Dałem na wpisywanie nicku gracza, działa i jest dobrze, jak się nie da inaczej bez zapisu nvault żeby dawało, nawet jak nikogo nie ma na serwerze, to trudno. Dam sobie rade :D

 

Temat do zamknięcia.


Użytkownik Black004 edytował ten post 30.07.2019 21:47

  • +
  • -
  • 0

#48 dasiek

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 2 077
Godlike

  • Postów:5 706
  • Imię:Adaś
  • Lokalizacja:No teraz trochę dalej od WWy
Offline

Napisano 02.08.2019 06:46

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Temat zamknięty na prośbę użytkownika.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0




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

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