/* Plugin generated by AMXX-Studio */ #include #include #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" new Array:Handle, Array:String public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) Handle = ArrayCreate(1, 2) String = ArrayCreate(1, 6) register_clcmd("say", "Say") register_clcmd("say /sprawdz", "Sprawdz") } public Say(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE new szWpisanyText[33], text[2][10], liczba read_args(szWpisanyText, 32) parse(szWpisanyText, text[0], 9, text[1], 9) if(equali(text[0], "/sprawdz")) return PLUGIN_CONTINUE liczba = str_to_num(text[0]) ArraySetCell(Handle, 0, liczba) ArraySetArray(String, 0, text[1]) return PLUGIN_CONTINUE } public Sprawdz(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE new string[10]; ArrayGetArray(Handle, 0, string) client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string) return PLUGIN_CONTINUE }i źle działa, a dokładniej nie wypisuje i liczby i stringu, ponieważ wywala jakiś błąd w konsoli. Co jest nie tak ? ( Sorka, za podejście typowo 'chama' jednak widzicie która godzina - A i jestem tego pełni świadomy ;d)
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.
|
Array'e
#1
Napisano 21.10.2013 22:19
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#2
Napisano 21.10.2013 22:27
public Say(id)
{
new szWpisanyText[33], text[2][10], liczba
read_args(szWpisanyText, 32)
remove_quotes(szWpisanyText);
parse(szWpisanyText, text[0], 9, text[1], 9)
if(equali(text[0], "/sprawdz"))
return
liczba = str_to_num(text[1])
ArrayPushCell(Handle, liczba)
ArrayPushString(String, text[1])
}
"is_user_connected" raczej zbędne.
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#3
Napisano 21.10.2013 22:36
STRIKER--McPr0 :D : 5 string STRIKER--McPr0 :D : /sprawdz STRIKER--McPr0 :D : Liczba: 0 | String:0 błędów, 0 errorów, plugin dobrze załadowany.
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#4
Napisano 21.10.2013 22:41
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#5
Napisano 21.10.2013 22:43
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#6
Napisano 21.10.2013 22:59
public Say(id)
{
new szWpisanyText[33], text[2][10]
read_args(szWpisanyText, 32)
remove_quotes(szWpisanyText)
parse(szWpisanyText, text[0], 9, text[1], 9)
if(equali(text[0], "/sprawdz"))
return
ArraySetCell(Handle, 0, str_to_num(text[0]))
ArraySetArray(String, 0, text[1])
}
public Sprawdz(id)
{
new string[10]; ArrayGetString(String, 0, string, 9)
client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string)
}
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#7
Napisano 22.10.2013 15:24
L 10/22/2013 - 16:19:43: Invalid cellvector handle provided (7:0:0) L 10/22/2013 - 16:19:43: [AMXX] Displaying debug trace (plugin "Untitled.amxx") L 10/22/2013 - 16:19:43: [AMXX] Run time error 10: native error (native "ArraySetCell") L 10/22/2013 - 16:19:43: [AMXX] [0] s.sma::Say (line 31) STRIKER--McPr0 :D : 50123 text_2 Time Left: 19:42 min. Next Map: de_airstrip L 10/22/2013 - 16:19:47: Invalid cellvector handle provided (8:0:0) L 10/22/2013 - 16:19:47: [AMXX] Displaying debug trace (plugin "Untitled.amxx") L 10/22/2013 - 16:19:47: [AMXX] Run time error 10: native error (native "ArrayGetString") L 10/22/2013 - 16:19:47: [AMXX] [0] s.sma::Sprawdz (line 37) STRIKER--McPr0 :D : /sprawdz
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#8
Napisano 22.10.2013 15:45
public Say(id) { if(equali(text[0], "/sprawdz")) return new szWpisanyText[33], text[2][10] read_args(szWpisanyText, 32) remove_quotes(szWpisanyText) parse(szWpisanyText, text[0], 9, text[1], 9) ArrayPushCell(Handle, str_to_num(text[0])) ArrayPushString(String, text[1]) } public Sprawdz(id) { new string[10]; ArrayGetString(String, 0, string, 9) client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string) }
#9
Napisano 22.10.2013 15:59
public Say(id) { if(equali(text[0], "/sprawdz")) returnJuż widzę błąd, text[0] nie istnieje, ponieważ jest później deklarowany
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#10
Napisano 22.10.2013 20:52
public Say(id) { new szWpisanyText[33], text[2][10] read_args(szWpisanyText, 32) remove_quotes(szWpisanyText) parse(szWpisanyText, text[0], 9, text[1], 9) if(equali(text[0], "/sprawdz")) return ArrayPushCell(Handle, str_to_num(text[0])) ArrayPushString(String, text[1]) } public Sprawdz(id) { new string[10]; ArrayGetString(String, 0, string, 9) client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string) }
Chodzi o to, że ArrayPush* używa się do wklepania danych, a ArraySet* do ich edycji
Użytkownik d0naciak edytował ten post 22.10.2013 20:53
#11
Napisano 22.10.2013 21:06
STRIKER--McPr0 :D : 2 string STRIKER--McPr0 :D : /sprawdz STRIKER--McPr0 :D : 5 string Liczba: 5 | String: STRIKER--McPr0 :D : /sprawdz Type 'amx_langmenu' in the console to display a menu where you can choose your language STRIKER--McPr0 :D : 2 string STRIKER--McPr0 :D : string 5 Liczba: 5 | String: STRIKER--McPr0 :Za każdym razem wypisuje pierwszą liczbę, którą wpisuję, a string'a w ogole np:
Wpisałem -> 102 jakis_napis Wypisało -> Liczba: 102 String: Wypisałem -> 101 jakis_napis2 Wypisało -> liczba: 102 String:To jest cały kod
/* Plugin generated by AMXX-Studio */ #include #include #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" new Array:Handle, Array:String public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) Handle = ArrayCreate(1, 2) String = ArrayCreate(1, 6) register_clcmd("say", "Say") register_clcmd("say /sprawdz", "Sprawdz") } public Say(id) { new szWpisanyText[33], text[2][10] read_args(szWpisanyText, 32) remove_quotes(szWpisanyText) parse(szWpisanyText, text[0], 9, text[1], 9) if(equali(text[0], "/sprawdz")) return ArrayPushCell(Handle, str_to_num(text[0])) ArrayPushString(String, text[1]) } public Sprawdz(id) { new string[10]; ArrayGetString(String, 0, string, 9) client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string) }
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
#12
Napisano 22.10.2013 22:03
Przecież wiadomo dlaczego wyświetla ci poprzednią liczbe, bo:
ArrayGetCell(Handle, 0); //0 - to jest ID elementu w tablicy czyli ten 1 co wpisałeś, 2 będzie miał ID = 1, itd.
#13
Napisano 23.10.2013 07:41
/* Plugin generated by AMXX-Studio */ #include #include #define PLUGIN "New Plug-In" #define VERSION "1.0" #define AUTHOR "author" new Array:Handle, Array:String public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) Handle = ArrayCreate(1, 1) String = ArrayCreate(10, 1) ArrayPushCell(Handle, 0) ArrayPushString(String, "") register_clcmd("say", "Say") register_clcmd("say /sprawdz", "Sprawdz") } public Say(id) { new szWpisanyText[33], text[2][10] read_args(szWpisanyText, 32) remove_quotes(szWpisanyText) parse(szWpisanyText, text[0], 9, text[1], 9) if(equali(text[0], "/sprawdz")) return ArraySetCell(Handle, 0, str_to_num(text[0])) ArraySetString(String, 0, text[1]) } public Sprawdz(id) { new string[10]; ArrayGetString(String, 0, string, 9) client_print(id, 3, "Liczba: %d | String: %s", ArrayGetCell(Handle, 0), string) }Teraz działa, teraz tylko pytanie dotyczące tego
Handle = ArrayCreate(1, 1) String = ArrayCreate(10, 1)W Handle ( Czyli num) Ustawiam wielkość początkową 1 a w String wielkość początkową 10 ? A potem jak w set to będzie przewyższać ( X > 10 ) to ta wartość '10' ulegnie zmianie na wyższą, byle by wypisało text ?
Nowa wersja Tower Defense 0.2 Alpha | Inne Mody -> Nowości
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych