Szerző Téma: Rohamkocsi csak mentõsöknek ->number of arguments does not match definition  (Megtekintve 3094 alkalommal)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #15 Dátum: 2011. Szeptember 11. - 15:39:46 »
0 Show voters

D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(1800) : error 036: empty statement
D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(1804) : warning 225: unreachable code

 
1800
[pawn]if(model == 427 || model == 490 || model == 523 || model == 596 || model == 597 || model == 598 || model == 599);[/pawn]
1804
return 0-s

Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #16 Dátum: 2011. Szeptember 11. - 15:52:20 »
+1 Show voters
forward RendorKocsi(carid);
public RendorKocsi(carid)
{
     new model = GetVehicleModel(carid);
     if(model == 427 || model == 490 || model == 523 || model == 596 || model == 597 || model == 598 || model == 599)
     {
           return 1;
     }
     return 0;
}

 
A javított verzió,siettem,ezért az elöbbit elírtam

Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #17 Dátum: 2011. Szeptember 11. - 17:02:34 »
+1 Show voters
Azt az egy jármûvet megjelõlöd egy változóval és azt az egyet kihagyod az ellenõrzésbõl.
[pawn]new mento; // A mód tetejére global változóként.[/pawn]
majd az OnGameModeInit alatt megkeresed azt a jármûvet amelyik a mentõsöké.
mento = AddStaticVehicle(......
és ezt a változót beilleszted valamelyik kódba hogy kihagyja az egész folyamatból.
[pawn]stock
IsaCopCar(playerid)
{
new
   vehid = GetPlayerVehicleID(playerid); // lekérdezzük hogy a játékos melyik sorszámú autóban van
if(vehid == mento) return false;
if(vehid) // Ellõnrízzük hogy ezaz érték nagyobb-e nullánál mert ha nulla akkor a játékos nincs jármûben.
{
   switch(GetVehicleModel(vehid)) //Itt egy if hez hasonló szerkezet csak ez valamivel szebb lényegében a jármû azonosító számából lekérdezzük a modelid-t
   {
      case 427, 497, 528, 596, 597, 598, 599, 601: return true; // A rendõr jármûvek modelidje majd a visszatéréseket megváltoztatod olyanra amelyik neked kell meg a modelidket is írd át, ha van benn olyan aminek nem kellene.
   }
}
return false; // false (0) visszatérési érték ha nem rendõr jármûben van és nem tartózkodik jármûben a játékos.
}[/pawn]

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #18 Dátum: 2011. Szeptember 11. - 20:05:42 »
0 Show voters
Köszi mentek a +1-ek.
[pawn]
public IsAnAmbulance(carid)
{
    new vehid = GetPlayerVehicleID(playerid);
if(vehid == mento) return false;
return 0;
}[/pawn]
undefined symbol playerid
valaki ?:D

Nem elérhető Norby

  • 1575
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #19 Dátum: 2011. Szeptember 11. - 20:09:45 »
0 Show voters
Idézetet írta: tudvari date=1315764342\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11384\" data-ipsquote-contentclass=\"forums_Topic
Köszi mentek a +1-ek.
[pawn]
public IsAnAmbulance(carid)
{
    new vehid = GetPlayerVehicleID(playerid);
if(vehid == mento) return false;
return 0;
}[/pawn]
undefined symbol playerid
valaki ?:D
 
GetPlayerVehicleID(playerid);
nincs definálva a Playerid :)
ezt ird át a GM be :
 
forward IsAnAmbulance(carid);

 
Erre :
 
forward IsAnAmbulance(carid,playerid);

 
És ezt is változtasd :
 
public IsAnAmbulance(carid)

 
Erre :
 
public IsAnAmbulance(carid,playerid)

 
Elméletileg jó lesz :)

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #20 Dátum: 2011. Szeptember 11. - 20:30:38 »
0 Show voters

D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(1603) : warning 202: number of arguments does not match definition
D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(3776) : warning 202: number of arguments does not match definition
D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(13876) : warning 202: number of arguments does not match definition

 
1603
[pawn]if (IsAnAmbulance(vehicleid) && !ispassenger)[/pawn]
3776
[pawn]else if(IsAnAmbulance(newcar))[/pawn]
13876
[pawn]if (IsAnAmbulance(playambu) && playambu == giveambu)[/pawn]

Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #21 Dátum: 2011. Szeptember 11. - 20:59:30 »
0 Show voters
Most ne keverd az azonosító sorszámokat vehicleid playerid mert az elõzõ az jármû sorszámozást takar míg az utóbbi az játékos sorszámozást jelöl.
Most a funkciót annak alapján írod meg amelyiket használni akarod ha a vehicleid sorszámozást használod akkor több helyen így kellene használnod:
[pawn]stock IsAnAmbulance(vehicleid) return vehicleid == mento; // Egyetlen egy jármûért amúgy felesleges egy ilyent létrehozni, de tapasztalat szerzésnek nem rossz az ilyen se.[/pawn]
majd ahol használod pl.:
[pawn]public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    if(IsAnAmbulance(vehicleid))
    {[/pawn]
van vehicleid paraméter a callback funkcióban ott azt használod ahol meg nincs:
pl.:
[pawn]public OnPlayerStateChange(playerid, newstate, oldstate)
{
    if(IsAnAmbulance(GetPlayerVehicleID(playerid)))
    {[/pawn]

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #22 Dátum: 2011. Szeptember 11. - 21:09:14 »
0 Show voters
Ezt nem értem :D

Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #23 Dátum: 2011. Szeptember 11. - 23:51:57 »
0 Show voters
Idézetet írta: tudvari date=1315768154\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"11384\" data-ipsquote-contentclass=\"forums_Topic
Ezt nem értem :D
 
Pedig ennél érthetõbben nem lehet leírni olvasd el többször próbálgasd szkriptben, mást nem tudok javasolni.

Nem elérhető tudvari

  • 1264
  • Fejlesztő
    • Profil megtekintése
Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #24 Dátum: 2011. Szeptember 12. - 18:21:03 »
0 Show voters
Nos szerettem volna megoldani azt hogy bizonyos kocsik amik elõtt ott van hogy \"mento =\" azok mentõskocsinak számítsanak és ne tudjon beleszállni normál player.De ezeket a warnokat kaptam.
Ez a fõ kód,és ebben van az 1601-es sor.
[pawn]
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if (IsACopCar(vehicleid) && !ispassenger)
   {
      if(PlayerInfo[playerid][pLeader]==1||PlayerInfo[playerid][pLeader]==2||PlayerInfo[playerid][pLeader]==3) {}
       else
      RemovePlayerFromVehicle(playerid);
      SendClientMessage(playerid, COLOR_RED, \"Nem vagy a  tagja!\");
   }
   if (IsAnAmbulance(vehicleid) && !ispassenger) //1601
   {
       if(PlayerInfo[playerid][pMember]==4||PlayerInfo[playerid][pLeader]==4) { }
       else
      RemovePlayerFromVehicle(playerid);
       SendClientMessage(playerid, COLOR_RED, \"Nem vagy a mentõszolgálat tagja!\");
   }
   return 1;
}[/pawn]
Warnok:
 

D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(1601) : warning 202: number of arguments does not match definition
D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(3773) : warning 202: number of arguments does not match definition
D:\\SZERVER\\gamemodes\\legujabbkorhaz.pwn(13880) : warning 202: number of arguments does not match definition

 
[pawn]else if(IsAnAmbulance(newcar)) //3773[/pawn]
[pawn]if (IsAnAmbulance(playambu) && playambu == giveambu) //13880[/pawn]
Elõre is köszönöm minden hozzászóló segítségét.
[mod]Ne nyiss feleslegesen még egy témát ez ügyben, tökéletesen megfelel a régi is erre a célra ha ebben írsz új hozzá szólást az is elõre fog kerülni. Témák össze vonva.[/mod]
« Utoljára szerkesztve: 2011. Szeptember 13. - 07:16:44 írta Zsolesszka »

Rohamkocsi csak mentõsöknek ->number of arguments does not match definition
« Válasz #25 Dátum: 2011. Szeptember 13. - 07:28:53 »
0 Show voters
\"number of arguments does not match definition\"
(nem szó szerinti fordítás!)
Azt jelenti hogy a használt függvény paraméterinek száma nem egyezik meg a tényleges függvény paramétereivel.
[pawn]IsAnAmbulance(param1, param2, param3)[/pawn]
Itt 3 paramétere van az adott függvénynek így mikor használod ott is 3-mat kell megadni.
Ez nem minden esetben így van, vannak egyéb megoldások, de ezzel most nem akarlak össze zavarni.
[pawn]if(IsAnAmbulance( 4, 6, playerid))[/pawn]
És mint a hozzászólásodban olvastam
 
amik elõtt ott van hogy \"mento =\"[/quote]
Már eleve rosszul alkalmazod a mento kifejezés/változó csak egy darab jármû azonosító számát tudja tárolni jelen formájában és nem az összesét.
Ahhoz hogy te több jármû vehicleid értékét tudd tárolni több változót vagy ennek a változónak kell adni egy plusz dimenziós/array értéket.
[pawn]new mento, mento1, mento2, mento3;
mento = AddStaticVehicle(...
mento1 = AddStaticVehicle(...
mento2 = AddStaticVehicle(...
mento3 = AddStaticVehicle(...[/pawn]
Vagy másképp:
[pawn]
new mento[4];
mento[0] = AddStaticVehicle(...
mento[1] = AddStaticVehicle(...
mento[2] = AddStaticVehicle(...
mento[3] = AddStaticVehicle(...[/pawn]

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal