Beiträge von RedDragon

    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);