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: Don - 2014. október 04. - 11:07:55

Cím: Autó színének megváltoztatása, csak ha egy adott nevû felhasználó száll bele.
Írta: Don - 2014. október 04. - 11:07:55
Üdv mindenkinek!
Elõre is bocsánatot kérek, ha már olyasmi kérdést tettem fel, amit már elõttem feltettek, ugyanakkor elõre is köszönök minden segítséget.
Amit el szeretnék érni az az, hogy ha egy kocsiba beszáll mint vezetõ, pl. Pista, akkor a kocsi színét változtassa feketére. De ha csak úgy száll be mint utas, akkor ne csináljon semmit az autóval, ugyanúgy ha nem Pista száll be, akkor se történjen semmi, bár ez egyértelmû.
Amit én eddig össze tudtam kutyulni az ez:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!strfind(pName(playerid), \"Sentinel\") || ispassenger == 0)
{
    ChangeVehicleColor(vehicleid, 0, 0);
}
else if(ispassenger == 1)
{
}
return 1;
}
Egyetlen gond az, hogy bárhogy száll be adott esetben Sentinel a kocsiba mindig megváltoztatja feketére. Próbáltam a return-okat álligatni, volt már így is:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(!strfind(pName(playerid), \"Sentinel\") || ispassenger == 0)
{
    ChangeVehicleColor(vehicleid, 0, 0);
        return 1;
}
else if(ispassenger == 1)
{
        return 0;
}
return 1;
}
De ígyis ugyanazt csinálta.
Eléggé kezdõ vagyok Pawno-féle programozásban, nem mindent tudok, viszont itt tényleg nem értem hogy csináljam meg... vagy hogy írjam le azt, hogy ha nem vezetõ, akkor ne csináljon semmit.
Mégegyszer köszi a segítséget! :)
Cím: Autó színének megváltoztatása, csak ha egy adott nevû felhasználó száll bele.
Írta: norbinator09 - 2014. október 04. - 11:49:37
Próbáld így:
 

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
   if(!strfind(pName[playerid], \"Sentinel\") && GetPlayerState(playerid) == PLAYER_STATE_DRIVER)//ha a játékos nevében benne van hogy \"Sentinel\" ÉS sofõr
   {
       //akkor fekete lessz a kocsi
       ChangeVehicleColor(vehicleid, 0, 0);
   }
   return 1;
}
Cím: Autó színének megváltoztatása, csak ha egy adott nevû felhasználó száll bele.
Írta: Pedró - 2014. október 04. - 12:02:28
nemleszjó. írom hogy a jó..
 
public OnPlayerStateChange(playerid, newstate, oldstate) {
    if(!strcmp(pName[playerid], \"Sentinel\"))
        if(newstate == PLAYER_STATE_DRIVER)
            ChangeVehicleColor(GetPlayerVehicleID(playerid), 0, 0);
    return 1;
}