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] String / Stock - jak i kiedy się używa?


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

#1 Filip1512

    Wszechmogący

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 17:57

Cześć,
mam głupie, choć jak dla mnie ważne pytanie, bo mi się przyda zapewne i w końcu przestanie mnie dręczyć to pytanie :P

Kiedy się używa "string" i "stock"? Dużo razy widziałem, że funkcje zaczynały się bez "public", czyli normalnie

stock nazwa{
funkcja
}

Wytłumaczy mi to ktoś, w miare prostym językiem? :P

(poprawione...)

Użytkownik `NN edytował ten post 24.10.2012 18:26

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#2 CheQ

    Nie wiem, nie znam się, nie orientuję się, zarobiony jestem.

  • Junior Admin

Reputacja: 1984
Godlike

  • Postów:5534
  • Imię:Adaś
  • Lokalizacja:Glinianka
Offline

Napisano 24.10.2012 17:59

Kiedy się używa string? to znaczy ? jakiś przykład O.o
  • +
  • -
  • 0

b_560_95_1.png


#3 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 18:02

No właśnie ja potrzebuje przykładu :P Bo dziś znajomy mi wysłał coś w stylu

new string:Nazwa = "say_team @lol";

A ja nie wiem, co tu on chciał w ogóle osiągnąć :o
No i co z tymi "stock" jeszcze?

Użytkownik `NN edytował ten post 24.10.2012 18:04

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#4 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6034
Godlike

  • Postów:10832
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.10.2012 18:28

string oznacza ciąg znaków

stock oznacza funkcje prywatną pluginu której nie użycie nie prowadzi do warningów przy kompilacji
prywatna funkcja to taka którą mogą wywołać tylko funkcje z pluginu , amxx nie może jej wywołać można powiedzieć że mamy tutaj namiastkę enkapsulacji

Użytkownik DarkGL edytował ten post 24.10.2012 18:29

  • +
  • -
  • 4

#5 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 18:35

Dzięki :) Czyli string można użyć jako tablicy, tak ?
Można jeszcze prosić o jakieś przykłady?

I jeszcze mam dodatkowe pytanie - kiedy się używa new const?
Bo tak na "zgadywanki", to zgaduje, że jest to stała, której żadna inna funkcja nie może zmienić, tak?

I jeszcze - jakie są składnie wszystkich trzech?

Użytkownik `NN edytował ten post 24.10.2012 18:36

  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#6 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6034
Godlike

  • Postów:10832
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.10.2012 18:41

const informuje kompilator że obszar pamięci nie może być modyfikowany dzięki temu zmniejsza się ryzyko błędu co skutkowało by żmudnym debugowaniem dlaczego aplikacja nie działa tak jak chcemy jednak jest to realizowane tylko przy kompilacji tzn. obszar pamięci może zostać zmodyfikowany przez już w czasie działania
  • +
  • -
  • 2

#7 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 18:43

No tutaj już mniej zrozumiałem, mógłbyś podać jakieś konkretne przykłady?
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#8 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

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

Napisano 24.10.2012 18:50

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new const g_Test = 2;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	g_Test = 21;
}


Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

das.sma(15) : error 022: must be lvalue (non-constant)
das.sma(15) : warning 215: expression has no effect
das.sma(16) : warning 203: symbol is never used: "g_Test"

1 Error.
Could not locate output file das.amxx (compile failed).

Po usunięciu const

Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team

das.sma(16) : warning 204: symbol is assigned a value that is never used: "g_Test"
Header size:            116 bytes
Code size:               96 bytes
Data size:              124 bytes
Stack/heap size:      16384 bytes; estimated max. usage=778 cells (3112 bytes)
Total requirements:   16720 bytes

1 Warning.
Done.

  • +
  • -
  • 1

If you can dream it, you can do it.


#9 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

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

Napisano 24.10.2012 18:52


new const nazwy_klas[][] = {"Brak",
"Snajper",
"Komandos",
"Strzelec wyborowy",
"Obronca",
"Medyk",
"Wsparcie ogniowe",
"Saper",
"Demolitions",
"Rusher",
"Szeregowy",
"Partyzant",
"Szpieg",
"Szturmowiec",
"Strzelec Wsparcia",
"Lekki Zolniez",
"Rebeliant",
"Profesjonalny Wojak",
"S.W.A.T.",
"Zlodziej"
};


Ojojoj, tak to właśnie jest jak mam włączone 15 kart i wszystkich nie przepatrzę w minutę :D

Użytkownik K!113r edytował ten post 24.10.2012 18:53

  • +
  • -
  • 0

DarkGL to mój autorytet.

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


#10 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 18:59

Ok, mniej więcej czaje :P

A co ze składnią stock i string?
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#11 DarkGL

    Nie oddam ciasteczka !

  • Administrator

Reputacja: 6034
Godlike

  • Postów:10832
  • GG:
  • Steam:steam
  • Imię:Rafał
  • Lokalizacja:Warszawa
Offline

Napisano 24.10.2012 20:29

A co ze składnią stock i string?

tzn ?
  • +
  • -
  • 0

#12 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

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

Napisano 24.10.2012 20:59

http://amxx.pl/topic...w-pawnie/#stock
  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#13 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 21:32

Dokładnie o to mi chodziło killer, dzięki :)

Jeszcze jakiś przykładzik zastosowania string i można zamknąć :)
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#14 speedkill

    Godlike

  • Przyjaciel

Reputacja: 1570
Godlike

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

Napisano 24.10.2012 21:53

String jest to ciąg znaków.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

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

new g_Prefix[] = "Test";

public plugin_init(){
	register_plugin(PLUGIN, VERSION, AUTHOR);
	set_task(20.0,"TestFunc",.flags="b");
}
public TestFunc(){
	client_print(0,3,"%s",g_Prefix);
}

  • +
  • -
  • 1

If you can dream it, you can do it.


#15 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 22:03

[] <- jest konieczne ?
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#16 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

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

Napisano 24.10.2012 22:04

String to ciąg znaków i jest przechowywany w tablicach znakowych (jeden element tablicy na każdą literę), lecz liter w stringu może być Rozmiar_tablicy-1, gdyż ostatnim znakiem jest NULL.

new szText[11]
formatex(szTest, 10, "Testowanie")
client_print(0, print_chat, szText)
client_print(0, print_chat, "trzecia litera w ciagu to: %s", szText[2])


@UP Tak, bo on tworzy tablice ze stringiem, lecz w jego zapisie kompilator sam obliczy ile elementów musi mieć tablica, niestety bez przypisania tego nie można zrobić.
Jeżeli byś chciał bez [] to możesz przechować jeden znak (jako char - znak, nie jako ciąg znaków, bo nie ma NULL)

Użytkownik K!113r edytował ten post 24.10.2012 22:06

  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#17 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 22:45

Czy takie coś jest dobrze zrobione?

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "tescik"
#define VERSION "1.0"
#define AUTHOR "Filip"



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

set_task(30.0, "funkcja", _, _, _, "b")
set_task(15.0, "spamhud", _, _, _, "b")

}

public funkcja(){
new szTekst[] = "czesc"
new nick[32]
for(new id=1; id<33; id++){
if(is_user_connected(id))
get_user_name(id, nick, 31)
client_print(id, print_chat, "%s mowi %s", nick, szTekst)
}
}

public spamhud(){
new Spam[32]
formatex(Spam, 31, "Trzecia litera Twojego nicku to:")
new nick[32]

for(new id=1; id<33; id++){
if(is_user_connected(id))
get_user_name(id, nick, 31)
client_print(id, print_chat, "%s %s", Spam, nick[3])
}
}


Mam rozumieć, że jak jest samo [], to poprostu od razu przypisujemy mu tekst po =, a jak ma do niej coś zostać zapisane to nadajemy tej tablicy ilość miejsc, tak?
Wybaczcie za takie pytania :P
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#18 K!113r

    Czempion

  • Power User

Reputacja: 385
Wszechpomocny

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

Napisano 24.10.2012 22:54

tyle że jak użyjesz [] to kompilator sam ustala ile musi zarezerwować pamięci i jeśli byś chciał tam coś wpisać to musisz wiedzieć jak wielką tablicę deklarujesz, np. new tekst[] = "ba" to tablica jest 3-elementowa i tekst[3] nie istnieje :D
  • +
  • -
  • 1

DarkGL to mój autorytet.

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


#19 Filip1512

    Wszechmogący

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:641
  • Steam:steam
  • Imię:Filip
  • Lokalizacja:Poland
Offline

Napisano 24.10.2012 22:59

No to już wszystko rozumiem, dzięki, można zamknąć :D
  • +
  • -
  • 0
Filip / `NN
Wymuszanie rate'ów co spawna - update v2.1!

#20 Kawon

    Godlike

  • Przyjaciel

Reputacja: 884
Czempion

  • Postów:5165
  • Steam:steam
  • Imię:Paweł
  • Lokalizacja:Dzierzgoń
Offline

Napisano 24.10.2012 23:00

Wiadomość wygenerowana automatycznie


Ten temat został zamknięty przez moderatora.

Powód: Pomoc udzielona

Jeśli się z tym nie zgadzasz, Dołączona grafika raportuj ten post, a moderator lub administrator rozpatrzy go ponownie.


Z pozdrowieniami,
Zespół AMXX.PL
  • +
  • -
  • 0

DarkGL to mój autorytet.





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

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