b]Skripta koju koristim[/b]:GTARP
Detaljan opis problema:Izbacuje mi warnninge
Dio skripte:
streamer.inc(487) : warning 219: local variable "hitid" shadows a variable at a preceding level
(28685) : warning 219: local variable "Ime" shadows a variable at a preceding level
(43205) : warning 204: symbol is assigned a value that is never used: "idcar"
(64067) : warning 219: local variable "string" shadows a variable at a preceding level
(67784) : warning 219: local variable "hitid" shadows a variable at a preceding level
Linija 28685
new Ime[MAX_PLAYER_NAME];
Linija 43205
new idcar = GetPlayerVehicleID(playerid);
64067 Linija
string[256],
new
string[256],
pName[MAX_PLAYER_NAME]
JENDA GORE JEDNA DOLE LINIJA to su reakcije
67784
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
ovo je celi taj public
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
if( hittype == BULLET_HIT_TYPE_PLAYER ) // Bullet crash koristi ovaj type!
{
if( !( -20.0 <= fX <= 20.0 ) || !( -20.0 <= fY <= 20.0 ) || !( -20.0 <= fZ <= 20.0 ) ) //ako nije validan offset
{
KickPlayer[playerid] = 1;
return 0; // Stavljamo return 0 da desyncamo taj bullet da nebi krešavao druge igrac(e
}
}
return 1;
}
hvala unapred
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Linija 28685: Promeni ime varijable, najverovatnije je koristis dva puta pod istim imenom. Mozda si je difinisao kao globalnu. Promeni u na primer "Ime_1"
Linija 43205: Definisao si varijablu, a nisi je koristio. Znaci stoji ti za dzabe.
Linija 64067 : Imas dva puta definisan string, ili jednom promeni ime, ili ga obrisi ako ti nicemu ne sluzi
Linija 67784: Isto kao i do sada, imas najverovatnije definisanu globalnu varijablu pod istim imenom.
ovaj prvi sta trebam tu?
stock ImeIgraca(playerid)
{
new Ime[MAX_PLAYER_NAME]; OVDE JE BACALO WARNING
GetPlayerName(playerid, Ime, sizeof(Ime));
return Ime;
}
stock Ime(playerid)
{
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, MAX_PLAYER_NAME);
return ime;
}
ovo je ovaj 64067 sta trebam tu?
switch(xTestBusy)
{
case true:
{
if(!strcmp(xChars, text, false))
{
new
string[256], OVAJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJ
pName[MAX_PLAYER_NAME]
;
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "{0A9DC9}(({FFFFFF} [ REAKCIJA ]{C0C0C0} ~ Igrac {04CC29}%s{C0C0C0} je pobedio na testu i osvaja {FFFFFF}$%d{C0C0C0} ))", pName, xCash);
SendClientMessageToAll(COLOR_YELLOW, string);
JBC_GivePlayerMoney(playerid, xCash);
xReactionTimer = SetTimer("xReactionTest", TIMEE, 1);
xTestBusy = false;
}
}
}
a ovaj 67784 nzm? sta trebam tu odradim
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitid, Float:fX, Float:fY, Float:fZ )
{
if( hittype == BULLET_HIT_TYPE_PLAYER ) // Bullet crash koristi ovaj type!
{
if( !( -20.0 <= fX <= 20.0 ) || !( -20.0 <= fY <= 20.0 ) || !( -20.0 <= fZ <= 20.0 ) ) //ako nije validan offset
{
KickPlayer[playerid] = 1;
return 0; // Stavljamo return 0 da desyncamo taj bullet da nebi krešavao druge igrac(e
}
}
return 1;
}
Pa rekao sam ti gore sta da radis, uglavom si stavljao ime varijabli kao i kod globalnih, a to ne sme da se radi..
ae ti mi odradi ja sam ti dao cmd i to
Citat: Izi poslato Septembar 15, 2014, 02:36:47 PRE PODNE
ae ti mi odradi ja sam ti dao cmd i to
Potrudi se malo sam pa uradi to, ne mozes dobiti sve na gotovo....
Denis ti je sve rekao.
Citat: Izi poslato Septembar 15, 2014, 02:36:47 PRE PODNE
ae ti mi odradi ja sam ti dao cmd i to
Covek, imas globalne, imas lokalne varijable. Ako je nesto globalno, ne moze da bude lokalno iz jednog jednostavnog razloga. Ako ti nesto definisao sa nekom vrednoscu i to postavio kao globalnu (van svih callback-ova). Ne mozes to ponovodo definisati unutar nakog callback-a.
Prosto receno, ne mozes da koristis dva ista imena za dve razlicite varijable.
U ovom tutorijalu imas objasnjeno sta su globalne, a sta lokalne varijable. Pogledaj to i bice ti jasno o cemu pricam. Tutorijal jeste za C++, ali je veoma slican PAWN skripti po sintaksi.
http://www.youtube.com/watch?v=JCoL4yvxxL8
Ubuduce to se nemoj uciti da ti mi sve radimo, mi smo da pomognemo, ali evo ti sada
28685
stock ImeIgraca(playerid)
{
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
return ime;
}
stock Ime(playerid)
{
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, MAX_PLAYER_NAME);
return ime;
}
liniju 43205 obrisi
64067
switch(xTestBusy)
{
case true:
{
if(!strcmp(xChars, text, false))
{
new pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, sizeof(pName));
format(string, sizeof(string), "{0A9DC9}(({FFFFFF} [ REAKCIJA ]{C0C0C0} ~ Igrac {04CC29}%s{C0C0C0} je pobedio na testu i osvaja {FFFFFF}$%d{C0C0C0} ))", pName, xCash);
SendClientMessageToAll(COLOR_YELLOW, string);
JBC_GivePlayerMoney(playerid, xCash);
xReactionTimer = SetTimer("xReactionTest", TIMEE, 1);
xTestBusy = false;
}
}
}
67784
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitids, Float:fX, Float:fY, Float:fZ )
ovo je celi taj public
public OnPlayerWeaponShot( playerid, weaponid, hittype, hitids, Float:fX, Float:fY, Float:fZ )
{
if( hittype == BULLET_HIT_TYPE_PLAYER ) // Bullet crash koristi ovaj type!
{
if( !( -20.0 <= fX <= 20.0 ) || !( -20.0 <= fY <= 20.0 ) || !( -20.0 <= fZ <= 20.0 ) ) //ako nije validan offset
{
KickPlayer[playerid] = 1;
return 0; // Stavljamo return 0 da desyncamo taj bullet da nebi krešavao druge igrac(e
}
}
return 1;
}