Jump to content
  • 0

pomoc Ban - Help prosím


JouSVK

Dotaz

Čaute, začínam s pawnom, a potreboval by som poradiť ohľadom premenných a format-u. Programujem v inom jazyku, a tak viem, že keď vám niekto povie, všetky programovacie/scriptovacie jazyky sú rovnaké pravdu nemá.

V pawne, by som potreboval Ban Script, no neviem ako ho urobiť. Snažil som sa takto:

     if (strcmp("/pban", cmdtext, true, 10) == 0)

     {

         new MenoHraca[20];

         new Sprava[20+100];

         new ID = strval(inputtext);

         GetPlayerName(ID, MenoHraca, sizeof(MenoHraca));

         format(Sprava,sizeof(Sprava),"Ban(%s)",ID);

         

     }

No je to samozrejme úplný nezmysel a nefunguje to. Potreboval by som vytvoriť /pban (ID hráča) cmd, no neviem, poradil by prosím niekto? Stačí link na nejaký vhodný TuT, ale samozrejme rada je lepšia.

Ďakujem, s pozdravom Jou

Link to comment
Share on other sites

13 odpovědí na tuto otázku

Recommended Posts

  • 0
  • Globální moderátor

Zajímalo by mě v čem programuješ, protože s tím co jsem se setkal jsou zatím všechny format specifiers stejné %d – inty, ale to není hlavní problém.

 

v sa-mpu, pokud hráč pošle příkaz, se zavolá callback OnPlayerCommandText s playerid a const string cmdtext[], kde cmdtext je příkaz, který uživatel poslal. Proto žádný "inputtext" neexistuje. Budeš si muset vyparsovat z cmdtext mezeru a sebrat následující parametr. 

 

 

// EDIT: mno, HTML není zrovna scriptovací ani programovací jazyk, ale budiž.

Edited by HighPrint
Link to comment
Share on other sites

  • 0

HTML je značkovací jazyk, nie programovací/scriptovací a nemá nič spoločné s programovaním

 

%d - číslo

%s - string (text)

 

http://wiki.sa-mp.com/wiki/Format
 

čiže na konci formátu musíš mať MenoHraca(ID), nie iba ID, pretože v tvojom prípade ID je číslo a nevráti ti to nič

 

pri klasických príkazoch sa používa strtok http://wiki.sa-mp.com/wiki/Strtokpokiaľ chce ešte nejaké parametre v príkaze, je to už trošku zložitejšie ale nič ťažké

 

ale príkazy takto málo kto robí, nájdi si návod na dcmd alebo zcmd, sú to scripty ktoré vytvorili ľudia a sú rýchlejšie/ľahšie na použitie a kombinujú sa so sscanf ktoré je tak isto jednoduchšie ako strtok

 

v zásade na to ale nejdeš zle :)

Edited by Mattsy
Link to comment
Share on other sites

  • 0

Zajímalo by mě v čem programuješ, protože s tím co jsem se setkal jsou zatím všechny format specifiers stejné %d – inty, ale to není hlavní problém.

Novejsi programovaci jazyky uz vubec tyto stare format % nepouzivaji a maji knihovny na spojovani stringu integeru atp...

 

To vis cim chytrejsi jazyk tim blbejsi programator :d

if(strcmp("/pban",cmdtext,true,5) == 0)//prikaz /pban ma 5 znaku
{
	if(cmdtext[5] != ' ') return SendClientMessage(playerid,-1,"Použití: /pban [ID]");// ocekavame ze za /pban napise mezeru
	
	new MenoHraca[MAX_PLAYER_NAME];

	new Zprava[144];

	new ID = strval(cmdtext[6]);//bereme znaky napsane po mezere

	GetPlayerName(ID, MenoHraca, sizeof(MenoHraca));

	format(Zprava,sizeof(Zprava),"Zabanoval jsi %s(%d)",MenoHraca,ID);
	SendClientMessage(playerid,-1,Zprava);
	return 1;
}

kdyby jsi chtel vice parametru nez 1 a kazdej parametr muze mit jiny pocet znaku uz je potreba pouzit cyklus a najit si dalsi mezeru (predpokladam ze dle zvyklosti budes pouzivat jako oddelovaci znak mezeru)

 

a prosim vas hlavne mu necpete zcmd a podobne kvuli jednomu prikazu. Jen at se nauci pracovat se stringem to se vzdycky hodi umet.

Edited by ATomas
Link to comment
Share on other sites

  • 0
  • Globální moderátor

"Mají knihovny na spojování stringu integeru"?

 

To jsem nikdy neslyšel, v čem to tak je?

 

edit:// nebo nechápu celou tu větu

Edited by HighPrint
Link to comment
Share on other sites

  • 0

"Mají knihovny na spojování stringu integeru"?

 

To jsem nikdy neslyšel, v čem to tak je?

 

edit:// nebo nechápu celou tu větu

c++ napriklad. nebo java dneska se tam uz s formatem temer nepracuje (je tam akorat kvuli zpetne kompabitilite) dokonce i php to nepouziva :)

Link to comment
Share on other sites

  • 0

Ďakujem za vysvetlenie.

Viem, že som zlý programátor, no keď som sa venoval C# tak prešlo dosť času, a tam som to robil inakako %c/d, ale viem, že tam boli integer, float a tak. Inak C# tiež nie je programovací jazyk, viem, je to SKORO to isté ako C++.

 

A ak sa smiem spýtať rovno ste začínali s pawn?

A prepáčte, že sa vyjadrujem neprofesionálne :-D .

Edited by JouSVK
Link to comment
Share on other sites

  • 0
  • Globální moderátor

C++? Možná jsem staromódní, ale slyším o tom fakt poprvé

 

 

C# je programovací jazyk a začínal jsem na pawnu než jsem přešel přes různé jazyky a nyní jsem zůstal v C. Profesionálové tu nejsme nikdo

Link to comment
Share on other sites

  • 0

Ďakujem za vysvetlenie.

Viem, že som zlý programátor, no keď som sa venoval C# tak prešlo dosť času, a tam som to robil inakako %c/d, ale viem, že tam boli integer, float a tak. Inak C# tiež nie je programovací jazyk, viem, je to SKORO to isté ako C++.

 

A ak sa smiem spýtať rovno ste začínali s pawn?

A prepáčte, že sa vyjadrujem neprofesionálne :-D .

 

 

Nazvat teba programatorom je to iste, co nazvat ho*no jedlom.

Link to comment
Share on other sites

  • 0

Ďakujem za vysvetlenie.

Viem, že som zlý programátor, no keď som sa venoval C# tak prešlo dosť času, a tam som to robil inakako %c/d, ale viem, že tam boli integer, float a tak. Inak C# tiež nie je programovací jazyk, viem, je to SKORO to isté ako C++.

 

A ak sa smiem spýtať rovno ste začínali s pawn?

A prepáčte, že sa vyjadrujem neprofesionálne :-D .

Ja zacinal na pawnu a dneska jsem v pawnu jako doma. Pred rokem cca jsem zabrousil do c++ a ver mi ze tam jsou velke rozdily. Jako c++ je oproti pawnu hodne dopredu, jen ho trochu brzi treba ten debilni switch (zrejme musel bych takto blbe zachovan prave kvuli zpetne kompabilite). Hlavne na kazde prd je potreba v c++ knihovna. Nastesti pawno ma hromadu veci uz importovanych a nemusi to clovek resit.

Link to comment
Share on other sites

  • 0

Ja su zacinal na C++/PHP, potom presiel asi dalsimi 15-timi jazykmi a teraz aktivne pouzivam iba D (v praci C++). Ak sa tym chces zivit, co odporucam, tak sa na nejake pawn vyser a zacni s opravdovymi jazyky.

 

 

No, na C++ vecinou staci jedna rozumna knihovna. Mas tam nativne STD a STL na uplny zaklad, potom mozes pouzit bud WinAPI na to, co potrebujes, alebo tu mas frameworky typu Qt, Embarcadero a pod. na klikacky, kde mas prakticky uz vsetko predpripravene.

 

C++ programator je najlepsie plateny.

Java je celkom ez a nepotrebujes prakticky nic vediet nato, aby si mohol vykonavat profesiu programatora.

D - najlepsi jazyk vsetkych cias. Kdo neskusil, moze lutovat.

Link to comment
Share on other sites

  • 0

jako sory ale Qt knihovny to dneska v tom muze delat kazdy pascal a nemusi ani nic vedet o tom jak funguji stringy to vsechno Qt dela za nej :d

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...