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

Blokada kupna bronii


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

#1 Maruda515

    Życzliwy

  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 24.03.2013 22:51

Witam! Proszę o pomoc. Nie wiem jak zastosować tutaj opcji "if". Ma to wyglądać tak: ktoś na np usp i w sklepie chcę kupić usp. Na czacie pokazuję się wiadomość " Nie możesz kupić usp ponieważ już posiadasz ta bron". Pomożecie?

Oto kod:


#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

public plugin_init()
{
register_plugin("Sklep", "0.1", "Maruda")
register_clcmd("say /test", "cmd_test")
}
public cmd_test(id)
{
new menu = menu_create("Menu1", "menu1_handle")
menu_additem(menu, "Pistolety")
menu_additem(menu, "Shotguny")
menu_additem(menu, "Pistolety Maszynowe")
menu_additem(menu, "Strzelby")
menu_display(id, menu)
}
public menu1_handle(id, menu, item)
{
switch(item)
{
case 0: menu2(id)

case 1: menu3 (id)

case 2: menu4 (id)

case 3: menu5 (id)
}
}
public menu2(id)
{
new menu = menu_create("Pistolety", "menu2_handle")
menu_additem(menu, "Glock")
menu_additem(menu, "USP")
menu_additem(menu, "P228")
menu_additem(menu, "Deagle")
menu_additem(menu, "Fiveseven")
menu_additem(menu, "Elite")
menu_display(id, menu)
}
public menu2_handle(id, menu, item)
{
switch(item)
{
case 0:{
give_item(id, "weapon_glock18")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 1:{
give_item(id, "weapon_usp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 2:{
give_item(id, "weapon_p228")
give_item(id,"ammo_357sig")
give_item(id,"ammo_357sig")
give_item(id,"ammo_357sig")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 3:{
give_item(id, "weapon_deagle")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
give_item(id,"ammo_50ae")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 4:{
give_item(id, "weapon_fiveseven")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
give_item(id,"ammo_57mm")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 5:{
give_item(id, "weapon_elite")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
}
}


public menu3 (id)
{
new menu = menu_create("Shotguny", "menu3_handle")
menu_additem(menu, "XM1014")
menu_additem(menu, "M3")
menu_display(id,menu)
}
public menu3_handle(id, menu, item)
{
switch(item)
{
case 0:{
give_item(id,"weapon_xm1014")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
client_cmd(id, "slot1" );
client_cmd(id, "drop");

}
case 1:{
give_item(id,"weapon_m3")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
give_item(id, "ammo_buckshot")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
}
}
public menu5 (id)
{
new menu = menu_create("Strzelby", "menu5_handle")
menu_additem(menu, "Gali")
menu_additem(menu, "Famas")
menu_additem(menu, "Scout")
menu_additem(menu, "M4A1")
menu_additem(menu, "AK47")
menu_additem(menu, "AUG")
menu_additem(menu, "SG550")
menu_additem(menu, "AWP")
menu_display(id,menu)
}
public menu5_handle(id, menu, item)
{
switch(item)
{
case 0:{
give_item(id, "weapon_galil")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 1:{
give_item(id, "weapon_famas")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 2:{
give_item(id, "weapon_scout")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 3:{
give_item(id, "weapon_m4a1")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 4:{
give_item(id, "weapon_ak47")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
give_item(id,"ammo_762nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 5:{
give_item(id, "weapon_aug")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 6:{
give_item(id, "weapon_sg550")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
case 7:{
give_item(id, "weapon_awp")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
give_item(id,"ammo_338magnum")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
}
}
public menu4(id)
{
new menu = menu_create("Pistolety Maszynowe", "menu4_handle")
menu_additem(menu, "TMP")
menu_additem(menu, "MP5")
menu_additem(menu, "UMP45")
menu_additem(menu, "P90")
menu_display(id, menu)
}
public menu4_handle(id, menu, item)
{
switch(item)
{
case 0:{
give_item(id, "weapon_tmp")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
}
case 1:{
give_item(id, "weapon_mp5navy")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
give_item(id,"ammo_9mm")
}
case 2:{
give_item(id, "weapon_ump45")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
give_item(id,"ammo_45acp")
}
}
}

  • +
  • -
  • 0

#2 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

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

Napisano 24.03.2013 23:09

if(get_user_weapon(id) == CSW_USP)
// kod

  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#3 Maruda515

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 24.03.2013 23:26

Dodałem to przed każdy "give_item" i teraz wyrzuca mi każdą broń.

Dam wycinek z kodu:

//kod
switch(item)
{
case 0:{
{
if(get_user_weapon(id) == CSW_GALIL)
ColorChat (id, RED, "Nie mozesz tego zakupic, poniewaz posiadasz ta bron")
}
give_item(id, "weapon_galil")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
give_item(id,"ammo_556nato")
client_cmd(id, "slot1" );
client_cmd(id, "drop");
}
//kod

  • +
  • -
  • 0

#4 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

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

Napisano 24.03.2013 23:34

Bo nie blokujesz zdarzenia ani nic, wykonuje się kod po kolei, leci warunek a potem dalszy kod, niezależnie od warunku, te give_item() i tak dalej daj w else przy tym if'ie (na co Ci dodanie broni, potem amunicji a na końcu wyrzucenie tej broni :) )
  • +
  • -
  • 0

DarkGL to mój autorytet.

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


#5 Maruda515

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 25.03.2013 14:51

A mógłbyś napisać gdzie to dać i jak? Troszkę nie obeznany w tym jestem
  • +
  • -
  • 0

#6 JabLuszko

    Zaawansowany

  • Użytkownik

Reputacja: 45
Pomocny

  • Postów:126
  • Imię:Michał
  • Lokalizacja:Warszawa
Offline

Napisano 25.03.2013 16:15

Zrobiłeś sieczkę z nawiasami kwadratowymi { } - to się w ogóle kompiluje? ;)
U Ciebie powinno to wyglądać na zasadzie:

switch(item)
{
				// CIACH //
				case 1:{
					   if(get_user_weapon(id) == CSW_USP) {
							  // Gracz posiada bron
							  ColorChat (id, RED, "Nie mozesz tego zakupic, poniewaz posiadasz ta bron")
					   } else {
							   // Gracz nie posiada tej broni, wiec mu ja damy
							   give_item(id, "weapon_usp")
							   give_item(id,"ammo_45acp")
							   give_item(id,"ammo_45acp")
							   give_item(id,"ammo_45acp")
							   client_cmd(id, "slot1" );
							   client_cmd(id, "drop");
					   }
                }
                // CIACH //
} // to jest nawias kwadratowy od switch(item)


Swoją drogą po co Ci tam drop, który pewnego dnia może przestać działać na steamach? Zainteresuj się
http://amxx.pl/dokum...ip_user_weapons
http://amxx.pl/dokum...ip_user_weapons

Użytkownik JabLuszko edytował ten post 25.03.2013 16:17

  • +
  • -
  • 1

#7 Maruda515

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 25.03.2013 16:32

Dzięki za odpowiedź ;) Jednakże to działa w 50 %, jeśli mam usp i chcę kupić usp to nie daje, jednak jak nie mam nic to daje i wyrzuca od razu
  • +
  • -
  • 0

#8 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

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

Napisano 25.03.2013 17:35

Bo za to odpowiada te twoje drop? wywal

client_cmd(id, "slot1" );
client_cmd(id, "drop");

z Twojego kodu i będzie git, zresztą napisałem Ci o tym opisując dokładnie gdzie masz wkleić poprzedni kod.
  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#9 Maruda515

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 25.03.2013 17:53

Ale wtedy będę miał kilka broni np usp i dgl, a ja chciałbym, żeby dawało 1 broń i wywalało inną.
  • +
  • -
  • 0

#10 K!113r

    Teraz to chyba Sławek kek

  • Power User

Reputacja: 387
Wszechpomocny

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

Napisano 25.03.2013 18:26

albo usuń mu jedną konkretną, albo usuń mu wszystkie, daj nóż(+ ewentualna bomba) i broń którą chcesz mu dać. Jak usunąć bronie/broń? Polecam zapuszczenie żurawia w bibliotekę fun jak i też wyszukać w dokumentacji funkcji z "strip" w nazwie.
  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#11 Maruda515

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: -2
Nowy

  • Postów:33
  • Imię:Arek
  • Lokalizacja:się nie zmienia
Offline

Napisano 25.03.2013 18:35

Czyli nie idzie usunąć tylko jednej broni( podmienić)
  • +
  • -
  • 0

#12 JabLuszko

    Zaawansowany

  • Użytkownik

Reputacja: 45
Pomocny

  • Postów:126
  • Imię:Michał
  • Lokalizacja:Warszawa
Offline

Napisano 25.03.2013 19:14

Da radę, ale ani to optymalne, ani przydatne.
Do stripów już Ci linkowałem, jak chcesz KONIECZNIE zabrać mu jedną broń to powinieneś użyć czegoś w okolicach http://amxx.pl/topic...ip-user-weapon/ lub http://darkgl.amxx.p...broni-graczowi/
Usuń mu wszystkie bronie na początku rundy, potem daj nóż i niech sobie kupuje co chce - to jest "poprawne" podejście do tematu.
  • +
  • -
  • 1

#13 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

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

Napisano 25.03.2013 21:27

[ ] <--- to jest nawias KWADRATOWY
{ } <--- to jest nawias KLAMROWY!!!

I nie widzę tutaj "sieczki" w nawiasach klamrowych.
  • +
  • -
  • 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