[POMOC] Destroyveh

Započeo pllopen, Oktobar 20, 2012, 22:49:54 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Skripta koju koristim:Moja
Detaljan opis problema:E ovako kada ja stvorim auta pomocu komande /veh  i onda ta auta bi trebao sklonit pomocu komande /dveh(destroyveh) ali jednostavno jece da djeluje. Evo dole komandi.
Dio skripte:/vehYCMD:veh(playerid, params[], help)
{
    #pragma unused help
    if(PlayerInfo[playerid][pAdmin] < 1) return NemaOvlastenje(playerid);
new model,boja1,boja2,Float:Poz[4];
if(sscanf(params, "ddd", model,boja1,boja2)) SCM(playerid,-1, "{FFAF00}KORISTI: {FFFFFF}/veh [Model] [Boja 1] [Boja 2]");
    else if(model < 400 || model > 611) return SCM(playerid,-1, ""CRVENA"(GRESKA) "SIVA"Ne mozete ici ispod 400 i iznad 611!");
    else if(boja1 < 0 || boja1 > 252) return SCM(playerid,-1, ""CRVENA"(GRESKA) "SIVA"Ne mozete ici ispod 0 i iznad 252!");
    else if(boja2 < 0 || boja2 > 252) return SCM(playerid,-1, ""CRVENA"(GRESKA) "SIVA"Ne mozete ici ispod 0 i iznad 252!");
else
{
GetPlayerPos(playerid, Poz[0], Poz[1], Poz[2]);
GetPlayerFacingAngle(playerid, Poz[3]);
new v = CreateVehicle(strval(params), Poz[0]+4, Poz[1], Poz[2], Poz[3], boja1, boja2, 200);
PutPlayerInVehicle(playerid, v, 0);
SCM(playerid,-1,""ZELENA"Stvorili ste vozilo!");
}
return 1;
}
/dvehYCMD:dveh(playerid, params[], help)
{
new currentveh;
currentveh = GetPlayerVehicleID(playerid);
  DestroyVehicle(currentveh);
return 1;
}

Neke slike/video za lakse dobivanje pomoci(neobavezno):

Tvoja komanda [dveh] ce ti samo unistiti vozilo u kojem se trenutno nalazis.
Eh sad koliko sam razumio tebi treba da unistis sva vozila koja si kreirao na serveru.

Prvo sto je potrebno, moras znati broj vozila na serveru, tj. vozila koja si u skriptu ubacio.
To je lagano, udjes na server i kucas /DL  i onda kreiraj sa /veh neko vozilo, i dobit ces zadnji Id vozila na serveru.
Sad definiras svoja vozila koja ne zelis unistavat.

npr.
#define SVA_VOZILA          100   // 100 - broj stvorenih vozila na serveru, ti stavi svoj br. vozila.

Sad je najlakse, postavimo samo petlju koja ce brojat od SVA_VOZILA pa nadalje.


YCMD:unisti(playerid, params[], help)
{
for(new i = SVA_VOZILA; i < MAX_VEHICLES; i++) // Petlja krece brojanje od Svih Vozila koja si definirao
{
    DestroyVehicle(i); //  Unistava vozila na serveru od definiranog broja vozila ili SVA_VOZILA
}
return 1;
}

Poslednja Izmena: Oktobar 21, 2012, 00:43:10 PRE PODNE od alaudin


Kod mene radi perfektno, to je do tebe, moguce nesto da ometa.

Provjeri, mora ti biti zadnji id vozila na serveru definiran ( ne Model ID vozila ), jer tu jedino moze biti greskica.
Petlja "unistava" vozila od zadnjeg id.a vozila na serveru pa nadalje, ti ako zadas zadnji id pogresan ili prevelik nece biti ucinka.
Probaj staviti ovako:
Ovo ce unistiti sva moguca vozila na serveru.
Ako ti ovo bude radilo, onda definitivno grijesis na zadnjem id.u vozila na serveru.
YCMD:unisti(playerid, params[], help)
{
for(new i = 0; i < MAX_VEHICLES; i++) // Petlja krece brojanje od nule, prolazi kroz sva vozila na servu
{
    DestroyVehicle(i); //  Unistava vozila na serveru od nule
}
return 1;
}

Citat: alaudin poslato Oktobar 21, 2012, 01:05:02 PRE PODNE
Kod mene radi perfektno, to je do tebe, moguce nesto da ometa.

Provjeri, mora ti biti zadnji id vozila na serveru definiran ( ne Model ID vozila ), jer tu jedino moze biti greskica.
Petlja "unistava" vozila od zadnjeg id.a vozila na serveru pa nadalje, ti ako zadas zadnji id pogresan ili prevelik nece biti ucinka.
Probaj staviti ovako:
Ovo ce unistiti sva moguca vozila na serveru.
Ako ti ovo bude radilo, onda definitivno grijesis na zadnjem id.u vozila na serveru.
YCMD:unisti(playerid, params[], help)
{
for(new i = 0; i < MAX_VEHICLES; i++) // Petlja krece brojanje od nule, prolazi kroz sva vozila na servu
{
    DestroyVehicle(i); //  Unistava vozila na serveru od nule
}
return 1;
}

Cek sad sam skuzio znaci to ide ovako npr ako u skripti imam pedeset auta i onda stavim tu da od pedeset pa nadalje unistava auta koja sam stvorio pomocu komande /veh. Jer ovako mi unisiti onda auta koja su u scripti.

Citat: pllopen poslato Oktobar 21, 2012, 01:24:26 PRE PODNE
Citat: alaudin poslato Oktobar 21, 2012, 01:05:02 PRE PODNE
Kod mene radi perfektno, to je do tebe, moguce nesto da ometa.

Provjeri, mora ti biti zadnji id vozila na serveru definiran ( ne Model ID vozila ), jer tu jedino moze biti greskica.
Petlja "unistava" vozila od zadnjeg id.a vozila na serveru pa nadalje, ti ako zadas zadnji id pogresan ili prevelik nece biti ucinka.
Probaj staviti ovako:
Ovo ce unistiti sva moguca vozila na serveru.
Ako ti ovo bude radilo, onda definitivno grijesis na zadnjem id.u vozila na serveru.
YCMD:unisti(playerid, params[], help)
{
for(new i = 0; i < MAX_VEHICLES; i++) // Petlja krece brojanje od nule, prolazi kroz sva vozila na servu
{
    DestroyVehicle(i); //  Unistava vozila na serveru od nule
}
return 1;
}

Cek sad sam skuzio znaci to ide ovako npr ako u skripti imam pedeset auta i onda stavim tu da od pedeset pa nadalje unistava auta koja sam stvorio pomocu komande /veh. Jer ovako mi unisiti onda auta koja su u scripti.

Da tako je, zato si definirao na vrhu SVA_AUTA, da ne moras uvijek trazit tu komandu pa u nju upisivat vozila.
Unistavat ce vozila od one vrijednosti koju ti uneses, ako imas 100 vozila u skripti, sta ja znam, za neke salone, bande itd.. i ne zelis njih unistavat, onda izbrojis ta vozila i stavis samo da od tog zbira pa nadalje krece unistavat vozila.

Citat: alaudin poslato Oktobar 21, 2012, 01:31:08 PRE PODNE
Citat: pllopen poslato Oktobar 21, 2012, 01:24:26 PRE PODNE
Citat: alaudin poslato Oktobar 21, 2012, 01:05:02 PRE PODNE
Kod mene radi perfektno, to je do tebe, moguce nesto da ometa.

Provjeri, mora ti biti zadnji id vozila na serveru definiran ( ne Model ID vozila ), jer tu jedino moze biti greskica.
Petlja "unistava" vozila od zadnjeg id.a vozila na serveru pa nadalje, ti ako zadas zadnji id pogresan ili prevelik nece biti ucinka.
Probaj staviti ovako:
Ovo ce unistiti sva moguca vozila na serveru.
Ako ti ovo bude radilo, onda definitivno grijesis na zadnjem id.u vozila na serveru.
YCMD:unisti(playerid, params[], help)
{
for(new i = 0; i < MAX_VEHICLES; i++) // Petlja krece brojanje od nule, prolazi kroz sva vozila na servu
{
    DestroyVehicle(i); //  Unistava vozila na serveru od nule
}
return 1;
}

Cek sad sam skuzio znaci to ide ovako npr ako u skripti imam pedeset auta i onda stavim tu da od pedeset pa nadalje unistava auta koja sam stvorio pomocu komande /veh. Jer ovako mi unisiti onda auta koja su u scripti.

Da tako je, zato si definirao na vrhu SVA_AUTA, da ne moras uvijek trazit tu komandu pa u nju upisivat vozila.
Unistavat ce vozila od one vrijednosti koju ti uneses, ako imas 100 vozila u skripti, sta ja znam, za neke salone, bande itd.. i ne zelis njih unistavat, onda izbrojis ta vozila i stavis samo da od tog zbira pa nadalje krece unistavat vozila.
Onda mi ova komanda nece nikako valjat ako imadnem CarOwnerShip. Jer kad igraci kupuju auta onda ce broj auta rasti na serveru i onda ova komanda nece vise valjat.

Zato se komande s ovim principom prave na kraju, jer prvo se razvije sistem vozila i sve sto ima veze s tim.
I kasnije kad pravis tu komandu vrlo lako se dodje do rjesenja, jednostavno dok petlja broji vozila i kad naleti privatno vozilo neka ga preskoci.
Ili se moze napraviti nekakva varijabla koja bi pamtila svaki put kada neko kupi vozilo. I jednostavno se samo sabrala sa nasim definiranim br. vozila "SVA_VOZILA".
Mozda ima puno bolje rjesenje za izvest sve cjelokupno, trenutno mi ne pada nista na pamet.

Citat: alaudin poslato Oktobar 21, 2012, 01:47:38 PRE PODNE
Zato se komande s ovim principom prave na kraju, jer prvo se razvije sistem vozila i sve sto ima veze s tim.
I kasnije kad pravis tu komandu vrlo lako se dodje do rjesenja, jednostavno dok petlja broji vozila i kad naleti privatno vozilo neka ga preskoci.
Ili se moze napraviti nekakva varijabla koja bi pamtila svaki put kada neko kupi vozilo. I jednostavno se samo sabrala sa nasim definiranim br. vozila "SVA_VOZILA".
Mozda ima puno bolje rjesenje za izvest sve cjelokupno, trenutno mi ne pada nista na pamet.
Ma necu koristit komandu destroyveh i sve uredu. Hvala tebi sto si pomogao i sada sam neke stvari shvatio. :)