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

Użycie komendy raz na rundę oraz resetowanie przy nowej rundzie


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

#1 QuahodronN

    Godlike

  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 10.07.2012 01:35

Witam, zachciało mi się stworzyć prostą ruletkę bez żadnych kosmicznych rzeczy :D
ale mam problem ponieważ nie wiem jak zrobić aby można było użyć komendy /ruletka raz na rundę czyli że każdy gracz może losować tylko raz na rundę.
Chcę też dodać aby można było wylosować ciche chodzenie i wymaga to komendy
set_user_footsteps ( id, 0)
po tym zabiegu tupania danego gracza nie będzie słychać ale jak zrobić aby od nowej rundy już było słychać normalnie czyli w nowej rundzie automatycznie ustawiało by danemu graczowi
set_user_footsteps ( id, 1)

Wpadłem też na pomysł aby serwer co nową rundę wymuszał u graczy mp_footsteps 0 ale jakoś nie bardzo jest to optymalne :P



Tak jeszcze zapytam kiedy używa się:
return PLUGIN_HANDLED;
return PLUGIN_CONTINUE;


////Edit
Czy odpowiednie umieszczenie tego w pluginie rozwiąże mój pierwszy problem?? (chodzi o losowaniu raz na rundę)
new bool:gbLotted[33];

public plugin_init
{
register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0");
}

public client_putinserver(id)
{
gbLotted[id]=false;
}


public eventRoundInit()
{
for(new i=1;i<33;i++)
{
gbLotted[i]=false;
}
}

if(gbLotted[id])
{
ColorChat(id, RED, "[%s] ^x04Juz raz losowales w tej rundzie!", tag);
return PLUGIN_HANDLED; 
}
gbLotted[id]=true

Użytkownik QuahodronN edytował ten post 10.07.2012 02:07

  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#2 Droso

    Dawniej HubertTM

  • Support Team

Reputacja: 1 291
Godlike

  • Postów:2 371
  • Steam:steam
  • Imię:Hubert
  • Lokalizacja:Wrocław
Offline

Napisano 10.07.2012 06:55

Co do kodu tak
mam nadzieję, że ostatni if jest w funkcji i na końcu jest return PLUGIN_XXX

Co do "tupania" dodaj do pętli set_user_footsteps (i, 1) ruszcie głową ;D


Tak w ogóle dodaj warunek is_user_connected(index) do pętli.

http://amxx.pl/topic...ntinue-co-robi/ //HANDLED I CONTINUE

Użytkownik HubertTM edytował ten post 10.07.2012 07:00

  • +
  • -
  • 1

Piszę pluginy pod: AMX MOD X oraz SOURCE MOD!

Na zlecenie i bez zlecenia zresztą też!


#3 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 10.07.2012 07:51

Co do kodu tak
mam nadzieję, że ostatni if jest w funkcji i na końcu jest return PLUGIN_XXX

Co do "tupania" dodaj do pętli set_user_footsteps (i, 1) ruszcie głową ;D


Tak w ogóle dodaj warunek is_user_connected(index) do pętli.

http://amxx.pl/topic...ntinue-co-robi/ //HANDLED I CONTINUE

Ty też rusz głową, do pętli dodać warunek if(is_user_connected(i)), a potem dać graczom ciche chodzenie, ciekawe jaki błąd będzie w logach ?

Co do pluginu

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <hamsandwich>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "speedkill"

new bool:g_Ruletka[33]

public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	RegisterHam(Ham_Spawn, "player", "player_spawn", 1)
	register_logevent("round_end", 2, "1=Round_End")
}
public client_authorized(id)
	g_Ruletka[id] = true
public player_spawn(id)
{
	if(is_user_alive(id))
	{
		clear(id) // W tej funkcji zabiera się ciche chodzenie, itp.
		
		if(g_Ruletka[id])
		{
			g_Ruletka[id] = false
			set_user_footsteps(id,1)
			//Tutaj zrób switch'a i dawaj odpowiednie rzeczey <img src='https://amxx.pl/public/style_emoticons/<#EMO_DIR#>/wink.png' class='bbc_emoticon' alt=';)' />
		}
	}
}
public round_end()
{
	for(new id = 1; id <= 33; id++)
	{
		if(is_user_connected(id))
		{
			g_Ruletka[id] = true
		}
	}
}
public clear(id)
{
	set_user_footsteps(id,0)
}

Będzie on dawał ciche chodzenie, raz na rundę ;)
  • +
  • -
  • 1

If you can dream it, you can do it.


#4 QuahodronN

    Godlike

  • Autor tematu
  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 10.07.2012 15:32

ok a tutaj mam wpisać tak?
register_clcmd("say /ruletka", "player_spawn");
OK na razie cały kod wygląda tak no i błędów przy kompilacji nie ma.
Lecz nie wiem jak to zrobić z w/w rzeczą :P
Spoiler


Jeszcze tak myślałem że można by zrobić aby kasę brało za użycie komendy /ruletka a nie za wylosowanie czegoś, wtedy by zmniejszyło to trochę kod :) no i oczywiście też dodać info o tym jak nie ma kasy bo to też jest w każdym z case.

Użytkownik QuahodronN edytował ten post 10.07.2012 17:39

  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#5 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 10.07.2012 17:53

Jak dałem Ci przykład, że co spawn uruchamia ruletke co do komend to troche pomieszałeś, ponieważ pierw napisałeś dobrze, a w plugnie dałeś źle byłby błąd ponieważ public ruletka(id) nie istniał. Usunąłem spawn gracza poprawiłem z kasą i nickiem gracza, co do footsteps pod koniec rundy musi być zerowane ( zabierane ) lub na początku nowej rundy, ponieważ gracz by miał całą mape ciche chodzenie.
#include <amxmodx>
#include <fun>
#include <colorchat>
#include <cstrike>
#include <hamsandwich>

#define PLUGIN "Ruletka"
#define VERSION "1.0"
#define AUTHOR "QuahodroN"

new const g_Lang[][] = { "say /ruletka","say_team /ruletka" }

new tag[] = "Ruletka";
new bool:g_Ruletka[33]
new bool:g_Chodzenie[33]

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR)

    for(new i;i<sizeof g_Lang;i++)
        register_clcmd(g_Lang[i], "ruletka")

    set_task(180.0, "info", _, _, _, "b")

    register_logevent("round_end", 2, "1=Round_End")
    register_logevent("round_start", 2, "1=Round_Start")
}
public client_authorized(id)
{
    g_Chodzenie[id] = false
    g_Ruletka[id] = true
}
public ruletka(id)
{
    if(is_user_alive(id))
    {
        if(g_Ruletka[id])
        {
            new kasa = cs_get_user_money(id)

            if(kasa < 2000)
            {
                ColorChat(id, RED, "[%s]^x04 Masz za malo kasy.",tag)
                return PLUGIN_HANDLED
            }

            cs_set_user_money(id,kasa - 2000)

            new name[64]
            get_user_name(id,name,charsmax(name))

            g_Ruletka[id] = false

            switch(random_num(1, 6))
            {
                case 1 :
                {
                    ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 120 HP", tag, name)
                    set_user_health(id, 120)
                }
                case 2 :
                {
                    ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 1 HP", tag, name)
                    set_user_health(id,1)
                }
                case 3:
                {
                    if(get_user_team(id) == 1)
                    {
                        ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 M4A1", tag, name)
                        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")
                    }
                    else if(get_user_team(id) == 2)
                    {
                        ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 pusty los", tag, name)
                    }

                }
                case 4:
                {
                    if(get_user_team(id) == 2)
                    {
                        ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 AK47", tag, name)
                        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")
                    }
                    else if(get_user_team(id) == 1)
                    {
                        ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 pusty los", tag, name);
                    }
                }
                case 5:
                {
                    ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 100 kamizelki", tag, name)
                    cs_set_user_armor (id, 100, CS_ARMOR_VESTHELM)
                }
                case 6:
                {
                    ColorChat(0, RED, "[%s]^x01 Gracz^x04 %s^x01 wylosowal^x04 ciche chodzenie", tag, name)
                    set_user_footsteps(id,1)
                    g_Chodzenie[id] = true
                }
            }
        }
        else
        {
            ColorChat(id, RED, "[%s]^x01 Ruletke mozna uzyc raz na runde.", tag)
        }
    }
    return PLUGIN_CONTINUE
}
public round_end()
{
    for(new id = 1; id <= 33; id++)
    {
        if(is_user_connected(id))
        {
            g_Ruletka[id] = true
        }
    }
}
public round_start()
{
    for(new id = 1; id <= 33; id++)
    {
        if(is_user_alive(id) && g_Chodzenie[id])
        {
            set_user_footsteps(id,0)
            g_Chodzenie[id] = false
        }
    }
}
public info()
{
    ColorChat(0, RED, "[%s]^x01 Aby uzyc ruletki wpisz^x04 /ruletka", tag)
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#6 QuahodronN

    Godlike

  • Autor tematu
  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 10.07.2012 18:56

Nie no ziomus działa :D
Wielkie dzięki, + leci
A tak spytam co było źle że zmieniłeś wyświetlanie nicku?
Czy jakbym chciał dodać np grawitacje to mam zrobić na wzór g_Chodzenie tak?
  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#7 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 10.07.2012 19:03

Pobierałeś nick co każdy case, troche to nie optymalne wystarczy pobrać raz w tej funkcji. Co do grawitacji to tak na wzór g_Chodzenie[33] ;)
  • +
  • -
  • 1

If you can dream it, you can do it.


#8 QuahodronN

    Godlike

  • Autor tematu
  • Power User

Reputacja: 230
Wszechwidzący

  • Postów:1 262
  • GG:
  • Steam:steam
  • Imię:Olo
  • Lokalizacja:Śląsk
Offline

Napisano 10.07.2012 19:11

No też prawda :P
ok dzięki możesz zamknąć :)
  • +
  • -
  • 0

| CPU: I7-6700K @4.7GHz | Cooling: Corsair H110 | GPU: MSI GTX 1080 Gaming X | MOBO: Asus Maximus VIII Hero | RAM: Kingston Savage 16GB DDR4 @2800MHz |

| SSD: Samsung 840 Pro 128GB | SSD2: Samsung 840 Pro 256GB  |  PSU: Be Quiet L8 630W | Case: Gladius M40 | Mouse: Gigabyte M6980X | Keyboard: Sharkoon SHARK ZONE K20 Headphones: HyperX HX Cloud Black Display: Triple LG 24MP67VQ-P |

 

TS3: ts.kreedzmania.pl - 512 Slotów - Darmowe Kanały ;)


#9 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1 592
Godlike

  • Postów:2 733
  • GG:
  • Steam:steam
  • Imię:Michał
  • Lokalizacja:Prudnik
Offline

Napisano 10.07.2012 19:30

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
  • +
  • -
  • 1

If you can dream it, you can do it.





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

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