Wysłany: 2015-02-10, 16:37
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
Witam czy ktos by m?g? mi napisac komend? na ustawienie komus zmiennej na taka jak? chce wpisan? w komendzie?::
Zmienna to:
new Kanapka[MAX_PLAYERS];
Komenda ma wygl?dac tak
/dajkanapke [id osoby] [ilosc na jak? ma miec zmienn?]
Komend? prosz? w systemie zcmd..
I odrazu odpowiedzcie czy lepszy jest zcmd czy strcmp?/
Z g?ry dzi?kuj?:
Wysłany: 2015-02-10, 16:44
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
CMD:dajkanapke(playerid, params[])
{
new id, ilosc;
if(sscanf(params, "dd", id, ilosc))
return SendClientMessage(playerid, -1, "/DajKanapke [ID] [Ilosc]");
if(!IsPlayerConnected(id))
return SendClientMessage(playerid, -1, "Nie ma takiego gracza");
Kanapka[id] = ilosc;
new s[84];
format(s, sizeof(s), "Dales %d kanapek graczowi.", ilosc);
SendClientMessage(playerid, -1, s);
format(s, sizeof(s), "Admin dal Ci %d kanapek", ilosc);
SendClientMessage(id, -1, s);
return 1;
}
Zcmd polecam
Ostatnio zmieniony przez ToxiC. 2015-02-10, 16:48, w całości zmieniany 1 raz
Wysłany: 2015-02-10, 16:45
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Pierwszy i ostatni raz daj? gotowy kod.
Kod: CMD:dajkanapke(playerid,cmdtext[]){
if(IsPlayerAdmin(playerid))
{
new gracz,wartosc;
if(sscanf(cmdtext,"ud",gracz,wartosc)){
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajkanapke [id_gracza] [ilosc]");
return 1;
}
if(!IsPlayerConnected(gracz)){
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
Kanapka[gracz] += wartosc;
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? graczowi %s(ID:%d) %d kanapek", PlayerName(gracz),gracz,wartosc);
SendClientMessage(playerid, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
@edit
Widz? ze kto? mnie ubieg?
@edit2
Kiepsko opisa?e? jak to ma dok?adnie wygl?da? ale zrobimy tak:
Jesli chcesz aby nie zale?nie od liczby jak? posiadamy dawa?o to(wyzeruje i da tyle ile wpiszesz)
Kod: Kanapka[gracz] = wartosc;
a je?li chcesz aby do aktualnego stanu dodawa?o tyle ile wpiszesz to :
Kod: Kanapka[gracz] += wartosc;
Wysłany: 2015-02-10, 18:04
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
dzi?kuje macie po piwku: .
I jeszce dwa pytanka:
1) z strcmp szybko przejsc na zcmd to w taki spos?b ze tam gdzie komenda jest zmieniamy :
TO
Kod: if(strcmp(cmdtext, "/dajkanapke", true)==0)
{
na to:
Kod:
CMD:dajkanapke(playerid, params[])
{
i cmdtext na params i to tyle tak?
2) Jak zrobic zeby w ilosci wpisywac max od 0 do 4?
Wysłany: 2015-02-10, 18:11
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
"Pimpek2" napisał/a :dzi?kuje macie po piwku: .
I jeszce dwa pytanka:
1) z strcmp szybko przejsc na zcmd to w taki spos?b ze tam gdzie komenda jest zmieniamy :
TO
Kod: if(strcmp(cmdtext, "/dajkanapke", true)==0)
{
na to:
Kod:
CMD:dajkanapke(playerid, params[])
{
i cmdtext na params i to tyle tak?
2) Jak zrobic zeby w ilosci wpisywac max od 0 do 4?
1. Miej wi?cej, a co do cmdtext na params to nie ma r??nicy bo mo?e by?:
Kod: CMD:dajkanapke(playerid, params[])
i mo?e by? te?:
Kod: CMD:dajkanapke(playerid, cmdtext[])
2. Kod: if(wartosc > 0 || wartosc < 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
oraz polecam doda? to:
Kod:
if(wartosc < 0)
{
SendClientMessage(playerid, COLOR_RED, "B??dna warto??. ( Nie mozna wpisac kwoty na minus)");
return 1;
}
Ca?y kod:
Kod: CMD:dajkanapke(playerid,cmdtext[])
{
if(IsPlayerAdmin(playerid))
{
new gracz,wartosc;
if(sscanf(cmdtext,"ud",gracz,wartosc))
{
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajkanapke [id_gracza] [ilosc]");
return 1;
}
if(!IsPlayerConnected(gracz))
{
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
if(wartosc > 0 || wartosc < 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
if(wartosc < 0)
{
SendClientMessage(playerid, COLOR_RED, "B??dna warto??. (Kwota na minus)");
return 1;
}
Kanapka[gracz] += wartosc;
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? graczowi %s(ID:%d) %d kanapek", PlayerName(gracz),gracz,wartosc);
SendClientMessage(playerid, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
Ostatnio zmieniony przez Intern 2015-02-11, 18:20, w całości zmieniany 1 raz
Wysłany: 2015-02-10, 18:33
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
jest jeden problem ja tego nie testowa?em i teraz spr?bowa?em ztestowa? i wygl?da to tak:
O co chodzi???
KOD:
Kod: if(strcmp(cmdtext, "/dajkanapke", true)==0)
{
if(IsPlayerAdmin(playerid))
{
new gracz,wartosc;
if(sscanf(cmdtext,"ud",gracz,wartosc))
{
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajkanapke [id_gracza] [ilosc]");
return 1;
}
if(!IsPlayerConnected(gracz))
{
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
if(wartosc > 0 || wartosc < 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Kanapka[gracz] += wartosc;
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? graczowi %s(ID:%d) %d kanapek", PlayerName(gracz),gracz,wartosc);
SendClientMessage(playerid, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
[ Komentarz dodany przez: Iggy : 2015-02-10, 19:54 ]
Doda?em tagi [code]/Iggy
Ostatnio zmieniony przez Iggy 2015-02-10, 19:53, w całości zmieniany 2 razy
Wysłany: 2015-02-10, 19:12
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
sprawd? tak:
Kod: if(sscanf(cmdtext,"ii",gracz,wartosc))
w sumie i tak nie zadzia?a bo da?e? na poczatku nie zdefiniowane strcmp.
Ustaw t? komend? jako CMD: tak b?dzie lepiej, strcmp u?ywa si? w wi?kszo?ci do sprawdzania wpisanego tekstu.
strcmp sprawdza czy wpisany tekst jest taki jak zosta? zdefiniowany w zmiennej.
Wysłany: 2015-02-11, 16:34
Adrianek1
Wiek: 36 Na forum: 4957 dni Posty: 136
Nick w MP: Forcer
Piwa : 1434
Tak powinno dzia?a?:
Kod: CMD:dajkanapke(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new gracz,wartosc;
if(sscanf(params,"ud",gracz,wartosc))
{
SendClientMessage(playerid, COLOR_WHITE, "Wpisz /dajkanapke [id_gracza] [ilosc]");
return 1;
}
if(!IsPlayerConnected(gracz))
{
SendClientMessage(playerid, COLOR_RED, "Gracz o podanym ID nie jest zalogowany.");
return 1;
}
if(wartosc > 0 || wartosc < 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Kanapka[gracz] += wartosc;
new tmp[128];
format(tmp, sizeof(tmp), "Da?e? graczowi %s(ID:%d) %d kanapek", PlayerName(gracz),gracz,wartosc);
SendClientMessage(playerid, COLOR_RED, tmp);
}
else
{
SendClientMessage(playerid, COLOR_RED, "Nie jeste? administratorem.");
}
return 1;
}
Wysłany: 2015-02-11, 18:08
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
ju? jest lepiej ale jak wpisze /dajkanapke 0 wyskakuje:
Wpisz /dajkanapke [id_gracza] [ilosc]
CZyli dobrze ale jak wpisze:
/dajkanapke 0 2
lub
/dajkanapke 0 1
lub
/dajkanapke 0 0
lub
/dajkanapke 0 3
lub
/dajkanapke 0 4
to wyskakuje
Mozesz wpisac ilosc od 0 do 4.
Pomocy
Wysłany: 2015-02-11, 18:09
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
Kod: if(wartosc < 0 || wartosc > 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
lub
Kod: if(strval(wartosc) < 0 || strval(wartosc) > 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Wysłany: 2015-02-11, 19:46
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
dzi?ki dzia?a.
ten kod chodzi?o mi zeby ustawia? nie dawa? ale juz poprawi?em.
CZy m?g?by? jeszce mi doda? cos takiego ze jak gracz ma juz te 2 kanapki ustawione to pisze:
TEn gracz ma ju? 2 kanapki.
poda?em tylko przyk?ad ze 2 chodzi zeby tak zrobic z 0,1,2,3,4
z g?ry dzi?kuj? oczywi?cie respekt leci i piwko.
Wysłany: 2015-02-11, 21:05
Intern
Wiek: 30 Na forum: 4184 dni Posty: 40
Nick w MP: Intern
Piwa : 15
"Pimpek2" napisał/a :dzi?ki dzia?a.
ten kod chodzi?o mi zeby ustawia? nie dawa? ale juz poprawi?em.
CZy m?g?by? jeszce mi doda? cos takiego ze jak gracz ma juz te 2 kanapki ustawione to pisze:
TEn gracz ma ju? 2 kanapki.
poda?em tylko przyk?ad ze 2 chodzi zeby tak zrobic z 0,1,2,3,4
z g?ry dzi?kuj? oczywi?cie respekt leci i piwko.
Ale w jaki spos?b ?
1. Da?e? graczowi nazwa(ID:0) 2 kanapki, teraz ma 3 kanapki.?
2. jako limit w komendzie. - Ten gracz ma juz 2 kanapki i nie moze miec wiecej.
3. czy moze jako np. /kanpaki [id_gracza] - ten gracz ma 0 kanapek(w gui).
Wysłany: 2015-02-11, 21:19
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
Nie poprostu chodzi o to ?e edytowa?em t? komend? ?eby ustawia?a a nie dodawa?a.
i chc? aby jak ju? kto? ma w?asnie te 2 kanapki a ja bed? chcia? ustawi? mu jeszce raz 2 kanapki to wyskoczy:
Ale przecie? ten gracz ma ju? 2 kanapki. Wybierz inne liczby od 0 do 4.
Wysłany: 2015-02-11, 21:26
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Kod:
if(Kanapka[gracz] == wartosc)
{
new s[128];
format(s, sizeof(s), "Ten gracz aktualnie ma %d kanapek, zmie? warto?? na inn? od 0 do 4", Kanapka[gracz]);
return 1;
}
dodaj po:
Kod:
if(strval(wartosc) < 0 || strval(wartosc) > 4)
{
SendClientMessage(playerid, COLOR_RED, "Mozesz wpisac ilosc od 0 do 4.");
return 1;
}
Wysłany: 2015-02-11, 21:42
Pimpek2
Wiek: 29 Na forum: 4134 dni Posty: 82
Nick w MP: ElPablo
Piwa : 1
niby wszystko jest ok ale:
JAk ma juz id 4 i dam mu zn?w id 4 to nic nie pisze a powinno przecie? pisa?:
Ten gracz aktualnie ma 4 kanapek, zmie? warto?? na inn? od 0 do 4
Tagi: ustawianie :: komus :: zmiennej
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: