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

Wysłany: 2013-12-24, 10:27


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

Witam mam w?a?ciwie pytanie a nie problem.

---------------------------------------------
if(!strcmp(cmd, "/myinfo"))
{
new n[24], a, c[40];
sscanf(params, "sds", n, a, c);
//cos tam od komendy
return 1;
}
-------------------------------------------------

Czy to co jest zaznaczone na pomara?czowo to robi jak?? r??nice jak to zaznacze?

I czy to co na czerwono czy te cyfry te? maj? jak?? r??nice.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 10:59


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

Te liczby zaznaczone na czerwono, to wielko?ci tablicy. Np. tablica o wielko?ci 24, zmie?ci w sobie 24 znaki.
W Twoim kodzie, "n" i "c" to ci?gi znak?w, czyli "string". W sscanf'ie stringi okre?la si? literk? "s".
"a" natomiast to zwyk?a zmienna, czyli liczba. Liczby okre?la si? jako "d".

Czyli to co na pomara?czowo to "sds" - 2 ci?gi znak?w po bokach i w ?rodku jaka? liczba. Przyk?adowo wywo?ana komenda: /myinfo ci?g znak?w (max. 24 znaki) 55555 drugi ci?g znak?w (max. 40 znak?w)
Sscanf sam rozr??nia ci?gi i liczby, tak wi?c to co poda?em b?dzie poprawnie wczytane nawet je?li nie wida? dok?adnych przerw (bo wsz?dzie s? spacje).

Pozdrawiam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 11:01


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

Quis, Czyli przyk?adowo mam tak? komende.

if (strcmp("/mandat", cmdtext, true, 10) == 0)
{
new id;//Id gracza
new kwota;//Kwota mandatu
new powod;//powod mandatu
if(sscanf(cmdtext, "s", id, kwota, powod)) return 1;
{


To co na pomara?czowo zaznaczy?em dobrze?

[ Komentarz dodany przez: ToxiC`: 2013-12-24, 11:11 ]
Nie s, tylko dds chyba :P

[ Komentarz dodany przez: ToxiC`: 2013-12-24, 11:11 ]
I pow?d to ci?g znak?w, wi?c musisz da? ich liczb? w []

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 11:11


Quis

Wszechwiedzący






Wiek: 31
Na forum: 5146 dni
Posty: 464
Nick w MP: Quis

Piwa: 1110

Respekt: 325
Respekt: 325Respekt: 325Respekt: 325

Nie, powinno by? "dds" bo masz tutaj dwie liczby i jeden ci?g znak?w. "powod" powinien by? zdefiniowany tak:
Kod:

new powod[64]; //maksymalnie 64 znaki

No i og?lnie w strcmp takie co? nie dzia?a, bo do sscanf'a podaje si? parametry komendy, a nie ca?o??, razem z sam? komend?.

Przyk?adowo u?yjesz komendy: "/mandat 1 5000 Przekroczenie pr?dko?ci"
Wtedy zostaje wywo?any public OnPlayerCommandText. Parametr "cmdtext" zawiera ca?? zawarto?? komendy, czyli "/mandat 1 5000 Przekroczenie pr?dko?ci". U?ywaj?c "if(!strcmp("/mandat", cmdtext, false, 7))" por?wnujesz pierwsze 7 znak?w "cmdtext" z "/mandat" i je?li strcmp zwr?ci "0", wywo?ywany jest kod komendy. Do sscanf'a musisz poda? "1 5000 Przekroczenie pr?dko?ci". Dlatego w?a?nie programi?ci u?ywaj? np. ZCMD, bo nie trzeba si? bawi? w rozdzielanie tego ci?gu znak?w. W przypadku strcmp trzeba zastosowa? funkcj? "strtok" kt?ra wycina kod mi?dzy spacjami. Je?li chcesz u?ywa? strcmp+sscanf najlepiej u?ywa? funkcji strrest, kt?ra zwraca ca?o?? od pierwszej spacji, bez potrzeby zabawy strtokiem.

Pozdrawiam

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 11:15


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

Quis, a da jako? rade po??czy? zcmd z strcmp?

[ Dodano: 2013-12-24, 11:15 ]
Nors, I czy dcmd to jest to samo?

Podpis
Daj piweczko. Pić się chce.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 11:40


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

#1. ZCMD jest najprostsze.
#2. ZCMD jest najszybsze.
#3. DCMD jest stare jak ?wiat.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 11:53


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

IgrexolonO, a da sie jako? po??czy? zcmd z strcmp?

Podpis
Daj piweczko. Pić się chce.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 12:50


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Wszystko si? da. Ale zrozum, ?e pisaniem komend "normalnie", czyli poprzez wpisywanie kodu bezpo?rednio w public OnPlayerCommandText, spowalniasz sw?j skrypt, map? w/e.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 12:54


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

IgrexolonO, aha czyli najlepjej jak bym wszystkie komendy w zcmd zrobi??

Podpis
Daj piweczko. Pić się chce.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:01


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Nors" napisał/a:

IgrexolonO, aha czyli najlepjej jak bym wszystkie komendy w zcmd zrobi??


ta

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:03


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

"IgrexolonO" napisał/a:

"Nors" napisał/a:

IgrexolonO, aha czyli najlepjej jak bym wszystkie komendy w zcmd zrobi??


ta

uhuhu. ponad 30 40 komend zmieniac ;p

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:04


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Nors" napisał/a:

"IgrexolonO" napisał/a:

"Nors" napisał/a:

IgrexolonO, aha czyli najlepjej jak bym wszystkie komendy w zcmd zrobi??


ta

uhuhu. ponad 30 40 komend zmieniac ;p


10 minut roboty.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:04


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

Nors, jest mo?e jaki? konverter kt?ry zamienia wszystkie komendy odrazu?

Podpis
Daj piweczko. Pić się chce.
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:05


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

"Nors" napisał/a:

Nors, jest mo?e jaki? konverter kt?ry zamienia wszystkie komendy odrazu?


a no jest, logiczne my?lenie i troche ch?ci. Daj te komendy tu.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-12-24, 13:30


Nors

Wszystko wiem.






Wiek: 30
Na forum: 4600 dni
Posty: 223
Nick w MP: Nors

Piwa: 10

Respekt: 50

IgrexolonO, Prosze bardzo

http://pastebin.com/85Hk5HVs

Podpis
Daj piweczko. Pić się chce.
Postaw piwo autorowi tego posta
 

 
Tagi: tworzenie :: komend :: sscanf?
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] Tworzenie komend sscanf? 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