Jump to content
  • 0

pomoc Pomoc s příkazem


Rawy

Dotaz

Ahoj, dělám na modu který se podobá rze jenže mi blbne příkaz /info

 

příkaz vypadá takhle: ( nedostatky které vidíte si někdy dodělám... :d )

 



dcmd_info(playerid,params[])
{
#pragma unused params
    SCM(playerid, nic,"{0EDBF1}Info hráče %s", Jmeno(playerid));
SCM(playerid, nic,"{0EDBF1}[Hodin %d : %d Minut]", Hodiny, Minuty);
SCM(playerid, nic,"{FC9803}Kriminalita:");
SCM(playerid, nic,"{0EDBF1}[Vraždy: %d | Úmrtí: %d | Bomba: 0 | Marihuana: %d | Alkohol v krvi: %d]", zabiti[playerid], umrti[playerid], Trava[playerid], GetPlayerDrunkLevel(playerid));
SCM(playerid, nic,"{FC9803}Peníze:");
SCM(playerid, nic,"{0EDBF1}[Firma: 0 | Vyplata: 0 | Penize 0 | Banka: %d | Dům čislo 0]", GetPlayerMoney(playerid), bank[playerid]);
SCM(playerid, nic,"{FC9803}Průkazy:");
SCM(playerid, nic,"{0EDBF1}[Řidický: %s | Letecký: %s | Lodní: %s | Zbrojní: %s | Pas %s]", Ridicak[playerid], Letecak[playerid], Lodicak[playerid], Zbrojak[playerid], Pas[playerid]);
    return 1;
}


 

a z toho mám warningy:

 



F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4715) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4716) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4716) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4718) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4718) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4718) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4718) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4720) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4720) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4722) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4722) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4722) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4722) : warning 202: number of arguments does not match definition
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS.pwn(4722) : warning 202: number of arguments does not match definition
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


Header size:           5192 bytes
Code size:           540860 bytes
Data size:           632060 bytes
Stack/heap size:      16384 bytes; estimated max. usage=9004 cells (36016 bytes)
Total requirements: 1194496 bytes


14 Warnings.


 

Pokaždé co na serveru dám příkaz mi server spadne, tak jsem použil dialog.

 

Zde:

 



dcmd_info(playerid,params[])
{
#pragma unused params
format(string,sizeof(string),"{0EDBF1}Info hráče %s\n{0EDBF1}[Hodin %d : %d Minut]\n{FC9803}Kriminalita:\n{0EDBF1}[Vraždy: %d | Úmrtí: %d | Bomba: 0 | Marihuana: %d | Alkohol v krvi: %d]\n{FC9803}Peníze:\n{0EDBF1}[Firma: 0 | Vyplata: 0 | Penize %d | Banka: %d | Dům čislo 0]\n{FC9803}Průkazy:\n{0EDBF1}[Řidický: %s | Letecký: %s | Lodní: %s | Zbrojní: %s | Pas %s]\n",Jmeno(playerid), Hodiny, Minuty, zabiti[playerid], umrti[playerid], Trava[playerid], GetPlayerDrunkLevel(playerid), GetPlayerMoney(playerid), bank[playerid], Ridicak[playerid], Letecak[playerid], Lodicak[playerid], Zbrojak[playerid], Pas[playerid]);
    return 1;
}


 

Samořejmě mám error: input line too long (after substitutions)

Vím co ten error znamená, samozřejmě až jsem smazal ty nanewované věci až po GetPlayerDrunkLevel(playerid) tak mi to šlo, ale já bych to tam nějak chtěl dát vše, takže jsem udělal toto... :

 



dcmd_info(playerid,params[])
{
#pragma unused params
strcat(string, "{0EDBF1}Info hráče %s\n", Jmeno(playerid));
strcat(string, "{0EDBF1}[Hodin %d : %d Minut]\n\n", Hodiny, Minuty);
strcat(string, "{FC9803}Kriminalita:\n");
strcat(string, "{0EDBF1}[Vraždy: %d | Úmrtí: %d | Bomba: 0 | Marihuana: %d | Alkohol v krvi: %d]\n\n", zabiti[playerid], umrti[playerid], Trava[playerid], GetPlayerDrunkLevel(playerid));
strcat(string, "{FC9803}Penize:\n");
strcat(string, "{0EDBF1}[Firma: 0 | Vyplata: 0 | Penize %d | Banka: %d | Dům čislo 0]\n\n", GetPlayerMoney(playerid), bank[playerid]);
strcat(string, "{FC9803}Prukazy:\n");
strcat(string, "{0EDBF1}[Řidický: %s | Letecký: %s | Lodní: %s | Zbrojní: %s | Pas %s]\n\n", Ridicak[playerid], Letecak[playerid], Lodicak[playerid],Zbrojak[playerid], Pas[playerid]);
ShowPlayerDialog(playerid,363, DIALOG_STYLE_LIST, "Informace", string, "OK","");
    return 1;
}


 

errory:

 



F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4715) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4716) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4717) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4718) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4719) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4720) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4721) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4722) : error 017: undefined symbol "string"
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4723) : error 017: undefined symbol "string"
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase




9 Errors.


 

Pak když jsem to nacpal takhle

 



ShowPlayerDialog(playerid,363, DIALOG_STYLE_LIST, "Informace", string,Jmeno(playerid), Hodiny, Minuty, zabiti[playerid], umrti[playerid], Trava[playerid], GetPlayerDrunkLevel(playerid), GetPlayerMoney(playerid), bank[playerid], Ridicak[playerid], Letecak[playerid], Lodicak[playerid], Zbrojak[playerid], Pas[playerid], "OK","");


 

to jsem zjistil ze jsem udělal úplně blbost, nemohl by mi někdo pomoct? Jestli to bude přes SendClientMessage nebo dialog, to mi je jedno ale potřeboval bych aby to nějak šlo, pomůžete mi někdo? :(

Link to comment
Share on other sites

6 odpovědí na tuto otázku

Recommended Posts

  • 0

Za  prvé nechápem prečo máš v:
 

SCM(playerid, nic,"{FC9803}Kriminalita:");

"nic", pokial viem tam  je  farba,

/wiki/SendClientMessage

za druhé kde máš zadefinovaný string  ?

 

dcmd_info(playerid,params[])
{
#pragma unused params
strcat(string, "{0EDBF1}Info hráče %s\n", Jmeno(playerid));
strcat(string, "{0EDBF1}[Hodin %d : %d Minut]\n\n", Hodiny, Minuty);
strcat(string, "{FC9803}Kriminalita:\n");
strcat(string, "{0EDBF1}[Vraždy: %d | Úmrtí: %d | Bomba: 0 | Marihuana: %d | Alkohol v krvi: %d]\n\n", zabiti[playerid], umrti[playerid], Trava[playerid], GetPlayerDrunkLevel(playerid));
strcat(string, "{FC9803}Penize:\n");
strcat(string, "{0EDBF1}[Firma: 0 | Vyplata: 0 | Penize %d | Banka: %d | Dům čislo 0]\n\n", GetPlayerMoney(playerid), bank[playerid]);
strcat(string, "{FC9803}Prukazy:\n");
strcat(string, "{0EDBF1}[Řidický: %s | Letecký: %s | Lodní: %s | Zbrojní: %s | Pas %s]\n\n", Ridicak[playerid], Letecak[playerid], Lodicak[playerid],Zbrojak[playerid], Pas[playerid]);
ShowPlayerDialog(playerid,363, DIALOG_STYLE_LIST, "Informace", string, "OK","");
    return 1;
}

snad ti to tam píše:
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4718) : error 017: undefined symbol "string"

Edited by eXpresS
  • Líbí se mi to! (+1) 1
Link to comment
Share on other sites

  • 0
  • Hlavní moderátor

Líbí se mi, že ses to pokoušel vyřešit, ačkoliv neúspěšně. Je vidět snaha.

 

Problémem je, že do funkcí jako SCM, strcat atd. nemůžeš dávat proměnné, které by se dosazovaly za specifikátory %d, %s atd. K tomu slouží pouze a jen funkce format. Ukázka:

new string[300]; //pokud nestačí, zvol větší délku

format(string, sizeof string, "{0EDBF1}Info hráče %s\n", Jmeno(playerid)); //nejprve naformátuješ info
format(string, sizeof string, "%s{0EDBF1}[Hodin %d : %d Minut]\n\n", string, Hodiny, Minuty); //pak naformátuješ odehraný čas
//a takto budeš pokračovat

Všimni si, že u odehraného času jsem na začátek toho řetězce přidal %s a před Hodiny přibyl parametr string. Tím dosadíš do toho formátu původní řetězec a pokračuješ. Takhle to musíš udělat u každé další naformátované zprávy.

 

Až to celé budeš mít, jen použiješ řetězec string v ShowPlayerDialog. Ať se daří.

Link to comment
Share on other sites

  • 0

... Nevím proč mi nejde kliknout na "Quote" ale to je teď jedno.

Takže eXpresSi, máš pravdu v tom že tam má být barva, mám tak nadefinovanou barvu 0xFFFFFFAA a měl jsem tam radši dát normální barvu aby lidi jako ty rozuměli :d , pak ten string, jak vidíš zkoušel jsem ten příkaz udělat několika způsoby, a když jsem to sem dával tak jsem se to snažil vysvětlit aby to každý chápal a aby každý viděl jak to vypadá takže jsem zapoměl na string.

 

vEnde, díky za pomoc, hned to zkusím. :)

 

EDIT: 

 

Prozatím jsem si to jen zkopíroval a zkusil, dopadlo to takhle:

F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4726) : error 035: argument type mismatch (argument 2)
F:\Download(1)\pwn-pack\pwn-pack\gamemodes\rzeS2.pwn(4727) : error 035: argument type mismatch (argument 2)
Pawn compiler 3.2.3664     Copyright (c) 1997-2006, ITB CompuPhase




2 Errors.

Celý příkaz: 

dcmd_info(playerid,params[])
{
#pragma unused params
   new string[800];
format(string, "{0EDBF1}Info hráče %s\n", Jmeno(playerid)); //nejprve naformátuješ info
format(string, "%s{0EDBF1}[Hodin %d : %d Minut]\n\n", string, Hodiny, Minuty); //pak naformátuješ odehraný čas
ShowPlayerDialog(playerid,363, DIALOG_STYLE_LIST, "Informace", string, "OK","");
    return 1;
}

 

Nechápu. :(

Edited by rawenCB
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...