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

O co chodzi z new cos [33]


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

#1 Savander

    Życzliwy

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:Jaworzno
Offline

Napisano 19.09.2010 11:30

Witam mam pytanie dotyczące np tego:
new msg[128]


o co chodzi z tymi liczbami w [] ?? Mógł by mi ktoś wytłumaczyć? :)
  • +
  • -
  • 0

#2 Knopers

    Nie patrz tak na mnie !

  • Przyjaciel

Reputacja: 588
Wszechwiedzący

  • Postów:2 013
  • GG:
  • Steam:steam
  • Imię:Mateusz
  • Lokalizacja:Cz-wa
Offline

Napisano 19.09.2010 11:56

Jest to wielkość tablicy, a dokładniej liczba komórek .
W jednej komórce np mieści się jeden znak char np: a .
  • +
  • -
  • 1

#3 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 19.09.2010 12:29

Tablice to zbiór zmiennych.

new a1 = 1;
new a2 = 5;

można połączyć w tablicę

new a[2];
a[0] = 1;
a[1] = 5;

przez co do wielu danych mamy dostęp z jednej zmiennej, co łatwiej wykorzystać przy tworzeniu algorytmu; zamiast szukać odpowiedniej nazwy zmiennej wystarczy policzyć indeks w tablicy
  • +
  • -
  • 1

#4 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 19.09.2010 13:21

:D Podałem ci przykład :D
i do tego możesz zrobić


#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new cos[33];
new rundy;

public plugin_init()
{
register_plugin("Test", "1", "[H]ARDBO[T]")

register_logevent("Restart", 2, "1=Restart_Round_(1_second)");
register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");

register_clcmd("say /test", "Testowa")
}
public Restart()
{
rundy = 0;
}
public NowaRunda(id)
{
rundy++;

if(rundy == 4)
{
cos[id] = false;
}
}
public Testowa(id)
{
if(cos[id])
{
cos[id] = true;
pev(id, pev_health,200)
client_print(id, print_chat,"Super, dostales 200HP!")
}
else
{
client_print(id, print_chat,"heh, Mozesz tego uzyc raz na 4 rundy.")
}
return PLUGIN_CONTINUE
}


Czyli wnioskować z tego, cos[33] = zmienna pod ID
którya wykrywa u gracza jeśli gracz wziął sobie to HP to dopiero z tego kodu wynika co napiasałem że będzie mógł dopiero wziąć za 4 rundy to HP :D

#5 Savander

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:Jaworzno
Offline

Napisano 19.09.2010 13:29

Czyli zamiast pisać wiele razy jakiś algortym np

a[0]
a[1] i tak dalej, to mogę to napisac new a[2]??


Aha, i co odpowiada za ilość rund? Wiem jestem nowy w tym dlatego się pytam :)
  • +
  • -
  • 0

#6 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 19.09.2010 13:47

a[0]
a[1] i tak dalej, to mogę to napisac new a[2]??

Nie.

Aha, i co odpowiada za ilość rund? Wiem jestem nowy w tym dlatego się pytam :)

Przykro mi, ale już widać że programistą nie zostaniesz. Nie każdy się do tego nadaje ;)

#7 Savander

    Życzliwy

  • Autor tematu
  • Użytkownik

Reputacja: 0
Nowy

  • Postów:21
  • GG:
  • Lokalizacja:Jaworzno
Offline

Napisano 19.09.2010 13:49

HEEHH :P, i tak po próbuje :P No ale no xD Każdy od czegoś zaczynał ;/
  • +
  • -
  • 0

#8 Seba

    Wszechobecny

  • Zbanowany

Reputacja: 198
Profesjonalista

  • Postów:424
  • Lokalizacja:Internet
Offline

Napisano 19.09.2010 13:51

Każdy od czegoś zaczynał ;/

Od przeczytania tutoriali w internecie oraz próbę zinterpretowania prostych kodów. Nie od głupich pytań na forum.

#9 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 19.09.2010 14:26

if(cos[id])
        {
                cos[id] = true;
                pev(id, pev_health,200)
                client_print(id, print_chat,"Super, dostales 200HP!")
        }


bezwzglednie ten kod zadziala tak jak tego chciales hardbot
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#10 Screeaam...

    ; ooo

  • Zbanowany

Reputacja: 154
Profesjonalista

  • Postów:1 012
  • Lokalizacja:Sosnowiec
Offline

Napisano 19.09.2010 15:48

Aha, i co odpowiada za ilość rund? Wiem jestem nowy w tym dlatego się pytam :)



public NowaRunda(id) // Ten event trzeba zarejestrować w plugin_init, włącza się gdy następuje nowa runda (Po freeze chyba)
{
rundy++; // Dodaj jeden do zmiennej "rundy", na początku jest rundy = 0, czyli jak doda to będzie 1.
}


Więc jeżeli cztery razy nowa runda będzie to zmienna "rundy" będzie miała wartość 4 (runda == 4)

#11 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 19.09.2010 15:49

Nie rozumiem twojej wypowiedzi Goq?

#12 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 19.09.2010 16:03

set_pev(id, pev_health,200.0)
  • +
  • -
  • 0

#13 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 19.09.2010 16:20

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new cos[33];
new rundy;

public plugin_init()
{
        register_plugin("Test", "1", "[H]ARDBO[T]")
        
        register_logevent("Restart", 2, "1=Restart_Round_(1_second)");
        register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
        
        register_clcmd("say /test", "Testowa")
}
public Restart()
{
        rundy = 0;
}
public NowaRunda(id)
{
        rundy++;
        
        if(rundy == 4)
        {
                cos[id] = false;
        }
}
public Testowa(id)
{
        if(cos[id])
        {
                cos[id] = true;
                pev(id, pev_health,200)
                client_print(id, print_chat,"Super, dostales 200HP!")
        }
        else
        {
                client_print(id, print_chat,"heh, Mozesz tego uzyc raz na 4 rundy.")
        }
        return PLUGIN_CONTINUE
}

wiec tak ustawiasz zmienna na false ale sprawdzasz czy ma ona wartosc true ktorej nigdzie nie ustawiasz bo warunek sie nie wykona dodatkowo juz w warunku przypisujesz tam true czyli "jesli wartosc to prawda to nie zmieniaj jej" powinien tam byc wykrzyknik w if'ie :D

pozatym twoj kod przypisze do zmiennej cos[id] false tylko jesli bedzie to 4 runda potem juz nie powinno byc gdzies resetowanie zmiennej albo sprawdzanie reszty z dzielenia
i do tego twoj event nie ma parametru id a ty go dales czyli ma wartosc 0
dodatkowo przy inicjalizacji kazdy element tablicy ma wartosc false wiec plugin nic nie zrobi tak naprawdę
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka

GG:6022845 (nie pomagam za free osobom ponizej rangi MoD) :D

#14 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 19.09.2010 16:55

:wstyd: racja.

#15 mgr inż. Pavulon

    C35H60Br2N2O4

  • Przyjaciel

Reputacja: 1 742
Godlike

  • Postów:6 881
  • Steam:steam
  • Imię:Konrad
  • Lokalizacja:Koniecpol
Offline

Napisano 19.09.2010 17:57

if(cos[id])
 {
       cos[id] = true;
Gdzie logika ?
Jeżeli prawda ustaw prawda ;>
  • +
  • -
  • 0

#16 hardbot

    Banned

  • Zbanowany

Reputacja: 0
Nowy

  • Postów:3 049
Offline

Napisano 19.09.2010 18:04

to czyli :D

public Testowa(id)
{
cos[id] = true;
if(cos[id])
{

set_pev(id, pev_health,200.0)
client_print(id, print_chat,"Super, dostales 200HP!")
}
else
{
client_print(id, print_chat,"heh, Mozesz tego uzyc raz na 4 rundy.")
}
return PLUGIN_CONTINUE
}


#17 R3X

    Godlike

  • Przyjaciel

Reputacja: 2 987
Godlike

  • Postów:4 248
  • Lokalizacja:Nie
Offline

Napisano 19.09.2010 18:16

powiedzmy, że do 3 razy sztuka :P ale pewnie i 4 próbę zobaczymy
  • +
  • -
  • 0

#18 Vertricus

    Godlike

  • Przyjaciel

Reputacja: 426
Wszechobecny

  • Postów:1 549
  • Lokalizacja:.
Offline

Napisano 19.09.2010 18:47

O ile dobrze myślę to:
public Testowa(id)
{
cos[id] = true;
if(cos[id])
{

set_pev(id, pev_health,200.0)
client_print(id, print_chat,"Super, dostales 200HP!")
}
else
{
client_print(id, print_chat,"heh, Mozesz tego uzyc raz na 4 rundy.")
}
return PLUGIN_CONTINUE
}

znaczy tyle co to:
public Testowa(id)
{
set_pev(id, pev_health,200.0)
client_print(id, print_chat,"Super, dostales 200HP!")

return PLUGIN_CONTINUE
}

:ganja:
  • +
  • -
  • 0

#19 Change

    Super Hero

  • Użytkownik

Reputacja: 129
Zaawansowany

  • Postów:1 161
  • Lokalizacja:Konin
Offline

Napisano 19.09.2010 18:53

cos[id] = true;
if(cos[id])


wtf-.-

Użytkownik Change edytował ten post 19.09.2010 18:58

  • +
  • -
  • -1

#20 kyku

    Wszechmogący

  • Użytkownik

Reputacja: 166
Profesjonalista

  • Postów:612
  • Lokalizacja:Jasło
Offline

Napisano 19.09.2010 19:37

ej nupki nupki..
#include <amxmodx>
#include <fakemeta>

new bool:cos[33];
new rundy;

public plugin_init()
{
	register_plugin("Test", "1337", "[H]ARDBO[T] nuub")
	
	register_logevent("Restart", 2, "1=Restart_Round_(1_second)");
	register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
	
	register_clcmd("say /test", "Testowa")
}
public Restart()rundy = 0;
public NowaRunda()if(++rundy == 4)for(new i;i<33;i++)cos[i]=false;
public Testowa(id)
{
	
	if(!cos[id])
	{
		cos[id] = true;
		set_pev(id, pev_health,200.0)
		client_print(id, print_chat,"Super, dostales 200HP!")
	}
	else client_print(id, print_chat,"heh, Mozesz tego uzyc raz na 4 rundy.")
	return PLUGIN_CONTINUE
}

Dodano 19 wrzesień 2010 - 20:41:
z reszta i tak nie bedzie dobrze dzialalo bo resetuje wszystkim w 4 rundzie niezaleznie od tego czy uzyli czy nie (i kiedy)

Dodano 19 wrzesień 2010 - 20:44:
#include <amxmodx>
#include <fakemeta>

new cos[33];

public plugin_init()
{
        register_plugin("Test", "1337", "[H]ARDNOO[B]")
        
        register_logevent("Restart", 2, "1=Restart_Round_(1_second)");
        register_event("HLTV", "NowaRunda", "a", "1=0", "2=0");
        
        register_clcmd("say /test", "Testowa")
}
public Restart()for(new i;i<33;i++)if(cos[i])cos[i]=0;
public NowaRunda()for(new i;i<33;i++)if(cos[i])cos[i]--;
public Testowa(id)
{
        
        if(!cos[id])
        {
                cos[id] = 4;
                set_pev(id, pev_health,200.0)
                client_print(id, print_chat,"Super, dostales 200HP! Nastepny raz mozesz uzyc za 4 rundy!")
        }
        else client_print(id, print_chat,"Komende bedziesz mogl uzyc za %d rund", cos[id])
        return PLUGIN_CONTINUE
}
ale to juz powinno dzialac dobrze :P

Użytkownik kyku edytował ten post 19.09.2010 19:39

  • +
  • -
  • 0




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

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