Hunterfail (spawnen ineinander)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Also. Ich "versuche" mich grad an einem Hunterfight script. Eig recht simpel, wenn man spawnt ist man direkt im Hunter. Wenn man f drückt kommt man wieder zurück in den hunter und wenn man mit dem Hunter stirbt spawnt man neu mim hunter.
    Problem ist, wenn man explodiert mit dem hunter, spawnt man zwar neu, aber man spawnt in einem anderen Hunter.



    public OnPlayerSpawn(playerid)
    {



    if(playerid == 0)
    CreateVehicle(425,207.5967,1970.2676,18.1989,170.5864,43,0,4);
    PutPlayerInVehicle(0,1,0);

    if(playerid == 1)
    CreateVehicle(425,302.8576,1917.3538,18.2224,111.6347,43,0,4);
    PutPlayerInVehicle(1,2,0);

    if(playerid == 2)
    CreateVehicle(425,299.9578,1800.1853,18.2074,45.6318,43,0,4);
    PutPlayerInVehicle(2,3,0);

    if(playerid == 3)
    CreateVehicle(425,219.7984,1775.9066,18.2146,356.6694,43,0,4);
    PutPlayerInVehicle(3,4,0);

    if(playerid == 4)
    CreateVehicle(425,130.5297,1777.3433,18.2115,4.2426,43,0,4);
    PutPlayerInVehicle(4,5,0);

    if(playerid == 5)
    CreateVehicle(425,70.0847,1831.8342,18.1267,294.0165,43,0,4);
    PutPlayerInVehicle(5,6,0);

    if(playerid == 6)
    CreateVehicle(425,71.6726,1884.7916,18.1407,265.4783,43,0,4);
    PutPlayerInVehicle(6,7,0);

    if(playerid == 7)
    CreateVehicle(425,99.6341,2000.1439,18.9960,186.1364,43,0,4);
    PutPlayerInVehicle(7,8,0);

    if(playerid == 8)
    CreateVehicle(425,168.2447,1975.9928,19.1268,178.6246,43,0,4);
    PutPlayerInVehicle(8,9,0);

    if(playerid == 9)
    CreateVehicle(425,201.1181,1877.8492,18.2178,5.6423,43,0,4);
    PutPlayerInVehicle(9,10,0);


    return 1;



    }

    Einmal editiert, zuletzt von L1ght ()

  • Du solltest die jeweiligen hunter auch löschen sonst respawnen diese an der jeweiligen position dein problem ist es auch noch das zuweißen konstanter ids


    du kannst es so machen dann sollte es gehen
    PutPlayerInVehicle(0,CreateVehicle(425,207.5967,1970.2676,18.1989,170.5864,43,0,4),0);


    switch(playerid){
    case 1:PutPlayerInVehicle(playerid,CreateVehicle(425,207.5967,1970.2676,18.1989,170.5864,43,0,4),0);
    .....
    }
    wenn du auf deiner variante bestehen willst benutz doch switch + case ist viel schneller als ständig neue if abfragen


    ich hab dir noch eine alternative geschrieben.


    new VehicleID[MAX_PLAYERS]={-1,...};
    enum Hdata
    {
    Float:X,
    Float:Y,
    Float:Z,
    Float:R,
    bool:used,
    };


    new SpawnPoints[10][Hdata] ={
    {207.5967,1970.2676,18.1989,170.5864,false},
    {302.8576,1917.3538,18.2224,111.6347,false},
    {299.9578,1800.1853,18.2074,45.6318,false},
    {219.7984,1775.9066,18.2146,356.6694,false},
    {130.5297,1777.3433,18.2115,4.2426,false},
    {70.0847,1831.8342,18.1267,294.0165,false},
    {71.6726,1884.7916,18.1407,265.4783,false},
    {99.6341,2000.1439,18.9960,186.1364,false},
    {168.2447,1975.9928,19.1268,178.6246,false},
    {201.1181,1877.8492,18.2178,5.6423,false}
    };
    new bool:PlayerDeath[MAX_PLAYERS char];
    forward public Spawn(playerid);
    public Spawn(playerid){
    TogglePlayerSpectating(playerid,false);
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(VehicleID[playerid] != -1 && PlayerDeath{playerid}){
    PlayerDeath{playerid}= false;
    PutPlayerInVehicle(playerid,VehicleID[playerid],0);
    }else if(VehicleID[playerid] != -1 && !PlayerDeath{playerid}){
    PlayerDeath{playerid} =!!TogglePlayerSpectating(playerid,true);
    SetTimerEx("Spawn",10000,false,"i",playerid);
    }
    return 1;
    }
    CMD:hunter(playerid,params[])
    {
    new bool:no;
    for(new i; i < 10; ++i){
    if(!SpawnPoints[i][used]){
    SpawnPoints[i][used] =!!SendClientMessage(playerid,-1,"Sie haben an dem Unterfight teilgenommen");
    VehicleID[playerid] = CreateVehicle(425,SpawnPoints[i][X],SpawnPoints[i][Y],SpawnPoints[i][Z],SpawnPoints[i][R],0,0,-1);
    PutPlayerInVehicle(playerid,VehicleID[playerid],0);
    no=false;
    break;
    }else no=true;
    }
    if(no)return SendClientMessage(playerid,-1,"Es ist kein Platz mehr Frei");
    return 1;
    }