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

[ROZWIĄZANE] Zamiana stałej CSW_ na fun'owy weapon_


Najlepsza odpowiedź TibacK, 17.07.2014 20:37

new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120, 90, 2, 35, 90, 90, 0, 100};


public zabierzmp5(id)
{
	new tmp;
	get_user_weapons(id,wpns,iNum);
	for (a=0; a<iNum; a++) if (wpns[a] == CSW_MP5NAVY) tmp=a;
	StripWeapons(id,Primary,true);
	for (a=0; a<iNum; a++)
	{
		if (a==tmp) continue;
                new weaponname[33]
                get_weaponname(wpns[a], weaponname, charsmax(weaponname))
		give_item(id,weaponname);
                cs_set_user_bpammo(id, wpns[a], maxAmmo[a])
	}
}

Nie testowane. Sprawdź.

 

Co do zabrania broni to może Ham_RemovePlayer_Item + http://amxx.pl/dokum...nd-ent-by-owner

Spoiler
Przejdź do postu


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

#1 Ogen Dogen

    Guru

  • Power User

Reputacja: 222
Profesjonalista

  • Postów:713
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 08.07.2014 17:56

Witam. Czy jest szybsza i wydajniejsza możliwość zamiany stałej wartości broni CSW na "weapon" niż rozpisywanie wszystkich przypadków ? Kiedyś mi się obiła taka funkcja na forum , dokładnie chodzi mi o to : np. CSW_MP5NAVY zamienić na "weapon_mp5navy". Opcjonalnie w drugą stronę też się może przydać :>


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#2 Misiaczek ;c

    /dev/null

  • Moderator

Reputacja: 1662
Godlike

  • Postów:2495
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Halemba
Offline

Napisano 08.07.2014 18:15

Notepad++ Ctrl+F Znajdź i zamień wszystkie w bieżącym dokumencie ;F


  • +
  • -
  • 0

#3 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 08.07.2014 18:45

Najszybsza i najwydajniesza metoda prowadzi do nie używania string'a, a samych liczb czyli nazwy CSW_ lub id bytu broni, szybka i wydajna metoda to zrobienie tablicy ze string'ami "weapon_" z wartościami adekwatnymi do wartości poszczeóglnych broni CSW_. Można też użyć get_weaponname / get_weaponid

Jednak najbardziej polecam najszybszą i najwydajniejszą metodę bo zawsze szybciej się operuje na liczbach niz na tekście
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#4 Ogen Dogen

    Guru

  • Autor tematu
  • Power User

Reputacja: 222
Profesjonalista

  • Postów:713
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 09.07.2014 23:09

Get_weaponid zwraca number z tej tabeli ? -> http://amxx.pl/topic...ive-item-speed/

 

Ale to i tak i tak się sprowadza do rozpisywania :D

 


Notepad++ Ctrl+F Znajdź i zamień wszystkie w bieżącym dokumencie ;F

Odpada. Musi to być zaimplementowane , że tak powiem dynamicznie ;x


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#5 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 09.07.2014 23:33

Podaj kod w którym musisz uzyskać id z csw a pokażę rozwiązanie
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#6 Ogen Dogen

    Guru

  • Autor tematu
  • Power User

Reputacja: 222
Profesjonalista

  • Postów:713
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 16.07.2014 17:17

Sorry za tak późną odpowiedź , ale nie miałem ostatnio głowy do tego :P


Podaj kod w którym musisz uzyskać id z csw a pokażę rozwiązanie

 

Chodzi mi o funkcję do BF2/BF4 , która zabierze jedną z x głównych broni (np. 3). Ma to wyglądać tak że najpierw zabiera wszystkie bronie a później oddaje te które nie mają zostać odebrane. Cały plugin ma anulować dla wybranych graczy premie z odznak w postaci takich broni jak scout czy mp5. Jest to bardzo irytujące :)

public zabierzmp5(id)
{
	new tmp;
	get_user_weapons(id,wpns,iNum);
	for (a=0; a<iNum; a++) if (wpns[a] == CSW_MP5NAVY) tmp=a;
	StripWeapons(id,Primary,true);
	for (a=0; a<iNum; a++)
	{
		if (a==tmp) continue;
		give_item(id,"CSW_MP5NAVY");
	}
}

  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#7 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 453
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 16.07.2014 22:01

Twój kod działa tak:

• sprawdzam czy gracz posiada mp5

• usuwam primary weapon graczu

• jeśli gracz posiadał mp5 to daje mu je

 

Dodatkowo trzeba dodać iż robi to w sposób nie optymalny. Mam parę pytań:

• czy chcesz osiągnąć funkcję która zabierze wszystkie nieporządane i ustawi wszystkie porządane bronie graczu?

• co z ammo? tylko 30 naboji czy jak? (podaj ilość ammo i bpammo)


  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#8 Ogen Dogen

    Guru

  • Autor tematu
  • Power User

Reputacja: 222
Profesjonalista

  • Postów:713
  • GG:
  • Steam:steam
  • Imię:Marcin
  • Lokalizacja:Dąbrowa Górnicza
Offline

Napisano 17.07.2014 18:33

Wiem , to tylko taki prototyp. Zawiesiło mnie gdy trzeba było to zamienić na "weapon" , a z rozpisywaniem chyba będzie jeszcze mniej optymalnie.

 


• czy chcesz osiągnąć funkcję która zabierze wszystkie nieporządane i ustawi wszystkie porządane bronie graczu?

Konkretnie zabierze jedną broń a resztę zostawi , tak jak wcześniej pisałem :)

 


• co z ammo? tylko 30 naboji czy jak? (podaj ilość ammo i bpammo)

Nie doszedłem do tego etapu , ale ammo full zarówno magazynek jak i bpammo.


  • +
  • -
  • 0

b_350_20_360204_C20008_FFFFFF_000000.png 193.33.176.115:27015

 

94e23d811c.png

 


#9 TibacK

    Diler pod gimnazjum dla niepełnosprawnych dzieci

  • Power User

Reputacja: 466
Wszechobecny

  • Postów:2448
Offline

Napisano 17.07.2014 20:37   Najlepsza odpowiedź

new const maxAmmo[31] = {0, 52, 0, 90, 1, 31, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 31, 90, 120, 90, 2, 35, 90, 90, 0, 100};


public zabierzmp5(id)
{
	new tmp;
	get_user_weapons(id,wpns,iNum);
	for (a=0; a<iNum; a++) if (wpns[a] == CSW_MP5NAVY) tmp=a;
	StripWeapons(id,Primary,true);
	for (a=0; a<iNum; a++)
	{
		if (a==tmp) continue;
                new weaponname[33]
                get_weaponname(wpns[a], weaponname, charsmax(weaponname))
		give_item(id,weaponname);
                cs_set_user_bpammo(id, wpns[a], maxAmmo[a])
	}
}

Nie testowane. Sprawdź.

 

Co do zabrania broni to może Ham_RemovePlayer_Item + http://amxx.pl/dokum...nd-ent-by-owner

Spoiler

  • +
  • -
  • 1

Sprzedam Paczkę CoD pod CS 1.6 (JEST WIELE WERSJI DO WYBORU TEJ PACZKI) na lvl od 201 - 601

Silnik (8 nowych statystyk, poprawiony zapis, dodatkowy exp, pozbyto się CurWeapon). Ponad 100 perków (do wyboru do koloru). Sklep, NOWE MISJE (QUESTY), premium i super premium, AUKCJE, KLANY, zapis nVault, 4 zestawy modeli bronii do wyboru!

JESTEŚ ZAINTERESOWANY KUPNEM? NAPISZ WIADOMOŚĆ DO MNIE!





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

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