Szerző Téma: tankal spawnolas  (Megtekintve 718 alkalommal)

tankal spawnolas
« Dátum: 2013. Augusztus 27. - 16:15:58 »
0 Show voters
Sziasztok hogy lehet azt megcsinalni hogy tankal spawnoljon le az emberke es ne tudjon kiszalni?
« Utoljára szerkesztve: 2013. Augusztus 27. - 17:05:20 írta Packman »

tankal spawnolas
« Válasz #1 Dátum: 2013. Augusztus 28. - 14:57:28 »
0 Show voters
#include <a_samp>
 
new Tank[MAX_PLAYERS];
 
public OnPlayerSpawn(playerid)
{
    new Float:X,Float:Y,Float:Z,Float:Angle;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Angle);
    Tank[playerid] = CreateVehicle(432, X,Y,Z,Angle, 0, 1, 60);
    PutPlayerInVehicle(playerid,Tank[playerid],0);
        for(new i=0; i < MAX_PLAYERS; i++)
        {
                if(i == playerid) continue;
                SetVehicleParamsForPlayer(Tank[playerid],i,0,1);
        }
    return 1;
}

 
Nem én írtam!
« Utoljára szerkesztve: 2013. Augusztus 28. - 15:00:27 írta Ezredes »

Nem elérhető Cappsy

  • Adminisztrátor
  • 2754
    • Profil megtekintése
tankal spawnolas
« Válasz #2 Dátum: 2013. Augusztus 28. - 21:55:02 »
0 Show voters
nem rossz de a kiszállást nem oldottad meg!
Szerintem az bõven jó hogyha már ha ki szeretne szállni az illetõ akkor megöli a szerver
Ehhez ez a függvényt használd: OnPlayerExitVehicle
A kocsi felismeréséhez használd ezt:
 

if(vehicleid == 432)//Itt ellenõrizzük abba a kocsiba ül-e hisz nem szeretnénk hogy minden kocsiból ha kiszáll meghaljon :)

 
Teljes kód:
 

public OnPlayerExitVehicle(playerid, vehicleid)
{
     if(vehicleid == 432)
 {
          //Ide hogy mi történjen
 }
 return 1;
}

 
Remélem segítettem ha valami nem megy dobj Privát üzenetet

tankal spawnolas
« Válasz #3 Dátum: 2013. Augusztus 29. - 10:37:33 »
0 Show voters
Idézetet írta: cappsy date=1377719702\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"41994\" data-ipsquote-contentclass=\"forums_Topic
nem rossz de a kiszállást nem oldottad meg!
Szerintem az bõven jó hogyha már ha ki szeretne szállni az illetõ akkor megöli a szerver
Ehhez ez a függvényt használd: OnPlayerExitVehicle
A kocsi felismeréséhez használd ezt:
 

if(vehicleid == 432)//Itt ellenõrizzük abba a kocsiba ül-e hisz nem szeretnénk hogy minden kocsiból ha kiszáll meghaljon :)

 
Teljes kód:
 

public OnPlayerExitVehicle(playerid, vehicleid)
{
     if(vehicleid == 432)
 {
          //Ide hogy mi történjen
 }
 return 1;
}

 
Remélem segítettem ha valami nem megy dobj Privát üzenetet
 
Ez se rossz, de nem ezt akarta ;)
Mivel .. gondolom.. egy \"World Of Tanks\"-es gm-rõl van szó, ezért KI SE LEHESSEN szállni.. nem hogy kiszáll és megöli.. bár, ezzel megoldható (a te kódoddal) hogy ha kiszáll, visszadobja...
            SetVehicleParamsForPlayer(GetPlayerVehicleID(playerid),i,0,1);
Teljes megoldás tehát:
[pawn]
public OnPlayerSpawn(playerid)
{
    new Float:X,Float:Y,Float:Z,Float:Angle;
    GetPlayerPos(playerid,X,Y,Z);
    GetPlayerFacingAngle(playerid,Angle);//Hely lekérés
    Tank[playerid] = CreateVehicle(432, X,Y,Z,Angle, 0, 1, 60);
    PutPlayerInVehicle(playerid,Tank[playerid],0); //Kocsiba tevés
     SetVehicleParamsForPlayer(Tank[playerid],i,0,1);//Ajtók zárása
    return 1;
}[/pawn]

Nem elérhető Rupert

  • 2301
    • Profil megtekintése
tankal spawnolas
« Válasz #4 Dátum: 2013. Augusztus 29. - 11:25:57 »
0 Show voters
Az ajtók zárása nem oldja meg a problémát, mert ki lehet szállni, de be nem. Én úgy oldanám meg, hogy spawnoláskor egy változóba elmentem a játékos tank azonosítóját. Tehát..
 

new jatekostank[MAX_PLAYERS];
public OnPlayerConnect(playerid)
{
jatekostank[playerid] = 0;
return 1;
}
public OnPlayerSpawn(playerid)
{
new Float:X,Float:Y,Float:Z,Float:Angle;
GetPlayerPos(playerid,X,Y,Z);
GetPlayerFacingAngle(playerid,Angle);//Hely lekérés
jatekostank[playerid] = CreateVehicle(432, X,Y,Z,Angle, 0, 1, 60);
PutPlayerInVehicle(playerid,jatekostank[playerid],0);
return 1;
}
// és most jön az ellenõrzés, hogy a játékos benne van-e a tankban
public OnPlayerUpdate(playerid)
{
if(jatekostank[playerid] != 0 && !IsPlayerInVehicle(playerid, jatekostank[playerid]))
{
PutPlayerInVehicle(playerid,jatekostank[playerid],0);
SendClientMessage(playerid, -1, \"MARADJ A TANKBAN!\");
}
return 1;
}

tankal spawnolas
« Válasz #5 Dátum: 2013. Augusztus 29. - 17:34:40 »
0 Show voters
Koszonom sracok :D

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal