Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: [JV:RP] Milos poslato Januar 12, 2014, 16:20:50 POSLE PODNE

Naslov: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 12, 2014, 16:20:50 POSLE PODNE
Ime skripte: FC-RP
Opis problema: Pa ovako za sadnju droge kada kucam /drugs plant i onda pojavi se objekat biljke ali mogu da sadim jednu na drugu kako da uradim da se recimo rastojanje da bude u 3 4 metra,znaci samo mi treba rastojanje da ne moze da se sadi jenu na drugu

if(strcmp(cmd, "/drugsplant", true) == 0 || strcmp(cmd, "/saditravu", true) == 0)
{
if (!PlayerInfo[playerid][pSeme]) return SendClientMessage(playerid, COLOR_GREY,"Nemate semenke!");
{
for(new weed = 0; weed < sizeof(WeedInfo); weed++)
{
if(!PlayerToPoint(420.0,playerid, 2211.4373,-487.3233,114.0355)) return SendClientMessage(playerid,COLOR_GREY,"Niste u zoni gde mozete saditi marihuanu!");
{
if(WeedInfo[weed][WeedPlanted] == 0 && WeedInfo[weed][WeedTime] == 0)
{
if(PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pClan] == 5 || PlayerInfo[playerid][pLider] == 13 || PlayerInfo[playerid][pClan] == 13)
{
    if (GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete saditi dok ste u vozilu!");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozes ovde saditi marihuanu!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
    GetPlayerName(playerid, playername, 24);
ApplyAnimation(playerid, "BOMBER","BOM_Plant",4.0,0,0,0,0,0);
weedObject[weed] = CreateObject(19473, X, Y, Z-2, 0, 0, 0);
Weeder[playerid] = 1200;
WeedInfo[weed][WeedX] = X;
WeedInfo[weed][WeedY] = Y;
WeedInfo[weed][WeedZ] = Z;
WeedInfo[weed][WeedTime] = 20;
WeedInfo[weed][WeedPlanted] = 1;
strmid(WeedInfo[weed][WeedPlanter], playername, 0, strlen(playername), 50);
SendClientMessage(playerid,COLOR_FADE1,"Posadili ste marihuanu, sacekajte da naraste pa je uberite!");
//SendClientMessage(playerid,COLOR_FADE1,"Remember to type /pickweed Before someone else takes your weed!");
PlayerInfo[playerid][pSeme] -= 1;
WATER[playerid] -= 1;
return 1;
}
  }
}
}
}
}
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: ▂ ▃ ▅ Rudimental ▅ ▃ ▂ poslato Januar 12, 2014, 17:43:04 POSLE PODNE
Cekaj ti si to napravio da mozes bilo gde da sadis ili .. :D mada vidim u scripti da imas neku lokaciju za to mozda da uradis polja na kojima se moze saditi da ne gomila 100 puta na jednu te istu tacku ako si me razumeo
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 12, 2014, 19:30:17 POSLE PODNE
Momak. trazim rastojanje ne trazim preporuke  ;)
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: Ermin. poslato Januar 12, 2014, 22:29:12 POSLE PODNE
stock GetDistance( Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2 )
{
    return floatround( floatsqroot( ( ( x1 - x2 ) * ( x1 - x2 ) ) + ( ( y1 - y2 ) * ( y1 - y2 ) ) + ( ( z1 - z2 ) * ( z1 - z2 ) ) ) ) );
}


Mozda ti ovo pomogne, da izracunas razmak izmedju dvije tacke, pa provjeris jel razmak manji ili jednak da ne moze sadit.
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 13, 2014, 18:19:16 POSLE PODNE
imam ove errore ovo sma stavio gde stoje stock-ovi

C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(62690) : error 025: function heading differs from prototype
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(62691) : error 021: symbol already defined: "GetDistance"
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 14, 2014, 13:20:10 POSLE PODNE
*BUMP*
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 16, 2014, 21:37:54 POSLE PODNE
*BUMP*
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: Ermin. poslato Januar 16, 2014, 21:58:36 POSLE PODNE
,,Gdje stoje stockovi" XDDDDDD

stock GetDistance( Float:x1, Float:y1, Float:z1, Float:x2, Float:y2, Float:z2 )
    return floatround( floatsqroot( ( ( x1 - x2 ) * ( x1 - x2 ) ) + ( ( y1 - y2 ) * ( y1 - y2 ) ) + ( ( z1 - z2 ) * ( z1 - z2 ) ) ) ) );



Btw jesi siguran da nemas vec definisano 'GetDistance' u skripti, pokusaj promjenit naziv.
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 16, 2014, 23:24:26 POSLE PODNE
evo napravio sam
#define GetDistance
evo erorra :)
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\pawno\include\morphinc.inc(3) : warning 219: local variable "x2" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\pawno\include\morphinc.inc(3) : warning 219: local variable "y2" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\pawno\include\morphinc.inc(3) : warning 219: local variable "z2" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(1229) : error 010: invalid function or declaration
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(3303) : warning 219: local variable "x2" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(3303) : warning 219: local variable "y2" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(3303) : warning 219: local variable "z2" shadows a variable at a preceding level
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: Vegas. poslato Januar 16, 2014, 23:48:20 POSLE PODNE
if(strcmp(cmd, "/drugsplant", true) == 0 || strcmp(cmd, "/saditravu", true) == 0)
{
if (!PlayerInfo[playerid][pSeme]) return SendClientMessage(playerid, COLOR_GREY,"Nemate semenke!");
{
for(new weed = 0; weed < sizeof(WeedInfo); weed++)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(!PlayerToPoint(420.0,playerid, 2211.4373,-487.3233,114.0355)) return SendClientMessage(playerid,COLOR_GREY,"Niste u zoni gde mozete saditi marihuanu!");
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, WeedInfo[weed][WeedX], WeedInfo[weed][WeedY], WeedInfo[weed][WeedZ])) return SendClientMessage(playerid, COLOR_WHITE, "Odmaknite se od vec zasadjene bilje");
if(WeedInfo[weed][WeedPlanted] == 0 && WeedInfo[weed][WeedTime] == 0)
{
if(PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pClan] == 5 || PlayerInfo[playerid][pLider] == 13 || PlayerInfo[playerid][pClan] == 13)
{
    if (GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete saditi dok ste u vozilu!");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozes ovde saditi marihuanu!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
    GetPlayerName(playerid, playername, 24);
ApplyAnimation(playerid, "BOMBER","BOM_Plant",4.0,0,0,0,0,0);
weedObject[weed] = CreateObject(19473, X, Y, Z-2, 0, 0, 0);
Weeder[playerid] = 1200;
WeedInfo[weed][WeedX] = X;
WeedInfo[weed][WeedY] = Y;
WeedInfo[weed][WeedZ] = Z;
WeedInfo[weed][WeedTime] = 20;
WeedInfo[weed][WeedPlanted] = 1;
strmid(WeedInfo[weed][WeedPlanter], playername, 0, strlen(playername), 50);
SendClientMessage(playerid,COLOR_FADE1,"Posadili ste marihuanu, sacekajte da naraste pa je uberite!");
//SendClientMessage(playerid,COLOR_FADE1,"Remember to type /pickweed Before someone else takes your weed!");
PlayerInfo[playerid][pSeme] -= 1;
WATER[playerid] -= 1;
return 1;
}
  }
}
}
}
}

Dodao sam ovo. if(IsPlayerInRangeOfPoint(playerid, 3.0, WeedInfo[weed][WeedX], WeedInfo[weed][WeedY], WeedInfo[weed][WeedZ])) return SendClientMessage(playerid, COLOR_WHITE, "Odmaknite se od vec zasadjene bilje");Ako ti ne odgovara radius koji sam postavio promjeni.
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: [JV:RP] Milos poslato Januar 17, 2014, 09:10:39 PRE PODNE
Hvala radi ali imam ove warrning-e
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(48258) : warning 219: local variable "X" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(48258) : warning 219: local variable "Y" shadows a variable at a preceding level
C:\Users\x7\Desktop\NAJ NOVIJI FC\2013\Faction City\gamemodes\BOZIC.pwn(48258) : warning 219: local variable "Z" shadows a variable at a preceding level
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: Ermin. poslato Januar 17, 2014, 11:28:34 PRE PODNE
mogao bi ovako da ti radi:
new Float:Xaaa,Float:Yaaa,Float:Zaaa;
GetPlayerPos(playerid, Xaaa,Yaaa, Zaaa);


ali bi ti mozda opet se negdje javio problem kad bi X,Y,Z koristio, pa preporucujem da pogledas gdje si radio, vjerovatno nisi iskoristio kreirane varijable negdje kako treba.
Naslov: Odg: [Pomoc]Rastojanje
Poruka od: Vegas. poslato Januar 17, 2014, 18:17:29 POSLE PODNE
if(strcmp(cmd, "/drugsplant", true) == 0 || strcmp(cmd, "/saditravu", true) == 0)
{
if (!PlayerInfo[playerid][pSeme]) return SendClientMessage(playerid, COLOR_GREY,"Nemate semenke!");
{
for(new weed = 0; weed < sizeof(WeedInfo); weed++)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(playerid, X, Y, Z);
if(!PlayerToPoint(420.0,playerid, 2211.4373,-487.3233,114.0355)) return SendClientMessage(playerid,COLOR_GREY,"Niste u zoni gde mozete saditi marihuanu!");
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, WeedInfo[weed][WeedX], WeedInfo[weed][WeedY], WeedInfo[weed][WeedZ])) return SendClientMessage(playerid, COLOR_WHITE, "Odmaknite se od vec zasadjene bilje");
if(WeedInfo[weed][WeedPlanted] == 0 && WeedInfo[weed][WeedTime] == 0)
{
if(PlayerInfo[playerid][pLider] == 5 || PlayerInfo[playerid][pClan] == 5 || PlayerInfo[playerid][pLider] == 13 || PlayerInfo[playerid][pClan] == 13)
{
    if (GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozete saditi dok ste u vozilu!");
if (GetPlayerInterior(playerid) != 0) return SendClientMessage(playerid, COLOR_WHITE, "Ne mozes ovde saditi marihuanu!");
GetPlayerPos(playerid, X, Y, Z);
    GetPlayerName(playerid, playername, 24);
ApplyAnimation(playerid, "BOMBER","BOM_Plant",4.0,0,0,0,0,0);
weedObject[weed] = CreateObject(19473, X, Y, Z-2, 0, 0, 0);
Weeder[playerid] = 1200;
WeedInfo[weed][WeedX] = X;
WeedInfo[weed][WeedY] = Y;
WeedInfo[weed][WeedZ] = Z;
WeedInfo[weed][WeedTime] = 20;
WeedInfo[weed][WeedPlanted] = 1;
strmid(WeedInfo[weed][WeedPlanter], playername, 0, strlen(playername), 50);
SendClientMessage(playerid,COLOR_FADE1,"Posadili ste marihuanu, sacekajte da naraste pa je uberite!");
//SendClientMessage(playerid,COLOR_FADE1,"Remember to type /pickweed Before someone else takes your weed!");
PlayerInfo[playerid][pSeme] -= 1;
WATER[playerid] -= 1;
return 1;
}
  }
}
}
}
}