Jump to content
  • -1

Niste warning-uri


Funnk@

Question

Salut, am si eu 2 warning-uri pe care le vreau sa le rezolv, dar nu stiu cum

gmm.pwn(36841) : warning 203: symbol is never used: "TrollDetect"

linia fiind goala, la finalul gm-ului.

systems.inc(1015) : warning 219: local variable "tmpobjid" shadows a variable at a preceding level

Help

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 1

Aia cu symbol never used cauta unde ai declarat variabila respectiva si sterge linia.

Cat despre al doilea warning, ai de doua ori declarata aceeasi variabila.

Un exemplu:

new variabilaTest;
public functieTest(){
	new variabilaTest;
	variabilaTest = 1;
	return 1;
}

Aici din cate poti observa, prima data am declarat-o global iar apoi local in functia respectiva si astfel s-a declansat warning-ul.

Link to comment
Share on other sites

  • 0
2 hours ago, andrei9971 said:

Aia cu symbol never used cauta unde ai declarat variabila respectiva si sterge linia.

Cat despre al doilea warning, ai de doua ori declarata aceeasi variabila.

Un exemplu:


new variabilaTest;
public functieTest(){
	new variabilaTest;
	variabilaTest = 1;
	return 1;
}

Aici din cate poti observa, prima data am declarat-o global iar apoi local in functia respectiva si astfel s-a declansat warning-ul.

am sters ala cu tmpobjid si cu ala TrollDetect nu am nimic in gm, imi da aceleasi warning-uri

 

Link to comment
Share on other sites

  • 0

Scoate #include <anticit> pentru ca nu e cine stie ce trolldetect si poti face tu altul

Iar pentru primul intri in systems.inc si faci asa:

CTRL+H

Sus scrii tmpobjid = iar jos nu scrii nimic

Si stergi de acolo new tmpobjid;

Nu te afecteaza cu nimic.

Hai ceaw si zi-mi daca a mers ce ti-am zis!

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

  • 0
La 24.01.2019 la 11:46, andrei9971 a spus:

Aia cu symbol never used cauta unde ai declarat variabila respectiva si sterge linia.

Cat despre al doilea warning, ai de doua ori declarata aceeasi variabila.

Un exemplu:


new variabilaTest;
public functieTest(){
	new variabilaTest;
	variabilaTest = 1;
	return 1;
}

Aici din cate poti observa, prima data am declarat-o global iar apoi local in functia respectiva si astfel s-a declansat warning-ul.

Care e sensul sa creezi variabila globala si locala,daca asa intimplator nu ai stiut,variabila globala si locala foloseste memorie diferita,memoria calculatorului care a fost alocată pentru variabila, este eliberata. Cand funcția este chemată din nou, variabilele locale vor fi re-create. Din asta putem sa facem o concluzie ca in cazul dat,pentru a nu folosi multa memorie e mai bine sa folosim o variabila locala. Cea mai buna varianta ca exemplu ar fi asta

public OnGameModeInit() {
  loadobject();
  return 1;
}


loadobject() {
  new tmpobjid;
  //cod
  return 1;
}
  
Link to comment
Share on other sites

  • 0
9 hours ago, K H A I N said:

1 Problema

 

"%" - simbolul "%" nu este folosit nicăieri;
 

2 Problema
 

Variabila este introdusa de doua ori

E gm Last-Time iar simbolul TrollDetect este in include <anticit>, iar acesta merge scos pentru ca gamemode Burned din ce stiu are si anti-trollhack!

Iar la 2 poti scote tmpobjid din systems.inc pentru ca e tot aia! Cel putin la gamemode last-time eu asa am rezolvat aceste 2 warning-uri!

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

  • 0
Acum 6 ore, AndyAdv a spus:

E gm Last-Time iar simbolul TrollDetect este in include <anticit>, iar acesta merge scos pentru ca gamemode Burned din ce stiu are si anti-trollhack!

Iar la 2 poti scote tmpobjid din systems.inc pentru ca e tot aia! Cel putin la gamemode last-time eu asa am rezolvat aceste 2 warning-uri!

Citeste sus ce am scris despre variabile?

Link to comment
Share on other sites

  • 0
11 minutes ago, K H A I N said:

Citeste sus ce am scris despre variabile?

Ah... nu am citit la doi, dar in gm e new tmpobjid; si in systems.inc e tot new tmpobjid;! Deci poate scoate din systems.inc cel mai bine! Puteai sa-i explici mai detaliat dar e ok si asa! Eu as fi inteles!

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

  • 0
Acum 1 oră, AndyAdv a spus:

Ah... nu am citit la doi, dar in gm e new tmpobjid; si in systems.inc e tot new tmpobjid;! Deci poate scoate din systems.inc cel mai bine! Puteai sa-i explici mai detaliat dar e ok si asa! Eu as fi inteles!

Mai bine sa scoti variabila globala si sa ramina in systems.inc tmpobjid

 

Link to comment
Share on other sites

  • 0
1 hour ago, K H A I N said:

Mai bine sa scoti variabila globala si sa ramina in systems.inc tmpobjid

 

Nu are nici o importanta.. Pe oricare o scoti tot dispare warning-ul

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

  • 0
On 6/28/2019 at 10:51 PM, K H A I N said:

Ba specialistule deschide google.com si scrie "care e diferenta dintre o variabila globala si cea locala"

Normal ca e mai bine sa scoti variabila globala dar eu am zis ca tot dispare warning-ul si daca o scoti pe cea locala. Iar diferenta dintre ele este ca cea globala este declarata in exteriorul oricarei functii iar cea locala este inceputa/initializata cu valoarea 0. 

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

  • 0
On 6/28/2019 at 10:51 PM, K H A I N said:

Ba specialistule deschide google.com si scrie "care e diferenta dintre o variabila globala si cea locala"

Si intr-un fel cred ca te ajuta si la marimea amx-ului! Nu eram acasa de asta nu am raspuns pana acum!

YCMD:copianuarevaloare(playerid, params[], help) {
    if(PlayerInfo[playerid][pCopiator] == 1) {
        PlayerInfo[playerid][pProstie] = 9999;
        SendClientMessage(playerid, COLOR_RED, "Felicitari! Ai primit +9999 prostie pentru ca esti un copiator infect");
    }
    return 1;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.