Szerző Téma: frakció kocsi ellenõrzés hiba  (Megtekintve 1051 alkalommal)

frakció kocsi ellenõrzés hiba
« Dátum: 2014. március 24. - 20:20:32 »
0 Show voters
Sziasztok !!
Itt van ez a kód:
 
stock frakciojarmucheck(playerid)
{
        new vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
    if(pInfo[playerid][frakcioid] == 1 && GetVehicleModel(vehicleid) == 427||490||497||523||596||597||598||599||601)// az a hiba hogy bármilyen kocsiba ülök mindig \"igaz\" miért?:((
    {
pInfo[playerid][frakciojarmuben] = 1;
       }else if(pInfo[playerid][frakcioid] != 1 && GetVehicleModel(vehicleid) == 427||490||497||523||596||597||598||599||601)
{
pInfo[playerid][frakciojarmuben] = 0;// nem az ö frakciójába lévõ kocsi
       }else{
       pInfo[playerid][frakciojarmuben] = -1;// átlagos autó
       }
       return 1;
}
ha beül a kocsiba akkor elindítom a fönti fügvény:
if(newstate == PLAYER_STATE_DRIVER)
    {
        frakciojarmucheck(playerid);// itt
         if(pInfo[playerid][frakciojarmuben] == 0)
       {
         RemovePlayerFromVehicle(playerid);
        SendClientMessage(playerid, COLOR_RED, \"Ez egy Frakció Jármû!!!\");
         }
if(pInfo[playerid][frakciojarmuben] == 1)
{
SendClientMessage(playerid, COLOR_GREEN, \"Frakció kocsiba vagy\");
         }
és még egy kis hiba :
if(pInfo[playerid][frakciojarmuben] == -1 && (strcmp(pVinfo[vehicleid][tulajdonos],jatekosnev(playerid)) == 1 || strcmp(pVinfo[vehicleid][tulajdonos2],jatekosnev(playerid)) == 1)) return SendClientMessage(playerid, COLOR_RED, \"Nincs hozzá kulcsod!!\"); // tulajdonos vagyok és mindig be adja azt hogy nincs hozzá kulcsom

 
miért nem jók az if jeim??
Elnézést a nagy özönért :((
segítségeteket elõre is köszönöm.
« Utoljára szerkesztve: 2014. március 25. - 19:09:36 írta kriszrap »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
frakció kocsi ellenõrzés hiba
« Válasz #1 Dátum: 2014. március 25. - 07:26:54 »
0 Show voters
Így talán
 
stock frakciojarmucheck(playerid)
{
new vehicleid, gvm;
gvm = GetVehicleModel(vehicleid);
vehicleid = GetPlayerVehicleID(playerid);
if(pInfo[playerid][frakcioid] == 1 && gvm == 427 || gvm = 490 gvm = 497 || gvm = 523 || gvm = 596 || gvm = 597||  gvm = 598 || gvm = 599 || gvm = 601)// az a hiba hogy bármilyen kocsiba ülök mindig \"igaz\" miért?:((
{
pInfo[playerid][frakciojarmuben] = 1;
}else if(pInfo[playerid][frakcioid] != 1 && gvm == 427 || gvm = 490 || gvm = 497 || gvm = 523 || gvm = 596 || gvm = 597 || gvm = 598 || gvm = 599 || gvm = 601) {
pInfo[playerid][frakciojarmuben] = 0;// nem az ö frakciójába lévõ kocsi
}else{
pInfo[playerid][frakciojarmuben] = -1;// átlagos autó
}
return 1;
}

 
A másik résznél pedig:
 
   if(newstate == PLAYER_STATE_DRIVER) {
frakciojarmucheck(playerid);// itt
if(!pInfo[playerid][frakciojarmuben]){
   RemovePlayerFromVehicle(playerid);
   SendClientMessage(playerid, COLOR_RED, \"Ez egy Frakció Jármû!!!\");
}else SendClientMessage(playerid, COLOR_GREEN, \"Frakció kocsiba vagy\");
}

 
harmadiknál meg talán így:
 
if(!strcmp(pVinfo[vehicleid][tulajdonos], jatekosnev(playerid)) || !strcmp(pVinfo[vehicleid][tulajdonos2], jatekosnev(playerid))) goto ugras;
if(pInfo[playerid][frakciojarmuben] == -1) return SendClientMessage(playerid, COLOR_RED, \"Nincs hozzá kulcsod!!\"); // tulajdonos vagyok és mindig be adja azt hogy nincs hozzá kulcsom
ugras:
« Utoljára szerkesztve: 2014. március 25. - 07:31:28 írta Flash »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
frakció kocsi ellenõrzés hiba
« Válasz #2 Dátum: 2014. március 25. - 07:44:51 »
0 Show voters
Az én rendszerembe betöltöd, majd loopolod, de flashé a hosszas ifek helyett egy nagy switch lenne, amiben a jármû idje lenne.
Ott ugye a case-eket lehet tartományra is megadni, pl. case 0 .. 20 akkor indítsa be, ha a játékos frakciója maffia.
Tehát:
 

new jid = GetPlayerVehicleID(playerid)
switch (jid)
{
case 0 .. 20
{
if(JarmuAdat[jid][Frakcio] == JatekosAdat[playerid][Frakcio] && JatekosAdat[playerid][Rang] >= JarmuAdat[jid][MinRang])
{
InditMotor(playerid); //Igen playerid, mert ez a függvény benne volt az elõzõ posztomban és az a playerid kocsijának a motorját indítja el.
}
}
}

 
És ebben másolgatod a caseket. Megjegyzés: a számok vesszõvel is elválaszthatók, abban az esetben csak adott idkre adod meg. Kombinálni is lehet õket. Példa:
 

case 2,6,8..10 // 2,6,8,9,10 számokat foglalja magában.

 
Sok szerencsét, jó programozást!  :thumbsup:

frakció kocsi ellenõrzés hiba
« Válasz #3 Dátum: 2014. március 25. - 16:09:00 »
0 Show voters
sikerült zárok:)
« Utoljára szerkesztve: 2014. március 25. - 19:09:01 írta kriszrap »

frakció kocsi ellenõrzés hiba
« Válasz #4 Dátum: 2014. március 24. - 20:20:32 »
0 Show voters
Sziasztok !!
Itt van ez a kód:
 
stock frakciojarmucheck(playerid)
{
        new vehicleid;
        vehicleid = GetPlayerVehicleID(playerid);
    if(pInfo[playerid][frakcioid] == 1 && GetVehicleModel(vehicleid) == 427||490||497||523||596||597||598||599||601)// az a hiba hogy bármilyen kocsiba ülök mindig \"igaz\" miért?:((
    {
pInfo[playerid][frakciojarmuben] = 1;
       }else if(pInfo[playerid][frakcioid] != 1 && GetVehicleModel(vehicleid) == 427||490||497||523||596||597||598||599||601)
{
pInfo[playerid][frakciojarmuben] = 0;// nem az ö frakciójába lévõ kocsi
       }else{
       pInfo[playerid][frakciojarmuben] = -1;// átlagos autó
       }
       return 1;
}
ha beül a kocsiba akkor elindítom a fönti fügvény:
if(newstate == PLAYER_STATE_DRIVER)
    {
        frakciojarmucheck(playerid);// itt
         if(pInfo[playerid][frakciojarmuben] == 0)
       {
         RemovePlayerFromVehicle(playerid);
        SendClientMessage(playerid, COLOR_RED, \"Ez egy Frakció Jármû!!!\");
         }
if(pInfo[playerid][frakciojarmuben] == 1)
{
SendClientMessage(playerid, COLOR_GREEN, \"Frakció kocsiba vagy\");
         }
és még egy kis hiba :
if(pInfo[playerid][frakciojarmuben] == -1 && (strcmp(pVinfo[vehicleid][tulajdonos],jatekosnev(playerid)) == 1 || strcmp(pVinfo[vehicleid][tulajdonos2],jatekosnev(playerid)) == 1)) return SendClientMessage(playerid, COLOR_RED, \"Nincs hozzá kulcsod!!\"); // tulajdonos vagyok és mindig be adja azt hogy nincs hozzá kulcsom

 
miért nem jók az if jeim??
Elnézést a nagy özönért :((
segítségeteket elõre is köszönöm.
« Utoljára szerkesztve: 2014. március 25. - 19:09:36 írta kriszrap »

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
frakció kocsi ellenõrzés hiba
« Válasz #5 Dátum: 2014. március 25. - 07:26:54 »
0 Show voters
Így talán
 
stock frakciojarmucheck(playerid)
{
new vehicleid, gvm;
gvm = GetVehicleModel(vehicleid);
vehicleid = GetPlayerVehicleID(playerid);
if(pInfo[playerid][frakcioid] == 1 && gvm == 427 || gvm = 490 gvm = 497 || gvm = 523 || gvm = 596 || gvm = 597||  gvm = 598 || gvm = 599 || gvm = 601)// az a hiba hogy bármilyen kocsiba ülök mindig \"igaz\" miért?:((
{
pInfo[playerid][frakciojarmuben] = 1;
}else if(pInfo[playerid][frakcioid] != 1 && gvm == 427 || gvm = 490 || gvm = 497 || gvm = 523 || gvm = 596 || gvm = 597 || gvm = 598 || gvm = 599 || gvm = 601) {
pInfo[playerid][frakciojarmuben] = 0;// nem az ö frakciójába lévõ kocsi
}else{
pInfo[playerid][frakciojarmuben] = -1;// átlagos autó
}
return 1;
}

 
A másik résznél pedig:
 
   if(newstate == PLAYER_STATE_DRIVER) {
frakciojarmucheck(playerid);// itt
if(!pInfo[playerid][frakciojarmuben]){
   RemovePlayerFromVehicle(playerid);
   SendClientMessage(playerid, COLOR_RED, \"Ez egy Frakció Jármû!!!\");
}else SendClientMessage(playerid, COLOR_GREEN, \"Frakció kocsiba vagy\");
}

 
harmadiknál meg talán így:
 
if(!strcmp(pVinfo[vehicleid][tulajdonos], jatekosnev(playerid)) || !strcmp(pVinfo[vehicleid][tulajdonos2], jatekosnev(playerid))) goto ugras;
if(pInfo[playerid][frakciojarmuben] == -1) return SendClientMessage(playerid, COLOR_RED, \"Nincs hozzá kulcsod!!\"); // tulajdonos vagyok és mindig be adja azt hogy nincs hozzá kulcsom
ugras:
« Utoljára szerkesztve: 2014. március 25. - 07:31:28 írta Flash »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
frakció kocsi ellenõrzés hiba
« Válasz #6 Dátum: 2014. március 25. - 07:44:51 »
0 Show voters
Az én rendszerembe betöltöd, majd loopolod, de flashé a hosszas ifek helyett egy nagy switch lenne, amiben a jármû idje lenne.
Ott ugye a case-eket lehet tartományra is megadni, pl. case 0 .. 20 akkor indítsa be, ha a játékos frakciója maffia.
Tehát:
 

new jid = GetPlayerVehicleID(playerid)
switch (jid)
{
case 0 .. 20
{
if(JarmuAdat[jid][Frakcio] == JatekosAdat[playerid][Frakcio] && JatekosAdat[playerid][Rang] >= JarmuAdat[jid][MinRang])
{
InditMotor(playerid); //Igen playerid, mert ez a függvény benne volt az elõzõ posztomban és az a playerid kocsijának a motorját indítja el.
}
}
}

 
És ebben másolgatod a caseket. Megjegyzés: a számok vesszõvel is elválaszthatók, abban az esetben csak adott idkre adod meg. Kombinálni is lehet õket. Példa:
 

case 2,6,8..10 // 2,6,8,9,10 számokat foglalja magában.

 
Sok szerencsét, jó programozást!  :thumbsup:

frakció kocsi ellenõrzés hiba
« Válasz #7 Dátum: 2014. március 25. - 16:09:00 »
0 Show voters
sikerült zárok:)
« Utoljára szerkesztve: 2014. március 25. - 19:09:01 írta kriszrap »

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal