Beiträge von Simon

    eine enum mit den benötigten infos, wie model,preis, etc.


    Dann eine neue Variable, in der Alle Fahrzeuge mit entsprechener Information festgelegt werden.


    Nun benutzt du eine 2. Variable oder GetPVar und erhöst oder senkst sie, sobald er auf "zurück" oder "vor klickt.
    Du musst natürlich die Textdraws machen.
    Dabei ist zu beachten das wenn er zurück geht und der Wert gesenkt wird und dabei unter 0 geht, dieser automatisch auf den höchsten Wert (sizeof VARIABLE) gesetzt wird.
    Dasselbe wenn er vor geht und er höher ist als die maximale Anzahl von VARIABLE dann auf 0 setzen.
    Nun gehst du einfach die schleife durch und machst:


    if(i != VARIABLE) bzw if(i != GetPVarInt(playerid, "VARIABLE") continue;
    //code.


    Eig ganz einfach :)

    ja das ist kla..


    Die frage ist ob c, also die Basis 3mal so groß ist wie beide Schenkel zusammen also a+b oder ob c 3 mal so groß ist wie ein schnekel also a bzw b

    a + b + c = 28


    b = a also a + a + c = 28 oder auch 2a + c = 28


    c = 3a weil ja 3 mal so lang wie ein schenkel also


    2a + 3a = 28


    wenn a = 5,6 ist was wir da rauskommen und c = 3a ist, so ist c = 5,6 x 3 und das wären 16,8


    Probe:


    16,8 + 5,6 + 5,6 = 28 >> kommt also hin ;)

    Seit dem ich mein Script komplett auf MySQL umgestellt habe und es auf 0.3e geupdated habe, bugt mein Spawn.
    ich habe eigentlich nichts grundlegendes daran geändert.


    Man wird irgentwo hingeportet (in meinem Fall nähe LS Beach) und dann mit einer hohen geschwindigkeit nach oben gezogen.
    Mein Spawn ist etwa so aufgebaut:


    p_ChangeSpawnInfo(playerid);
    SpawnPlayer(playerid);
    stock p_ChangeSpawnInfo(playerid)
    {
    new day,month,year,second,minute,hour, spSkin;
    if(firstspawn[playerid])
    {
    new bool:relogtimer = false;
    getdate(year,month,day);
    gettime(hour,minute,second);
    if(month == Spieler[playerid][LastMonth] && day == Spieler[playerid][LastDay] && year == Spieler[playerid][LastYear])
    {
    if(hour-Spieler[playerid][LastHour] == 0)
    {
    if(minute - Spieler[playerid][LastMinute] <= 15 || Spieler[playerid][LastMinute] == minute) relogtimer = true;
    }
    else if(hour-Spieler[playerid][LastHour] == 1)
    {
    if(Spieler[playerid][LastMinute] > 45)
    {
    if(minute-Spieler[playerid][LastMinute] >= -59 && minute-Spieler[playerid][LastMinute] <= -45) relogtimer = true;
    }
    }
    }
    else if(month == Spieler[playerid][LastMonth] && year == Spieler[playerid][LastYear])
    {
    if(CheckDateDifference(Spieler[playerid][LastDay],Spieler[playerid][LastMonth],Spieler[playerid][LastYear],day,month,year,0) == 1)
    {
    if(Spieler[playerid][LastHour] == 23 && hour == 0 && Spieler[playerid][LastMinute] > 45 && minute < 15)
    {
    if(minute-Spieler[playerid][LastMinute] >= -59 && minute-Spieler[playerid][LastMinute] <= -45) relogtimer = true;
    }
    }
    }
    if(relogtimer)
    {
    new bool:needpara = false;
    if(Spieler[playerid][Duty] == 1) spSkin = Spieler[playerid][Fraktionsskin];
    else if(Spieler[playerid][Duty] == 2 && Spieler[playerid][Ziviljob] > 0) spSkin = Nebenjobs[Spieler[playerid][Ziviljob]][jSkin];
    else if(Spieler[playerid][Duty] == 2 && Spieler[playerid][Fraktionsjob] > 0) spSkin = Nebenjobs[Spieler[playerid][Fraktionsjob]][jSkin];
    else spSkin = Spieler[playerid][Zivilskin];
    if(Spieler[playerid][ZPos] >= 75.0) needpara = true;
    return p_SetSpawnInfo(playerid, spSkin, Spieler[playerid][XPos],Spieler[playerid][YPos],Spieler[playerid][ZPos], Spieler[playerid][APos], Spieler[playerid][Interior],Spieler[playerid][Virtualworld], Spieler[playerid][PlayerHealth], Spieler[playerid][PlayerArmour], needpara);
    }
    else
    {
    Spieler[playerid][Duty] = 0;
    Spieler[playerid][Spawnchange] = -1;
    }
    }
    if(IsAGang(GetPlayerFrak(playerid)) && Spieler[playerid][Duty] <= 1) Spieler[playerid][Duty] = 1;
    if(Spieler[playerid][Duty] == 1) spSkin = Spieler[playerid][Fraktionsskin];
    else if(Spieler[playerid][Duty] == 2 && Spieler[playerid][Ziviljob] > 0) spSkin = Nebenjobs[Spieler[playerid][Ziviljob]][jSkin];
    else if(Spieler[playerid][Duty] == 2 && Spieler[playerid][Fraktionsjob] > 0) spSkin = Nebenjobs[Spieler[playerid][Fraktionsjob]][jSkin];
    else spSkin = Spieler[playerid][Zivilskin];
    if(Spieler[playerid][Spawnchange] >= 0)
    {
    p_SetSpawnInfo(playerid, spSkin, Fraktionen[Spieler[playerid][Spawnchange]][pickx],Fraktionen[Spieler[playerid][Spawnchange]][picky],Fraktionen[Spieler[playerid][Spawnchange]][pickz],Fraktionen[Spieler[playerid][Spawnchange]][picka],Fraktionen[Spieler[playerid][Spawnchange]][pickinter], Fraktionen[Spieler[playerid][Spawnchange]][pickvirt]);
    return 1;
    }
    if(Spieler[playerid][Hotelzimmer] >= 0)
    {
    p_SetSpawnInfo(playerid,spSkin, pHotelzimmer[Spieler[playerid][Hotelzimmer]][hzx2],pHotelzimmer[Spieler[playerid][Hotelzimmer]][hzy2],pHotelzimmer[Spieler[playerid][Hotelzimmer]][hzz2],pHotelzimmer[Spieler[playerid][Hotelzimmer]][hza2],pHotelzimmer[Spieler[playerid][Hotelzimmer]][inter2],pHotelzimmer[Spieler[playerid][Hotelzimmer]][virt2]);
    return 1;
    }
    if(Spieler[playerid][Haus] >= 0)
    {
    p_SetSpawnInfo(playerid, spSkin, Haeuser[Spieler[playerid][Haus]][pick2x],Haeuser[Spieler[playerid][Haus]][pick2y],Haeuser[Spieler[playerid][Haus]][pick2z],Haeuser[Spieler[playerid][Haus]][pick2a],Haeuser[Spieler[playerid][Haus]][inter],Haeuser[Spieler[playerid][Haus]][virt]);
    return 1;
    }
    if(Spieler[playerid][Stadt] == 1) p_SetSpawnInfo(playerid, spSkin, 823.9938,-1361.9373,-0.5078, 314.8367);
    else if(Spieler[playerid][Stadt] == 2) p_SetSpawnInfo(playerid, spSkin, -1964.9036,137.8082,27.6875,89.5713);
    else if(Spieler[playerid][Stadt] == 3) p_SetSpawnInfo(playerid, spSkin, 1433.6573,2620.4934,11.3926, 180.1021);
    else p_SetSpawnInfo(playerid, spSkin, 823.9938,-1361.9373,-0.5078, 314.8367);
    return 1;
    }
    stock p_SetSpawnInfo(playerid, skin, Float:x, Float:y, Float:z, Float:a, interior = 0, virtualworld = 0, Float:spHealth = 100.0, Float:spArmour = 0.0, bool:spPara = false)
    {
    SetSpawnInfo(playerid, -1, skin, x, y, z, a, 0, 0, 0, 0, 0, 0);
    SpawnInfo[playerid][Inter] = interior;
    SpawnInfo[playerid][Virt] = virtualworld;
    SpawnInfo[playerid][spHp] = spHealth;
    SpawnInfo[playerid][spArm] = spArmour;
    SpawnInfo[playerid][Parachute] = spPara;
    return 1;
    }
    public OnPlayerSpawn(playerid)
    {
    SetPlayerInterior(playerid, SpawnInfo[playerid][Inter]);
    SetPlayerVirtualWorld(playerid, SpawnInfo[playerid][Virt]);
    SetPlayerHealth(playerid, SpawnInfo[playerid][spHp]);
    SetPlayerArmour(playerid, SpawnInfo[playerid][spArm]);
    if(SpawnInfo[playerid][Parachute]) GivePlayerWeapon(playerid, 46, 1);
    return 1;
    }


    Da steht noch mehr OnPlayerSpawn, hat aber nichts damit zu tun (Textdraws, objekte, gangzonen, etc)


    Ich frage mich ob es an mysql, an 0.3e oder an irgenteinen anderen Fehler liegt.

    und ein Airbreak MUSS man mit timern machen..


    Deswegen ja die Frage, bei welchen ist es sinnvoll und bei welchen eher weniger.
    Gehen wir mal von folgenden Cheats aus:

    • Health & Armour
    • Money
    • Jetpack
    • Weapon
    • Speedhack & Airbreak