Beiträge von gompfy

    genau


    mit
    if(HatPremium[playerid] != 1)


    fragst du ab ob HatPermium nicht 1 ist.


    Denn
    if(HatPremium[playerid] != 1)


    ist das gleiche wie


    if(HatPremium[playerid] == 0


    und in deinem fall müsste man ja abfragen ob es 1 ist, un nicht ob HatPremium nicht 1 ist.

    as genau spricht gegen ohost? Ich finde ohost klasse, bis auf die Werbung natürloch, aber dafür dass es kostenfrei ist, ist es zu ertragen


    enum pPos
    {
    Float:posX,
    Float:poxY,
    Float:posZ,
    };


    new PlayerPos[MAX_PLAYERS][pPos];
    new bool: FirstSpawn[MAX_PLAYERS];


    public OnPlayerConnect
    {
    new name[MAX_PLAYER_NAME], filename[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(filename,sizeof(filename),"%s.ini",name);


    if(dini_Exists(filename))
    {
    PlayerPos[playerid][posX] = dini_Float(filename,"X");
    PlayerPos[playerid][posY] = dini_Float(filename,"Y");
    PlayerPos[playerid][posZ] = dini_Float(filename,"Z");
    FirstSpawn[playerid] = true;
    }
    else
    {
    dini_Create(filename);
    FirstSpawn[playerid] = false;
    }
    return 1;
    }


    public OnPlayerDisconnect
    {
    new name[MAX_PLAYER_NAME], filename[50];
    GetPlayerName(playerid,name,sizeof(name));
    format(filename,sizeof(filename),"%s.ini",name);


    GetPlayerPos(playerid, PlayerPos[playerid][posX], PlayerPos[playerid][posY], PlayerPos[playerid][posZ];
    if(IsPlayerConnected(playerid))
    {
    dini_FloatSet(filename, "X", PlayerPos[playerid][posX]);
    dini_FloatSet(filename, "Y", PlayerPos[playerid][posY]);
    dini_FloatSet(filename,"Z", PlayerPos[playerid][posZ]);
    FirstSpawn[playerid] = false;
    }
    return 1;
    }


    public OnPlayerSpawn
    {
    if(FirstSpawn[playerid])
    {
    SetPlayerPos(playerid,PlayerPos[playerid][posX],PlayerPos[playerid][posY],PlayerPos[playerid][posZ]);
    FirstSpawn[playerid] = false;
    }
    return 1;
    }


    sollte so funktionieren, kann auch sein dass einige Tippfeher drinne sind :P

    klar geht das, machs einfach mit nem bool.


    new bool: RampeAn;


    und dann setzt du einfach in dem FS eine if abfrage davor



    if(RampeAn==1)
    {
    //...


    und dann machst du natürlich noch die befehle ins FS



    if (strcmp("/rampean", cmdtext, true, 10) == 0)
    {
    if(RampeAn == 1)
    {
    SendClientMessage(playerid,0xFFFFFFAA,"Rampe ist bereits an!");
    }
    else
    {
    RampeAn = 1
    }

    Zitat von Psychokilla

    Ein HausSystem für ein GM ?


    Also ein Selfmade kein GodFather ?


    Wer lesen kann, ist klar im Vorteil....


    Zitat von Loadup[GER

    hab kein GF also pls non GF ...

    Versuchs mal so



    new bool: DeathMatchON[MAX_PLAYERS];




    public OnPlayerSpawn(playerid)
    {
    if(DeathMatchON[playerid] == true) //überprüft, ob der befehl /dm schon einmal eingegeben wurde
    {
    SetPlayerPos(playerid,x,y,z); //Die coords von deinem Spawn bei der Dm area
    }
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/dm", cmdtext, true, 10) == 0)
    {
    if(DeathMatchON[playerid] = false)
    {
    SetPlayerPos(playerid,x,y,z); //coords von der DM Zone
    DeathMatchON[playerid] = true;
    }
    else
    {
    SetPlayerHealth(playerid, 0.0);
    SetPlayerPos(playerid,x,y,z); // Die coords von deinem normalen Spawn
    DeathMatchON[playerid] = false;
    }
    return 1;
    }


    return 0;
    }


    beim ersten mal eingeben von "/dm" spawnt er in der Dm zone und nach dem Tod wird er dort wieder Spawnen. Beim 2ten eingeben spawnt er wieder ganz normal

    warum machst du es nicht so??



    new name[MAX_PLAYER_NAME], string[48];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"%s",name);
    SetTimerEx(string, 1000,0,"s");

    ich würde es so machen



    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid == INVALID_PLAYER_ID)
    {
    new string[256], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, sizeof(string),"%s hat sich selbst umgebracht",name);
    SendClientMessageToAll(rot,string);
    }
    else
    {
    new str[256], string[256], name[MAX_PLAYER_NAME], killername[MAX_PLAYER_NAME];
    GetPlayerName(killerid, killername, sizeof(killername));
    GetPlayerName(playerid, name, sizeof(name));
    format(str, sizeof(str), "%s hat %s umgebracht, er ist nun ein BadBoy", killername, name);
    SendClientMessageToAll(rot, str);


    format(string, sizeof(string),"%s hat dich umgebracht.", killername);
    SendClientMessage(playerid, rot, string);


    SendDeathMessage(killerid,playerid,reason);
    SetPlayerScore(killerid,GetPlayerScore(killerid)+1);
    GivePlayerMoney(killerid, 10000);
    }
    return true;
    }

    das kann auch garnich gehen :P



    public OnPlayerRequestClass(playerid, classid)
    {
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
    }


    schau dir doch die coords doch mal an, sind doch alles die gleichen :P Sprich die Kamera ist genau in dem Typ drinne, dann kann sie ihn schlecht sehen :P

    So ist es richtig



    if (strcmp("/nitro", cmdtext, true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 1)
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    AddVehicleComponent(playerid, 1010);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREEN,"Du bist in keinem Fahrzeug");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_GREEN, "Du bist kein Admin");
    }
    return 1;
    }