Beiträge von RedDragon

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    forward PruefeTicket(playerid); //Prüft ob der Fahrgast ein ticket hat
    public PruefeTicket(playerid)
    {
    new vehicleid = GetPlayerVehicleID(playerid);
    if(vehicleid == Bus || vehicleid == Bus2)
    {
    if(BusTicket1[playerid] == 1 || BusTicket2[playerid] == 1 || BusTicket3[playerid] == 1 || BusTicket4[playerid] == 1) //Ticket Gekauft
    {
    BusTicket1[playerid] = 0;
    GameTextForPlayer(playerid,"~g~Ticket Kontrolle", 3500, 1);
    SendClientMessage(playerid, COLOR_YELLOW, "Der Schaffner Prüft dein ticket, Alles ok!.");
    return 1;
    }
    else
    {
    GameTextForPlayer(playerid,"~g~Ticket Kontrolle", 3500, 1);
    SendClientMessage(playerid, COLOR_RED, "Der Schaffner will dein ticket, Du hast keins?!");
    SendClientMessage(playerid, COLOR_RED, "Du wirst rausgeworfen und musst ein Bußgeld in höhe 100$ zahlen.");
    GivePlayerMoney(playerid, -100);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    return 1;
    }

    Als erstes die Variable:


    new TicketGekauft[MAX_PLAYERS];


    Gibt der Spieler den CMD ein musst du folgendes machen:


    TicketGekauft[playerid] = 1;


    Jetzt mit einem Timer, der 10 Sekunden nach dem Einsteigen prüft, ob man den CMD eingegeben hat.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    }
    return 1;
    }


    forward PruefeTicket(playerid);
    public PrufeTicket(playerid)
    {
    if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
    {
    if(TicketGekauft[playerid] == 1) // Ticket wurde gekauft...
    {
    TicketGekauft[playerid] = 0;
    // ... was passieren soll
    }
    else // Wurde nicht gekauft
    {
    // was passieren soll
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }


    //Edit: Schreibfehler verbessert...

    public OnVehicleDeath(vehicleid, killerid)
    {
    SetTimerEx("FahrzeugDestroy",5000,0, "i",vehicleid);
    return 1;
    }


    forward FahrzeugDestroy(vehicleid);
    public FahrzeugDestroy(vehicleid)
    {
    DestroyVehicle(vehicleid);
    return 1;
    }

    Bringt doch eh nichts, die IP lässt sich per Routerneustart verändern. Du kannst aber ein Command scripten, das die IP eines Spielers anzeigt.


    #define blau 0x66FFCC
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[30];
    new idx;
    cmd = strtok(cmdtext, idx);

    if(strcmp(cmd, "/ip", true) == 0)
    {
    if(IsPlayerAdmin(playerid) == 0) return 0; // Admin abfrage (RCON-Admin)
    new tmp[30];
    tmp = strtok(cmdtext, idx);
    new otherplayer = strval(tmp);
    if(!strlen(tmp)) return SendClientMessage(playerid, blau, ">> Korrekte Benutzung: /ip ID");
    if(IsPlayerConnected(otherplayer) == 0) return SendClientMessage(playerid, blau, ">> Niemand mit dieser ID ist online.");
    if(IsPlayerNPC(otherplayer) == 1) return SendClientMessage(playerid,blau,">> Das ist ein Bot.");
    new plrIP[16];
    new string[56];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(otherplayer,name, sizeof(name));
    GetPlayerIp(otherplayer, plrIP, sizeof(plrIP));
    format(string, sizeof(string), "..:: %s (ID: %d IP: %d) ::..", name, otherplayer, plrIP);
    SendClientMessage(playerid, blau, string);
    return 1;
    }
    return 0;
    }

    Versuch's mal so: Das Auto wird beim Spawn zwar nicht gefreezt (ist ohne Fahrer nicht möglich), aber dafür wird es nach 4 Sekunden an die selbe Stelle teleporiert.


    new Float:X[MAX_VEHICLES] ,Float:Y[MAX_VEHICLES] ,Float:Z[MAX_VEHICLES];


    public OnVehicleSpawn(vehicleid)
    {
    SetTimerEx("FahrzeugSpawn", 4000,0, "i",vehicleid);
    GetVehiclePos(vehicleid, X[vehicleid], Y[vehicleid], Z[vehicleid]);
    return 1;
    }


    forward Fahrzeugspawn(vehicleid);
    public FahrzeugSpawn(vehicleid)
    {
    SetVehiclePos(vehicleid, X[vehicleid], Y[vehicleid], Z[vehicleid]);
    return 1;
    }

    Im Command einfügen:
    name Name[MAX_PLAYER_NAME], string[56];
    GetPlayerName(playerid,Name);
    format(string, sizeof string, "%s hat sich zum Bsn teleportiert.", Name);
    SendClientMessageToAll(COLOR_YELLOW, string);

    #define blau 0x66FFCC
    strtok(const string[], &index)
    {
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
    index++;
    }


    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
    result[index - offset] = string[index];
    index++;
    }
    result[index - offset] = EOS;
    return result;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    new cmd[30];
    new idx;
    cmd = strtok(cmdtext, idx);


    if(strcmp(cmd, "/jail", true) == 0)
    {
    new tmp[30];
    tmp = strtok(cmdtext, idx);
    new otherplayer = strval(tmp);
    if(!strlen(tmp))
    {
    return SendClientMessage(playerid, blau, ">> Korrekte Benutzung: /jail ID");
    }


    if(IsPlayerConnected(otherplayer) == 1)
    {
    if(IsPlayerNPC(otherplayer) == 1)
    {
    return SendClientMessage(playerid,blau,">> Du kannst keinen Bot jailen.");
    }
    if(playerid == otherplayer)
    {
    return SendClientMessage(playerid,blau,">> Du kannst dich nicht selber jailen.");
    }
    SetPlayerPos(otherplayer,0.0,0.0,0.0);
    // Koordinaten anpassen
    }
    }
    return 0;
    }

    public OnPlayerDeath(playerid,killerid, reason)
    {
    new name[MAX_PLAYER_NAME];
    new string[52];
    GetPlayerName(playerid,name);
    format(string, sizeof string, "~r~> ~y~%s ~s~<", name);
    GameTextForPlayer(killerid,string,4000,3);
    return 1;
    }

    CreateObject(modelid, Float:X, Float:Y, Float:Z, Float:rX, Float:rY, Float:rZ);


    CreateObject(7020, 218.842209, -1972.776611, 3.432788, 0.0000, 0.0000, 0.0000,500.0);


    ändern in:


    CreateObject(7020, 218.842209, -1972.776611, 3.432788, 0.0000, 0.0000, 0.0000);