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

Zapis nvault nie działa.


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

#21 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 18.05.2019 20:20

A tworzysz je tylko raz?

A usuwasz je przy zmianie zwierzaka?

 

Z tego co widzę to się respią ciągle:

public Odrodzenie(id){
		if(!is_user_alive(id)) return;
		if(pettype[id] == -1) return;
		CreatePet(id, pettype[id]);
}

Jak to zrobić, żeby właśnie respiło tylko raz i tak raczej usuwam je przy zmianie:

public knifemenu_premium(id, menu, item) 
{

	if(!is_user_connected(id))
		return PLUGIN_HANDLED;
		
	if(item == MENU_EXIT)
	{
		menu_destroy(id);
		return PLUGIN_HANDLED;
	}
	
	switch(item) 
	{
		case 0:
		{
		if(pet[id]) client_print(id,print_chat,"[AMXX] %L",id,"MSG_REMOVEPET")
		else client_print(id,print_chat,"[AMXX] %L",id,"MSG_NOREMOVEPET")
		handle_DeathMsg(id)
		}
		case 1:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,0)
		}
		case 2:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,1)
		}
		case 3:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,2)
		}
		case 4:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,3)
		}
		case 5:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,4)
		}
		case 6:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,9)
		}
		case 7:{
		handle_DeathMsg(id)
		pet_cmd_handle(id,8)
		}
	}
	pet_zapisz(id)
	menu_destroy(menu);
	return PLUGIN_HANDLED
}

  • +
  • -
  • 0

#22 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 18.05.2019 20:33

public Poczatek_Rundy(){
	for(new i = 1; i <= get_maxplayers(); i++){
		if(!is_user_alive(i)) continue;
		if(pettype[i] == -1) continue;
		if(pet[id] <= 0 || pev_valid(pet[id])) continue;

		CreatePet(i, pettype[i]);
	}
}

Sprawdz tak


  • +
  • -
  • 1

#23 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 18.05.2019 20:42

public Poczatek_Rundy(){
	for(new i = 1; i <= get_maxplayers(); i++){
		if(!is_user_alive(i)) continue;
		if(pettype[i] == -1) continue;
		if(pet[id] <= 0 || pev_valid(pet[id])) continue;

		CreatePet(i, pettype[i]);
	}
}

Sprawdz tak

 

 

na razie wszystko w porządku dam znać może jeszcze dziś, jak coś będzie się działo.


  • +
  • -
  • 0

#24 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 18.05.2019 20:54

 

public Poczatek_Rundy(){
	for(new i = 1; i <= get_maxplayers(); i++){
		if(!is_user_alive(i)) continue;
		if(pettype[i] == -1) continue;
		if(pet[id] <= 0 || pev_valid(pet[id])) continue;

		CreatePet(i, pettype[i]);
	}
}

Sprawdz tak

 

 

na razie wszystko w porządku dam znać może jeszcze dziś, jak coś będzie się działo.

 

 

 

To daje znąć, po wyjściu i wejściu na serwer, pety się nie zapisują.


Użytkownik Black004 edytował ten post 18.05.2019 20:54

  • +
  • -
  • 0

#25 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 18.05.2019 22:46

We wcześniejszych wypowiedziach zostało wspomniane rozwiązanie/sprawdzenie problemu.


  • +
  • -
  • 0

#26 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 18.05.2019 22:52

We wcześniejszych wypowiedziach zostało wspomniane rozwiązanie/sprawdzenie problemu.

 

Jeżeli chodzi o wyprintowanie, zapisu i ładowania nvault to wszystko działa tam ładnie. Zauważyłem, że po usunięciu 

if(pet[i] <= 0 || pev_valid(pet[i])) continue;

Zapis zaczyna działać, za to ciągle się pojawią nowe pety :/


Użytkownik Black004 edytował ten post 18.05.2019 22:55

  • +
  • -
  • 0

#27 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 18.05.2019 23:27

może spróbuj tak:

if(pev_valid(pet[id])) continue;

to powinno sprawdzic czy pet istnieje czy nie


  • +
  • -
  • 1

#28 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 19.05.2019 07:13

może spróbuj tak:

if(pev_valid(pet[id])) continue;

to powinno sprawdzic czy pet istnieje czy nie

 

Zapis działa, nie spawnuję dużo zwierząt. na razie zapowiada się dobrze. Jak się coś będzie dziać zgłosze, ale jak na razie raczej można zamykać


  • +
  • -
  • 0

#29 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 19.05.2019 15:07

Znalazłem błąd, po usunięciu zwierzaka, czyli po prostu zabiciu go, po wybraniu z menu takiej opcji. On w kolejnej rundzie znowu się zrespi :/


  • +
  • -
  • 0

#30 Rivit

    Godlike

  • Support Team

Reputacja: 1 319
Godlike

  • Postów:4 381
Offline

Napisano 19.05.2019 18:30

public handle_DeathMsg(id)
{
	if(pet[id] && pev_valid(pet[id]))
	{
		set_pev(pet[id],pev_animtime,100.0)
		set_pev(pet[id],pev_framerate,1.0)
		set_pev(pet[id],pev_sequence,pet_die[pettype[id]])
		set_pev(pet[id],pev_gaitsequence,pet_die[pettype[id]])
		set_task(pet_die_length[pettype[id]],"remove_pet",pet[id])
	}
	pet[id]=-1
}
public Poczatek_Rundy(){
	for(new i = 1; i <= get_maxplayers(); i++){
		if(!is_user_alive(i)) continue;
		if(pettype[i] == -1) continue;
		if(pet[id] == -1 || pev_valid(pet[id])) continue;
		CreatePet(i, pettype[i]);
	}
}

moze cos takiego, pokombinuj sam troche


  • +
  • -
  • 0

#31 Black004

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 14
Początkujący

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

Napisano 20.05.2019 09:18

Dzięki za pomoc wystarczyło dodać:

if(pet[i] == 0) continue;

Można ostatecznie zamykać, wszystkie ładnie śmiga :)


  • +
  • -
  • 0




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

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