Szerző Téma: szerel , fest  (Megtekintve 1388 alkalommal)

szerel , fest
« Dátum: 2013. október 29. - 12:28:47 »
0 Show voters
Sziasztok olyan parancsra lenne szükségem hogy
/szerel - a közeledben álló kocsit megjavitod (de csak ha a közelébe vagy)
/fest -  a közeledben álló kocsit lefested (szinkód)

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
szerel , fest
« Válasz #1 Dátum: 2013. október 29. - 13:23:57 »
0 Show voters
Annyira csak nem vagy buta, hogy ezt magadnak ne tudd megcsinálni... Egy RepairVehicle és egy ChangeVehicleColor függvényt igazán nem nehéz használni... Valószínûleg csak azt nem tudod lekérdezni, hogy melyik kocsi van a játékos közelében. Ebben viszont szívesen segítek.
 
new JID = GetClosestVehicle(playerid, 10.00);
RepairVehicle(JID);
ChangeVehicleColor(JID , 6, 6);
stock GetClosestVehicle(playerid, Float:range)
{
new Float:vx, Float:vy, Float:vz;
new v=1,vehicleid,Float:distance;
while(GetVehicleModel(v))
{
    GetVehiclePos(v,vx,vy,vz);
    if(IsPlayerInRangeOfPoint(playerid,range,vx,vy,vz) && !IsPlayerInVehicle(playerid,v))
    {
        if(!distance || GetDistanceFromPoint(playerid,vx,vy,vz) < distance)
   {
      distance = GetDistanceFromPoint(playerid,vx,vy,vz);
       vehicleid = v;
   }
    }
    v++;
}
return vehicleid;
}

szerel , fest
« Válasz #2 Dátum: 2013. október 29. - 13:28:05 »
0 Show voters
Pontosan, eltaláltad tehát igen, nemtudtam lekérdezni hogy meik kocsi áll a közelembe :D
Köszönöm szépen ! :)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
szerel , fest
« Válasz #3 Dátum: 2013. október 29. - 13:32:52 »
0 Show voters
szerintem ez a sor nem jó ide:
 
while(GetVehicleModel(v))

 
van 4 jármû és közben 1 törölt:
 
400,
421,
0,
560,
521

 
akkor csak 2 jármûvet ellenõriz...szóval az 1. \"rés\" után levõket nem ellenõrzi
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
szerel , fest
« Válasz #4 Dátum: 2013. október 29. - 13:59:53 »
0 Show voters

szerintem ez a sor nem jó ide:
 
while(GetVehicleModel(v))

 
van 4 jármû és közben 1 törölt:
 
400,
421,
0,
560,
521

 
akkor csak 2 jármûvet ellenõriz...szóval az 1. \"rés\" után levõket nem ellenõrzi
 
[/quote]
10 másodperces guglizás ;)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
szerel , fest
« Válasz #5 Dátum: 2013. október 29. - 14:20:55 »
0 Show voters

 

szerintem ez a sor nem jó ide:
 
while(GetVehicleModel(v))

 
van 4 jármû és közben 1 törölt:
 
400,
421,
0,
560,
521

 
akkor csak 2 jármûvet ellenõriz...szóval az 1. \"rés\" után levõket nem ellenõrzi
 
[/quote]
10 másodperces guglizás ;)
 
[/quote]
a kódod vagy a megoldás? :D
mondjuk én már a hecc kedvéért is magamnak írnám meg :P
csak gondoltam, jelzem, hogy itt ez a hiba fent áll :)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
szerel , fest
« Válasz #6 Dátum: 2013. október 29. - 15:57:48 »
0 Show voters

 

 

szerintem ez a sor nem jó ide:
 
while(GetVehicleModel(v))

 
van 4 jármû és közben 1 törölt:
 
400,
421,
0,
560,
521

 
akkor csak 2 jármûvet ellenõriz...szóval az 1. \"rés\" után levõket nem ellenõrzi
 
[/quote]
10 másodperces guglizás ;)
 
[/quote]
a kódod vagy a megoldás? :D
mondjuk én már a hecc kedvéért is magamnak írnám meg :P
csak gondoltam, jelzem, hogy itt ez a hiba fent áll :)
 
[/quote]
:D Amúgy az jó, ha jelzed, hiszen én nem igazán csekkolom, hogy mükszik e a dolog. Csak leírom, segítségül - elvégre nem muszáj tökéletes választ adni. Csak legalább lássa, hogy kell hozzá egy custom függvény, és lássa, hogyan kell festeni, stb. Csak hogy elinduljon valamin :D Meg ha bugos a függvény, keres/ír másikat (keres, mert írni úgysem fog). Linkelhettem is volna, de az sem biztos, hogy jó lett volna, saaatöbbbíííí... :D Amúgy látom is a sok kommenteden, hogy kicsit \"tudományoskodsz\" pluszban, meg csekkolgatod a megoldásokat, javítgatsz rajtuk, pont pont pont.. :P

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
szerel , fest
« Válasz #7 Dátum: 2013. október 29. - 16:31:20 »
+2 Show voters

:D Amúgy az jó, ha jelzed, hiszen én nem igazán csekkolom, hogy mükszik e a dolog. Csak leírom, segítségül - elvégre nem muszáj tökéletes választ adni.
 
[/quote]
Ha segítsz akkor tökéletes megoldást adj, mert azért neked se volt mindegy, hogy elsõben a tanítónõd a \"b\" betût \"á\"-nak tanította, ugyan úgy itt se mindegy.
 

stock GetClosestVehicleID(playerid)
{
       new
               Float:Pos[3],
               Float:dist,
               Float:closedist=15.0,
               closeveh;
       for(new i=0; i < MAX_VEHICLES; i++)
       {
               if(GetVehiclePos(i, Pos[0], Pos[1], Pos[2]))
               {
                       dist = GetPlayerDistanceFromPoint(playerid, Pos[0], Pos[1], Pos[2]);
                       if(dist < closedist && GetPlayerVehicleID(playerid) !=i)
                       {
                               closedist = dist;
                               closeveh = i;
                       }
               }
       }
       return closeveh;
}

 
Ez viszont tökéletes, annó én írtam át saját magamnak milliószor tesztelve volt szóval nincs vele probléma.
Ha a distanceon állítani akarsz akkor
 Float:closedist=15.0,

 itt teheted meg, a float (lebegõpontos - magyarán tizedestört) változót állítsd kisebb értékre pl: 5.0 vagy hasonló. ;)

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
szerel , fest
« Válasz #8 Dátum: 2013. október 29. - 19:29:14 »
0 Show voters

 

 

 

szerintem ez a sor nem jó ide:
 
while(GetVehicleModel(v))

 
van 4 jármû és közben 1 törölt:
 
400,
421,
0,
560,
521

 
akkor csak 2 jármûvet ellenõriz...szóval az 1. \"rés\" után levõket nem ellenõrzi
 
[/quote]
10 másodperces guglizás ;)
 
[/quote]
a kódod vagy a megoldás? :D
mondjuk én már a hecc kedvéért is magamnak írnám meg :P
csak gondoltam, jelzem, hogy itt ez a hiba fent áll :)
 
[/quote]
:D Amúgy az jó, ha jelzed, hiszen én nem igazán csekkolom, hogy mükszik e a dolog. Csak leírom, segítségül - elvégre nem muszáj tökéletes választ adni. Csak legalább lássa, hogy kell hozzá egy custom függvény, és lássa, hogyan kell festeni, stb. Csak hogy elinduljon valamin :D Meg ha bugos a függvény, keres/ír másikat (keres, mert írni úgysem fog). Linkelhettem is volna, de az sem biztos, hogy jó lett volna, saaatöbbbíííí... :D Amúgy látom is a sok kommenteden, hogy kicsit \"tudományoskodsz\" pluszban, meg csekkolgatod a megoldásokat, javítgatsz rajtuk, pont pont pont.. :P
 
[/quote]
én nem tudományoskodom :D csak ha valaki kérdez akkor illik rá megfelelõ választ adni :D
pl ha autószerelõ scriptet akar akkor nem másolok be neki egy ban parancsot :D
de átadom neked a válaszolási lehetõséget :) 1000 hsz után visszavonulok ismét a fórumozástól egy idõre :) ma még nézegetem a fórumot aztán holnaptól megint pár hónap pihi :D
am ha jól emlékszem az alap GFRP-ben a lock parancs jó alap lett volna ide, csak ugye a lock helyett festés és javítás funkció
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
szerel , fest
« Válasz #9 Dátum: 2013. október 29. - 19:49:34 »
0 Show voters
Richard, jó értelemben mondtam, dicséretként :D Valamint idézõjelben. Azért neveztem így, mert eléggé értesz a pawn nyelvhez (meg gondolom más nyelvekhez is), és ezt nem rejted véka alá; hanem segítesz mindenkinek nagyon részletesen, mindenre kitérve, mint elmagyarázva. :thumbsup:

Nem elérhető Kovacs_Richard

  • 1743
  • HRP Fejlesztő
  • Discord: Kovacs_Richard#0321
    • Profil megtekintése
    • Hun Role Play Web
szerel , fest
« Válasz #10 Dátum: 2013. október 29. - 19:54:41 »
0 Show voters
értettem, hogy hogy érted :D jó lett volna anno amikor tanultam a scriptelést egy ilyen fórum vagy ismerni a wiki-t :D mert én a 25.000 soros GFRP-bõl tanultam meg a dolgok nagy részét :D nézegettem és próbálgattam :) 2 év alatt 25.000 sorból csináltam 108.000 sort :D én nem tartozom senkinek, hogy fórumon kelljen válaszolni, csak simán lógok a munka elõl vele :D meg persze segítek a kezdõknek, de sokan sajnos nem forgatják vissza a rájuk szánt energiát és idõt, pedig mind2 oldalnak megéri :) nekem pl azért éri meg mert amit magamnak scriptelek azok sokkal bonyolultabbak és néha kell egy kis kikapcsolódás :D egyszerû kódokat írni :)
Régóta nem tevékenykedem, mint SA-MP scripter.
HRP Fejlesztő.

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
szerel , fest
« Válasz #11 Dátum: 2013. október 29. - 20:21:45 »
0 Show voters
Igen, ezt már említetted pár hosszázólásodban. Csak lógsz a meló elõl, meg kikapcsolódsz, stb. :D Jó az. Én is ilyesmit csinálok. Mert lenne dolgom bõven :D Na meg persze néha én kérek segítséget, amelybõl aztán lesz 2-3 oldalnyi beszélgetés, és csak a végén derül ki, milyen egyszerû a megoldás... :P
DE!
Ezt a kis beszélgetést itt és most zárjuk le, mert ez már egy offhalmaz. :whistle:

szerel , fest
« Válasz #12 Dátum: 2013. október 30. - 10:19:22 »
0 Show voters
Ahj... mostmár bezavarodtam.. :s valaki megírná nekem parancsal együtt? :(

Nem elérhető SnooP

  • 1798
  • SnooP
    • Profil megtekintése
szerel , fest
« Válasz #13 Dátum: 2013. október 30. - 15:04:06 »
+1 Show voters
#include 
#include
#include
stock GetClosestVehicleID(playerid)
{
       new
               Float:Pos[3],
               Float:dist,
               Float:closedist=3.0,
               closeveh;
       for(new i=0; i < MAX_VEHICLES; i++)
       {
               if(GetVehiclePos(i, Pos[0], Pos[1], Pos[2]))
               {
                       dist = GetPlayerDistanceFromPoint(playerid, Pos[0], Pos[1], Pos[2]);
                       if(dist < closedist && GetPlayerVehicleID(playerid) !=i)
                       {
                               closedist = dist;
                               closeveh = i;
                       }
               }
       }
       return closeveh;
}
CMD:szerel(playerid)
{
RepairVehicle(GetClosestVehicleID(playerid));
return 1;
}
CMD:fest(playerid, params[])
{
new alapszin, masodszin;
if(sscanf(params, \"ii\", alapszin, masodszin)) return SendClientMessage(playerid, -1, \"Használat: /fest [szín ID] [szín ID]\");
if(alapszin < 255 && masodszin < 255)
{
ChangeVehicleColor(GetClosestVehicleID(playerid), alapszin, masodszin);
SendClientMessage(playerid, -1, \"Az autó le lett festve, elviheti a tulaja\");
}
else
{
SendClientMessage(playerid, -1, \"HIBA:A két szín ID 0-255 között kell legyen\");
}
return 1;
}

 
Tessék  megírtam neked, le is teszteltem mûködik. Ne felejtsd el betölteni a sscanf plugint.



DFoglalo: Neked csak három dolgot írnék le:
1. Lehet tökéletes munkát készíteni.
2. Ha valamit copy pastezel elõtte gyõzõdj meg róla és rágd át azt a kódot, hogy nincs-e benne hiba.
3. Már kezd kissé barna lenni a nyelved ;)
 
Részemrõl ennyit, szerintem jó ideig megint nem fogok írni. Remélem (bár biztos) jó lesz amit írtam. ;)
« Utoljára szerkesztve: 2013. október 30. - 15:06:42 írta SnooP »

szerel , fest
« Válasz #14 Dátum: 2013. október 31. - 00:49:36 »
0 Show voters
Köszönöm szépen :)

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal