Wpisanie do zmiennej wartości podanej prze...
K!113r
15.03.2012
Więc przejdźmy do meritum sprawy:
widziałem w amxbans że można samemu wpisywać dane, oczywiście wyskakuje nam linijka tekstu no i musimy coś wpisać (albo nie musimy ) i chciałem się dowiedzieć jak otrzymać taki efekt i czy można tym nadać wartość zmiennej. Nie jest mi ta odpowiedź potrzebna na już, ale przyda mi się w przyszłości.
widziałem w amxbans że można samemu wpisywać dane, oczywiście wyskakuje nam linijka tekstu no i musimy coś wpisać (albo nie musimy ) i chciałem się dowiedzieć jak otrzymać taki efekt i czy można tym nadać wartość zmiennej. Nie jest mi ta odpowiedź potrzebna na już, ale przyda mi się w przyszłości.
^Grzyboo
15.03.2012
Przeanalizuj sobie:
Edited by ^Grzyboo, 15.03.2012 21:52.
#include <amxmodx>
#include <amxmisc>
new gZmiennaGracza[33];
public plugin_init()
{
register_plugin("NewPlugin", "v1.01", "Grzyboo");
register_clcmd("WprowadzLiczbe", "HandleWprowadz", -1);
}
public FunkcjaNaWpisywanie(id)
{
client_cmd(id, "messagemode WprowadzLiczbe");
}
public HandleWprowadz(id)
{
static arg[6];
read_argv(1, arg, 5);
if ( !strlen(arg) )
{
client_print(id, print_chat, "Nie moze zostac puste!");
client_cmd(id, "messagemode WprowadzLiczbe");
return PLUGIN_HANDLED;
}
gZmiennaGracza[id] = str_to_num(arg);
return PLUGIN_HANDLED;
}
Edited by ^Grzyboo, 15.03.2012 21:52.
ogieR8
18.03.2012
gZmiennaGracza[id] = str_to_num(arg);
A nie czasem ?
copy(gZmiennaGracza[id], 128, arg);
Tak mi kiedyś napisał maslo
str_to_num to jest tekst do liczby, a ty masz tekst do tekstu więc musisz użyć copy.
Bo robiłem sobie zapisanie hasła, jakie się wpisuje w messagemode do zmiennej z użyciem właśnie jak Ty str_to_num i takiej porady zadał mi maslo i od tego momentu smiga świetnie
Edited by ogieR-, 18.03.2012 15:47.
ogieR8
18.03.2012
No widzę, ale myślałem, że on od tak sobie to nazwał. A co jak gracz wpisze np jakiś tekst ? Wtedy nie wyświetli go, czy cała zmienna będzie bez danych ? ; /
DarkGL
18.03.2012
jak wprowadzi tekst to zmienna przyjmie wartość 0
skoro prosiliśmy gracza o liczby to oczekujemy liczb nie tekstu jak nie ma liczb to jest 0
jakbyśmy prosili o podanie tekstu to wtedy twój kod jest ok ( w sumie i tak jest ok ale my chcemy mieć liczbę a nie tekst )
skoro prosiliśmy gracza o liczby to oczekujemy liczb nie tekstu jak nie ma liczb to jest 0
jakbyśmy prosili o podanie tekstu to wtedy twój kod jest ok ( w sumie i tak jest ok ale my chcemy mieć liczbę a nie tekst )
ogieR8
19.03.2012
Czyli na upartego można użyć i jego i mój, ale pod 2 kwestie :
1 moje jest uniwersalne
2 jego jest jakby z takim.. zabezpieczeniem, że jeśli w liczbach pojawi się litera etc to zmienna przyjmie wartość 0
Dobrze rozumiem to ?
1 moje jest uniwersalne
2 jego jest jakby z takim.. zabezpieczeniem, że jeśli w liczbach pojawi się litera etc to zmienna przyjmie wartość 0
Dobrze rozumiem to ?
sebul
19.03.2012
Nie, Twoim sposobem do tablicy wpiszesz jakiś ciąg znaków, a nie jakąś cyfrę. A jeszcze inaczej, "1" to nie to samo co 1.Dobrze rozumiem to ?
mierzwi 22.03.2012
jeszcze dla pewności możesz użyć stocka i sprawdzić czy to liczba
bool:IsStrFloat(string[]) { new len = strlen(string); for ( new i = 0; i < len; i++ ) { switch ( string[i] ) { case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '.', '-': continue; default: return false; } } return true; }