Szerző Téma: Autó getelés!  (Megtekintve 1476 alkalommal)

Autó getelés!
« Dátum: 2014. augusztus 09. - 16:17:17 »
0 Show voters
Sziasztok!
Elkezdtem írni egy autó getelés parancsot rendszám alapján, viszont nem nagyon sikerült.
 
CMD:getcar(playerid, params[])
{
if(PlayerInfo[playerid] > 2)
{
new str[32];
if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
else {
            new file[256];
            format(file,sizeof(file),\"Jarmuvek/%d.ini\",vehicleid);
            for(new i = 0; i < MAX_VEHICLES; i++)
            {
      if(strcmp(str, VehicleInfo[vRendszam], true) ==0)
      {
          new Float:x, Float:y, Float:z;
         new kocsiid = GetPlayerVehicleID(i);
         GetPlayerPos(playerid, Float:x, Float:y, Float:z);
         SetVehiclePos(kocsiid, Float:x, Float:y, Float:z);
         break;
      }
      else
      {
         SendClientMessage(playerid, COLOR_WARNING, \"(( Nem található  ilyen rendszámú jármû! ))\");
      }
   }
}
}
else
{
SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
}
return 1;
}

 
Eddig ez van meg és ezt az errort kapok rá:
 
error 017: undefined symbol \"vehicleid\"

 
Nem tudom, hogy abból amit megírtam mi jó és mi rossz (az is lehet, hogy full rossz az egész, ezért aki tud segíteni légyszi segítsen.
Elõre is köszönöm!
(Lehet hogy így jobban látszik :D
\"width=500http://kepfeltoltes.hu/140809/kep_www.kepfeltoltes.hu_.png[/img]
)
« Utoljára szerkesztve: 2014. augusztus 09. - 16:59:00 írta Dfoglalo »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Autó getelés!
« Válasz #1 Dátum: 2014. augusztus 09. - 16:26:11 »
0 Show voters
    CMD:getcar(playerid, params[])
    {
            if(PlayerInfo[playerid] > 2)
            {
                    new str[32];
                    if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
                new file[256];
                for(new i = 0; i < MAX_VEHICLES; i++)
                {
                                    if(strcmp(str, VehicleInfo[vRendszam], true) ==0)
                                    {
                                        new Float:x, Float:y, Float:z;
                                            new kocsiid = GetPlayerVehicleID(i);
                                            GetPlayerPos(playerid, Float:x, Float:y, Float:z);
                                            SetVehiclePos(kocsiid, Float:x, Float:y, Float:z);
                                            format(file,sizeof(file),\"Jarmuvek/%d.ini\",kocsiid;
                                            break;
                                    } else {
                                            SendClientMessage(playerid, -1, \"(( Nem található ilyen jármû! ))\");
                                    }
                            }
            }
            else
            {
                    SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
            }
            return 1;
    }

 
Annyi volt a gond, hogy nem hoztál létre \'vehicleid\' változót, viszont vehicleid-re hivatkozva formáztad a \'file\'-t. File fel sem használtad, nem is kellene de beraktam neked a ciklusba[mert nem annak a jármûvét szeretnénk lekérni aki idehívja, azaz amiben õ ül]. Így beleformázza a file-ba azt a kocsit amit idehívtál.
Szerk: sscanf után nem szükséges \'else\', mivel a returnal megakadályoztad, hogy tovább fusson ha hibát észlel. Számíts arra, hogyha nincs ilyen kocsi, vagy ha van is de épp egy másikat ellenõriz a ciklus floodolni fogja a chatet, hogy nem talált ilyen jármûvet. Ezt direkt nem javítottam, \'break;\' utasítást nem ismerem, lehet hogy ez megakadályozza. Ha igen akkor én is tanulok belõle, így egyszerûbb. :)
« Utoljára szerkesztve: 2014. augusztus 09. - 16:32:28 írta BackUP »

Autó getelés!
« Válasz #2 Dátum: 2014. augusztus 09. - 16:54:20 »
0 Show voters
Most nincs error de a kocsit sajna nem geteli hozzám =(

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Autó getelés!
« Válasz #3 Dátum: 2014. augusztus 09. - 16:58:44 »
0 Show voters
Legközelebb, ha hibát észlelsz, a kiemelt témát használd! Egyébként miért pont rendszám alapján szeretnéd csinálni a dolgot? Sokkal egyszerûbb lenne ID alapján.

Autó getelés!
« Válasz #4 Dátum: 2014. augusztus 09. - 17:06:14 »
0 Show voters
Szoktunk haverokkal szórakozni és arra a szeróra írok egy \"RP\" modot. 1-2 helyen láttam eddig, hogy rendszám alapján getelnek és gondoltam megcsinálom én is mert az ID már túl egyszerû.
Errõl meg kiderült, hogy túl nehéz ://

Dupla hozzászólás automatikusan összefûzve. ( 2014. augusztus 09. - 17:17:57 )

Az a baj, hogy nem kéri le a kocsi ID-jét a fájlból. Pontosabban a fájl NEVET kéne lekérni. Ebben tudnátok segíteni?
« Utoljára szerkesztve: 2014. augusztus 09. - 17:17:57 írta ProPeti »

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Autó getelés!
« Válasz #5 Dátum: 2014. augusztus 09. - 17:26:28 »
0 Show voters
Fájl nevet a formattal lekérted, csak nem nyitottad meg a fájlt. De ha bemásolod, hogyna menti le a kocsit, vagy a fájl tartalmát megírom neked.

Autó getelés!
« Válasz #6 Dátum: 2014. augusztus 09. - 18:27:00 »
0 Show voters
gyerekek...úristen..
 
CMD:getcar(playerid, params[])
{
    new str[32];
if(PlayerInfo[playerid] <= 2) return SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
for(new i = 0; i < MAX_VEHICLES; i++) {
if(strcmp(str, VehicleInfo[vRendszam], true) == 0) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid, Float:x, Float:y, Float:z);
   SetVehiclePos(i, Float:x, Float:y, Float:z);
   break;
} else return SendClientMessage(playerid, COLOR_WARNING, \"(( Nem található  ilyen rendszámú jármû! ))\");
}
return 1;
}

 
remélem észreveszed mit b*sztál el.

Autó getelés!
« Válasz #7 Dátum: 2014. augusztus 09. - 23:28:19 »
0 Show voters
Észreveszek én sok mindent, de a jármûvet még mindig nem geteli :/

Dupla hozzászólás automatikusan összefûzve. ( 2014. augusztus 09. - 23:33:47 )

Megdoldva. Zárom.
« Utoljára szerkesztve: 2014. augusztus 09. - 23:33:47 írta ProPeti »

Nem elérhető Dfoglalo

  • 4069
  • Globális Moderátor
    • Profil megtekintése
Autó getelés!
« Válasz #8 Dátum: 2014. augusztus 10. - 19:47:31 »
0 Show voters
[mod]A téma mégsem oldódott meg, ezért ki lett nyitva.[/mod]
 
Idézetet írta: ProPeti date=1407692016\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49972\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok!
Valamiért csak az 1-es ID-jû jármûvet geteli a többire azt írja h nem létezik.
 
CMD:getcar(playerid, params[])
{
    new str[32];
if(PlayerInfo[playerid] <= 2) return SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
else if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
for(new i = 0; i < MAX_VEHICLES; i++) {
if(strcmp(str, VehicleInfo[vRendszam], true) == 0) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid, Float:x, Float:y, Float:z);
   SetVehiclePos(i, Float:x, Float:y, Float:z);
} else return SendClientMessage(playerid, COLOR_WARNING, \"(( Nem található  ilyen rendszámú jármû! ))\");
}
return 1;
}

 
Kocsi betöltés:
 
stock Kocsibetolt(vehicleid)
{
new file[128];
    format(file,sizeof(file),\"Jarmuvek/%d.ini\",vehicleid);
    VehicleInfo[vehicleid][vID] = dini_Int(file, \"vID\");
VehicleInfo[vehicleid][vPosx] = dini_Float(file, \"vPosx\");
VehicleInfo[vehicleid][vPosy] = dini_Float(file, \"vPosy\");
VehicleInfo[vehicleid][vPosz] = dini_Float(file, \"vPosz\");
VehicleInfo[vehicleid][vColor1] = dini_Int(file, \"vColor1\");
VehicleInfo[vehicleid][vColor2] = dini_Int(file, \"vColor2\");
VehicleInfo[vehicleid][vHP] = dini_Int(file, \"vHP\");
VehicleInfo[vehicleid][vAzonosito] = dini_Int(file, \"vAzonosito\");
format(VehicleInfo[vehicleid][vTulaj],30,\"%s\", dini_Get(file, \"vTulaj\"));
format(VehicleInfo[vehicleid][vRendszam],30,\"%s\", dini_Get(file, \"vRendszam\"));
CreateVehicle(VehicleInfo[vehicleid][vID], VehicleInfo[vehicleid][vPosx], VehicleInfo[vehicleid][vPosy], VehicleInfo[vehicleid][vPosz], 0, VehicleInfo[vehicleid][vColor1], VehicleInfo[vehicleid][vColor2], -1);
SetVehicleNumberPlate(vehicleid, VehicleInfo[vehicleid][vRendszam]);
return 1;
}

 

for(new i = 0; i < 2000; i++)
{
Kocsibetolt(i);
}

 


Autó getelés!
« Válasz #9 Dátum: 2014. augusztus 10. - 20:03:02 »
0 Show voters
tudsz írni rendszámra egy példát?

Autó getelés!
« Válasz #10 Dátum: 2014. augusztus 10. - 20:11:46 »
0 Show voters
AAA-111

Autó getelés!
« Válasz #11 Dátum: 2014. augusztus 10. - 20:43:13 »
0 Show voters
akkora egy brutálisan nagy f4sz vagyok, hogy hihetetlen....
 
CMD:getcar(playerid, params[])
{
new str[32];
if(PlayerInfo[playerid] <= 2) return SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
for(new i = 0; i < MAX_VEHICLES; i++) {
if(strcmp(str, VehicleInfo[vRendszam], true) == 0) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid, Float:x, Float:y, Float:z);
   return SetVehiclePos(i, Float:x, Float:y, Float:z);
}
}
SendClientMessage(playerid, COLOR_WARNING, \"(( Nem található  ilyen rendszámú jármû! ))\");
return 1;
}

 
így nézd meg..

Autó getelés!
« Válasz #12 Dátum: 2014. augusztus 10. - 21:14:44 »
0 Show voters
Valami nem jó mert ha megadok paramétert akkor mindig ismeretlen parancsot ír

Autó getelés!
« Válasz #13 Dátum: 2014. augusztus 10. - 21:28:43 »
0 Show voters
CMD:getcar(playerid, params[])
{
new str[32];
if(PlayerInfo[playerid] <= 2) return SendClientMessage(playerid, COLOR_WHITE, \"(( Ismeretlen parancs! ))\");
if(sscanf(params, \"s[32]\", str)) return SendClientMessage(playerid, COLOR_WHITE, \"(( Használat: /getcar [rendszam] ))\");
for(new i = 0; i < MAX_VEHICLES; i++) {
if(strcmp(str, VehicleInfo[vRendszam], true) == 0) {
   new Float:x, Float:y, Float:z;
   GetPlayerPos(playerid, Float:x, Float:y, Float:z);
   SetVehiclePos(i, Float:x, Float:y, Float:z);
   break;
}
}
SendClientMessage(playerid, COLOR_WARNING, \"(( Nem található  ilyen rendszámú jármû! ))\");
return 1;
}

 
így?
õszintén, nincs ötletem..

Autó getelés!
« Válasz #14 Dátum: 2014. augusztus 10. - 21:34:23 »
0 Show voters
Sajna így sem jó. Így mindenre azt írja, hogy nem található jármû. :/
Azért köszi a próbálkozásokat.
Esetleg más tudja?

Dupla hozzászólás automatikusan összefûzve. ( 2014. augusztus 10. - 21:36:41 )

Juppiiii!!!
Ha kiszedtem a breaket utána geteli normálisan. Köszönöm szépen:P
« Utoljára szerkesztve: 2014. augusztus 10. - 21:36:41 írta ProPeti »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal