GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: Bloodest44 - 2012. szeptember 02. - 21:43:38

Cím: Admin kocsik
Írta: Bloodest44 - 2012. szeptember 02. - 21:43:38
\'Estét, az lenne a kérdésem, hogy mi lehet ebben a kódban a hiba? A szöveget kiírja, hogy \'nem vagy rendõr így nincs kulcsod...\' de nem száll ki a kocsiból, ugyanúgy vezetheti õket egy sima civil.
Köszönöm!
 
public OnPlayerEnterVehicle(playerid, vehicleid)
{
        new CAR;
CAR = GetVehicleModel(vehicleid);
if(CAR == 425 || CAR == 427 || CAR == 432 || CAR == 433 || CAR == 447 || CAR == 470 || CAR == 490 || CAR == 497 || CAR == 520 || CAR == 523 || CAR == 528 || CAR == 548 || CAR == 596 || CAR == 597 || CAR == 598 || CAR == 599 || CAR == 601)
{
if(IsPlayerLAdmin(playerid) == 1)
{
SendClientMessage(playerid, COLOR_GREEN, \"A kocsi készen áll a járõrözéshez.\");
}
else
SetPlayerSpecialAction(playerid, SPECIAL_ACTION_EXIT_VEHICLE);
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid, COLOR_ULTRARED, \"HIBA: Nem vagy rendõr így nincs kulcsod a jármûhöz!\");
return 1;
}
        return 0;
}
Cím: Admin kocsik
Írta: Kovacs_Richard - 2012. szeptember 02. - 21:55:59
az else után nem kéne tök véletlen egy { ? :)
Cím: Admin kocsik
Írta: Gentleman - 2012. szeptember 02. - 21:58:09
Amikor az enter vehicle lefut akkor a játékos még nincs a jármûben. Az enter vehicle akkor fut le mikor a játékos a jármûbe megpróbál beszállni nem pedig ténylegesen beszáll.
Érdemes lenne ClearAnimations függvénnyel visszatérni.
Cím: Admin kocsik
Írta: Zsolesszka - 2012. szeptember 02. - 22:52:13
Az OnPlayerStateChange alá tedd, az OnPlayerEnterVehicle kijátszható.
 
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER) // vezetõ vagy utas
Cím: Admin kocsik
Írta: Bloodest44 - 2012. szeptember 03. - 11:00:09
Belehelyeztem az új publicot, + elrendeztem kicsit a sorokat, de nem jó. Semmi szöveget nem ír se adminnak se civilnek, és nem dobja ki kocsiból se a civilt. Se error se warn, még se jó...
 
public OnPlayerStateChange(playerid, newstate, oldstate)
{
new CAR = GetPlayerVehicleID(playerid);
if(newstate == PLAYER_STATE_DRIVER || newstate == PLAYER_STATE_PASSENGER)
{
if(CAR == 425 || CAR == 427 || CAR == 432 || CAR == 433 || CAR == 447 || CAR == 470 || CAR == 490 || CAR == 497 || CAR == 520 || CAR == 523 || CAR == 528 || CAR == 548 || CAR == 596 || CAR == 597 || CAR == 598 || CAR == 599 || CAR == 601)
{
   if(IsPlayerLAdmin(playerid) == 1)
   {
      SendClientMessage(playerid, COLOR_GREEN, \"Sikeres jármû indítás, jó munkát!\");
    }
   else
   {
      SendClientMessage(playerid, COLOR_ULTRARED, \"HIBA: Nem vagy rendõr így nincs kulcsod a jármûhöz!\");
      RemovePlayerFromVehicle(playerid); 
   }
}
}
return 1;
}

 
Még egy haver mondta, hogy ha kicserélem a new CAR = GetPlayerVehicleID(playerid); -t   erre  --->  GetVehicleModelID(GetPlayerVehicleId(playerid)); akkor jónak kellene lenni, de olyankor meg error-t ír: 
undefined symbol \"GetVehicleModelID\"
undefined symbol \"GetPlayerVehicleId\"
Cím: Admin kocsik
Írta: Fl0rian - 2012. szeptember 03. - 12:49:39
GetVehicleModel( GetPlayerVehicleID(playerid) );
Cím: Admin kocsik
Írta: Bloodest44 - 2012. szeptember 03. - 14:08:18
Hmm, kösz TayLoR! Most már mûködik is.  :hmmm:
Kösz mindenkinek!!!    ;)