Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2015-02-10, 16:37


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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?: :piwo: :piwo:

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 16:44


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 16:45


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

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
:shock: Widz? ze kto? mnie ubieg? :D

@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;


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 18:04


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

dzi?kuje macie po piwku: :piwo: .

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?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 18:11


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

"Pimpek2" napisał/a:

dzi?kuje macie po piwku: :piwo: .

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 18:33


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-10, 19:12


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 16:34


Adrianek1







Wiek: 36
Na forum: 4958 dni
Posty: 136
Nick w MP: Forcer

Piwa: 1434

Respekt: 37,1

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 18:08


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 18:09


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 19:46


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:05


Intern







Wiek: 30
Na forum: 4184 dni
Posty: 40
Nick w MP: Intern

Piwa: 15

Respekt: 80

"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 :D ?

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).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:19


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:26


ToxiC.







Wiek: 28
Na forum: 5246 dni
Posty: 3792

Piwa: 8590

Respekt: 1143,8
Respekt: 1143,8

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2015-02-11, 21:42


Pimpek2







Wiek: 29
Na forum: 4134 dni
Posty: 82
Nick w MP: ElPablo

Piwa: 1

Respekt: 60

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

Postaw piwo autorowi tego posta
 

 
Tagi: ustawianie :: komus :: zmiennej
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] Ustawianie komus zmiennej Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku