Jump to content
  • 0

pomoc Warning u stocku


MrShoTys74

Dotaz

Čaute chalani už som písal v predchadzajucom topicu že by som potreboval pomôct s premenou hodnoty na text.

Nakoniec som sa dva dni trápil xD a spravil niečo takéto ..

stock autoskolabb(playerid)
{
        new autoskolabb[25];
        if(IsPlayerConnected(playerid))
{
        if(PlayerInfo[playerid][pVodickyB] == 0) autoskolabb = "Nevlastni";
        if(PlayerInfo[playerid][pVodickyB] == 1) autoskolabb = "Vlastni";

}
        return autoskolabb;
}

... Nakoniec to aj funguje ale stale mi to píše tento warning .. vedel by niekto čo s tym?

C:\Users\42195\OneDrive\Plocha\Nový priečinok (3)\gamemodes\moj.pwn(126) : warning 219: local variable "autoskolabb" shadows a variable at a preceding level
Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase


1 Warning.


 

 

Link to comment
Share on other sites

7 odpovědí na tuto otázku

Recommended Posts

  • 1

Warning je spôsobený tým, že lokálna premenná "autoskolabb" má rovnaký názov ako stock "autoskolabb". Jedno z nich premenuj a warning by ti mal zmiznúť.

K Hipovej odpovedi:
Pawn compiler poskytnutý v zipe so serverom od sa-mp teamu má problémy s vracaním "string literal" - prestane reagovať.
Mám pocit, že to je už vyriešené v compileri od Zeexa, ale nie som si istý.

Edited by DuFF
  • Kappa 1
Link to comment
Share on other sites

  • 0
  • Globální moderátor

funkce ti může vrátit null a zároveň autoskolabb není potřeba:

 

stock autoskolabb(playerid)
{
	if(IsPlayerConnected(playerid)) {
		if(PlayerInfo[playerid][pVodickyB] == 0) {
			return "Nevlastni";
		} else {
			return "Vlastni";
		}
	}
}

 

  • Kappa 1
Link to comment
Share on other sites

  • 0
před 6hodinami, Hip said:

funkce ti může vrátit null a zároveň autoskolabb není potřeba:

 

stock autoskolabb(playerid)
{
	if(IsPlayerConnected(playerid)) {
		if(PlayerInfo[playerid][pVodickyB] == 0) {
			return "Nevlastni";
		} else {
			return "Vlastni";
		}
	}
}

 

 

Aha, lenže pri tomto mi prestane reagovat pawno čím by to mohlo byt?

Link to comment
Share on other sites

  • 0
před 10minutami, DuFF said:

Warning je spôsobený tým, že lokálna premenná "autoskolabb" má rovnaký názov ako stock "autoskolabb". Jedno z nich premenuj a warning by ti mal zmiznúť.

K Hipovej odpovedi:
Pawn compiler poskytnutý v zipe so serverom od sa-mp teamu má problémy s vracaním "string literal" - prestane reagovať.
Mám pocit, že to je už vyriešené v compileri od Zeexa, ale nie som si istý.

Ánoo, bez warningu... Ďakujem velmi pekne :)

btw. tento isty stock môžem kludne využívat aj na dalšie preukazy priklad? .. alebo pri kazdom podobnom pripade novy stock ?

Link to comment
Share on other sites

  • 0
On 19. 4. 2024 at 7:44, MrShoTys74 said:

tento isty stock môžem kludne využívat aj na dalšie preukazy priklad?

Tento istý stock nie, pretože v ňom "natvrdo" používaš "pVodickyB".
Ideálne by si mal spraviť stock, ktorý dostane ako parameter číslo 0/1 reprezentujúce, či hráč vlastní/nevlastní daný preukaz, a vráti text "Vlastni"/"Nevlastni".
Napríklad:

stock VlastniPreukaz(vlastni)
{
    new text[10];
    if (vlastni) 
        text = "Vlastni";
    else 
        text = "Nevlastni";
    return text;
}

// Použitie v kóde:
VlastniPreukaz(PlayerInfo[playerid][pVodickyB])
// Alebo pre iný preukaz:
VlastniPreukaz(PlayerInfo[playerid][pZbrojny])

 

Edited by DuFF
Link to comment
Share on other sites

  • 0
  • Globální moderátor

ahá, já jsem tyjo nedělal pawn tak strašně dlouho, že už nevím jak to reaguje. 

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