Jump to content
  • 0

pomoc [YSI] Ukoly


Guyy

Dotaz

Ahoj :)

Napadlo ma, urobiť ukoly, ktorými si hráč zarobý a získa nejakú Odmenu. Jak som to urobil tak na servere to nešlo jak som to chcel, Prosím opravte mi Cod ;) Ďakujem :)

 

[ ! ] Na YSI som prešiel kvôli rýchlosti, a paramu "help" :)

 

 

YCMD:ukoly(playerid, params[], help)
{
if(help)
{
  SendClientMessage(playerid, -1, ""r"[ "SC"Help "r"] "w"Ukoly ktoré vás prevedú Serverom.");
}
else
{
if(Levels[playerid][pLevel] == 0)
{
SendClientMessage(playerid, 0xFF0000AA, ""r"[ "SC"Ukoly "r"] "w"Použi príkaz /kill.");
if(PlayerInfo[playerid][pDeaths] >= 1) return Levels[playerid][pLevel] += 1;
}
return 1;
}
Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 0

~> Když s tím helpem neumíš pracovat, tak proč sis ho vybral? Dávat mu else je zbytečné. Je jasné, že v případě, že se to help nesplní, začne se plnit zbytek kódu... to stejné u jiný příkazů, kde furt přidáváte else-if, else-if, else-if, else.

~> A aby to nebylo málo, tak musíš u toho helpu vracet nějakou fci, jinak to bude pokračovat a bude to brát jako parametr.

 

YCMD:ukoly(playerid, params[], help){

	if(help) return SendClientMessage(playerid, -1, ""r"[ "SC"Help "r"] "w"Ukoly ktoré vás prevedú Serverom.");
	if (!Levels[playerid][pLevel]) {

~> Zbytek kódu za tebe dělat nebudu... nejsme služky. Jinak, pokud jsou tvoje znalosti na tak nízké úrovni, že neumíš pořádně pracovat s podmínkami, tak to raději nepoužívej YSI. Je tam dost includů, které bez pokročilé znalosti teorie prostě nepochopíš.

Link to comment
Share on other sites

  • 0

Dík, ale stále píše len tú prvú správu a to čo je v:


if(PlayerInfo[playerid][pDeaths] >= 1)
{ 
Levels[playerid][pLevel] += 1;
PlayerInfo[playerid][pDeaths] = 0;
}

Tak nejde :( Nepridá Level ani nenastaví Umrtia na 0 :(

Link to comment
Share on other sites

  • 0

Tak to teda moment.

Právě to else tam ničemu nevadí a má ho tam použité správně. Kdyby právě vracel nějakou hodnotu po splnění první podmínky, pak je tam to else zbytečné, ale v jeho případě není. V původním kódu ti chybí uzavření jednoho bloku (právě u toho else)

Link to comment
Share on other sites

  • 0

Sluzky nejsme ale tento clovek aspon pozadal o pomoc slusne. Nikdo te snad nenuti sem prspivat. A poznamka i to else if se mzuze pouzivat to je na autorovy.

YCMD:ukoly(playerid, params[], help)
{
    if(help) return SendClientMessage(playerid, -1, ""r"[ "SC"Help "r"] "w"Ukoly ktoré vás prevedú Serverom.");

    switch(Levels[playerid][pLevel])
    {
	case 0: SendClientMessage(playerid, 0xFF0000AA, ""r"[ "SC"Ukoly "r"] "w"Použi príkaz /kill.");
	case 1: // dalsi ukol
	case 2: // dalsi ukol
    }

    return 1;
}

YCMD:kill(playerid, params[], help)
{
    if(Levels[playerid][pLevel] == 0) Levels[playerid][pLevel]++; // Pokud napise /kill a je na levelu 0 nastavime dalsi level.
    return SetPlayerHealth(playerid, 0); // Zabijeme hrace.
}
Link to comment
Share on other sites

  • 0

Sluzky nejsme ale tento clovek aspon pozadal o pomoc slusne. Nikdo te snad nenuti sem prspivat.

Tak pardón, ale už jen z těch prvních vět:

 

Prosím opravte mi Cod ;) Ďakujem :)

si spíše představuji líné zoufalství, abychom to udělali za něj(což by tady nebylo po prvé), protože jemu se nechce nic vyhledávat. Zabralo by to moc času a energie, nebo to nemůže google na jeho počítači najít... že ano :).

 

A poznamka i to else if se mzuze pouzivat to je na autorovy.

 

Dávat mu else je zbytečné.

Zbytečné Právě jsi udělal největší chybu v životě programování.

 

 

A jenom rejpnu trochu: Když už používáš YSI, tak můžeš z ní využít y_colors / y_colours, a nemusíš zbytečně.. opakuji ZBYTEČNĚ přidávat preprocesory. Zkrátka si ušetříš práci.

Link to comment
Share on other sites

  • 0

Zabralo by to moc času a energie, nebo to nemůže google na jeho počítači najít... že ano :).

Ano :d

 

 

 

 

Sluzky nejsme ale tento clovek aspon pozadal o pomoc slusne. Nikdo te snad nenuti sem prspivat. A poznamka i to else if se mzuze pouzivat to je na autorovy.

YCMD:ukoly(playerid, params[], help)
{
    if(help) return SendClientMessage(playerid, -1, ""r"[ "SC"Help "r"] "w"Ukoly ktoré vás prevedú Serverom.");

    switch(Levels[playerid][pLevel])
    {
	case 0: SendClientMessage(playerid, 0xFF0000AA, ""r"[ "SC"Ukoly "r"] "w"Použi príkaz /kill.");
	case 1: // dalsi ukol
	case 2: // dalsi ukol
    }

    return 1;
}

YCMD:kill(playerid, params[], help)
{
    if(Levels[playerid][pLevel] == 0) Levels[playerid][pLevel]++; // Pokud napise /kill a je na levelu 0 nastavime dalsi level.
    return SetPlayerHealth(playerid, 0); // Zabijeme hrace.
}

 

 

Dík :)

Edited by Carlosoo
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...