Beiträge von Jeffry

    Komisch. Poste mal den gesamten Code, oder schicke ihn mit in PN, wenn du ihn nicht öffentlich haben willst, dann schaue ich mir das mal an und kompiliere es mal.
    Um deine Maps brauchst du dich nicht zu sorgen, wenn du es mir in PN schickst, ich fange damit nichts an und gebe es natürlich auch nicht weiter.

    Nur mal als Beispiel, dass 1 = Cops ist.
    if(strcmp(cmdtext, "/motor",true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER) return 1;
    new Vehicle = GetPlayerVehicleID(playerid), engine,lights,alarm,doors,bonnet,boot,objective;
    GetVehicleParamsEx(Vehicle, engine, lights, alarm, doors, bonnet, boot, objective);


    GetVehicleParamsEx(Vehicle,engine,lights,alarm,doors,bonnet,boot,objective);
    if(Vehicle != INVALID_VEHICLE_ID)
    {
    for(new i=0; i<MaxVeh; i++)
    {
    if(PlayerCar[playerid][i][CarId] == Vehicle)
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(Vehicle,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(Vehicle,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    return 1;
    }
    }
    if(IsACopCar(Vehicle) && (PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pLeader] == 1))
    {
    if(engine == VEHICLE_PARAMS_ON)
    {
    SetVehicleParamsEx(Vehicle,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~r~aus!", 2000, 5);
    }
    else
    {
    SetVehicleParamsEx(Vehicle,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
    GameTextForPlayer(playerid, "~n~~n~~n~~n~~n~~n~~W~Motor ~g~an!", 2000, 5);
    }
    return 1;
    }
    return SendClientMessage(playerid, 0xFF0000FF, "Fahrzeug gehört nicht dir oder deiner Fraktion!");
    }
    return 1;
    }


    Nach diesem Prinzip für alle.

    enum SpielerTimeBanned
    {
    pNameTBan[MAX_PLAYER_NAME],
    pTBanIP[16],
    pTBanGrund[32],
    pvonAdmin[MAX_PLAYER_NAME],
    pTBanDauer
    }
    new SpielerTimeBan[MAX_PLAYERS][SpielerTimeBanned];


    ocmd:timeban(playerid,params[])
    {
    if(SpielerInfo[playerid][pAlevel] >= 1)
    {
    new pID, aname[MAX_PLAYERS],spieler[MAX_PLAYERS],grund[32],dauer,string[128];
    if(sscanf(params,"uds[32]",pID,dauer,grund)) return SendClientMessage(playerid,0xFF0000FF,"[FEHLER]{FFFFFF} /Timeban [Name/ID][Dauer][Grund]");
    //if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,0xFF0000FF,"Kein Spieler mit der angegebenen ID ist Online");
    {
    GetPlayerName(playerid, SpielerTimeBan[pID][pvonAdmin], MAX_PLAYER_NAME);
    GetPlayerName(pID, SpielerTimeBan[pID][pNameTBan], MAX_PLAYER_NAME);
    format(string,sizeof(string),"[INFO]{00CDFF} %s %s {FFFFFF}hat {00CDFF}%s {FFFFFF}für {00CDFF}%d Minuten {FFFFFF}vom Server verbannt! Grund: {00CDFF}%s",GetPlayerAdminRankName(playerid),SpielerTimeBan[pID][pvonAdmin],SpielerTimeBan[pID][pNameTBan],dauer,grund);
    SendClientMessageToAll(0xFF0000FF,string);
    SpielerTimeBan[pID][pTBanDauer] = Now() + dauer*60;
    GetPlayerIp(pID, SpielerTimeBan[pID][pTBanIP], 16);
    SpielerTimeBan[pID][pTBanGrund] = grund;
    CreateTBanAccount(pID);
    Kick(pID);
    }
    }
    return 1;
    }


    stock CreateTBanAccount(pID)//pass[]
    {
    new query[256],Name[MAX_PLAYER_NAME];
    GetPlayerName(pID,Name, MAX_PLAYER_NAME);
    format(query, sizeof(query), "INSERT INTO `SpielerTimeBanned` (`Name`, `IP`, `TBanGrund`, `vonAdmin`, `Dauer`) VALUES ('%s', '%s', '%s', '%s','%d')", SpielerTimeBan[pID][pNameTBan], SpielerTimeBan[pID][pTBanIP], SpielerTimeBan[pID][pTBanGrund], SpielerTimeBan[pID][pvonAdmin], SpielerTimeBan[pID][pTBanDauer]);
    mysql_query(query);
    printf("[S-INFO] %s wurde von %s für %d verbannt. Grund: %s",SpielerTimeBan[pID][pNameTBan],SpielerTimeBan[pID][pvonAdmin],SpielerTimeBan[pID][pTBanDauer],SpielerTimeBan[pID][pTBanGrund]);
    return 1;
    }


    Versuch es mal so.

    Also, dann: Im GameMode:
    case 17:
    {
    strmid(jgtext,"Bestatter",0,strlen("Bestatter"),255), GettingJob[playerid] = 33;
    }
    zu:
    case 17:
    {
    strmid(jgtext,"Bestatter",0,strlen("Bestatter"),255), GettingJob[playerid] = 33;
    CallRemoteFunction("SetJob", "dd", playerid, 33);
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    printf("IsARomero: %d | playerid: %d | model: %d", IsARomero(GetPlayerVehicleID(playerid)), playerid, GetVehicleModel(GetPlayerVehicleID(playerid)));
    printf("Job: %d | NPC: %d", PlayerInfo[playerid][pJob], IsPlayerNPC(playerid));
    if(IsARomero(GetPlayerVehicleID(playerid)))
    {
    if(PlayerInfo[playerid][pJob] != 33 || IsPlayerNPC(playerid))
    {
    printf("Entfernt.");
    SendClientMessage(playerid,COLOR_GREY," Du bist kein bestatter !");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    return 1;
    }
    zu:
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }



    Und dann den Filterscript in die server.cfg schreiben, sodass er geladen wird.

    Da fügst du jetzt unter der strmid Zeile das hier ein:
    CallRemoteFunction("SetJob", "dd", playerid, 33);
    Achte auch darauf, dass der Filterscript geladen ist.



    Hat es eigentlich einen Grund, dass du bei OnPlayerStateChange nicht nach
    GettingJob[playerid]
    abfragst, sondern nach
    PlayerInfo[playerid][pJob]
    ?


    Das scheint mir irgendwie nicht ganz richtig, außer da ist ein Sinn dahinter.

    Ach, stimmt. Habe ich nicht drauf geachtet.
    if(PlayerInfo[playerid][pAduty] && GetPlayerAdmin(playerid) != 0){
    GetPlayerName(playerid, string, sizeof string);
    strdel(string, 0, 4);
    }


    zu:
    GetPlayerName(playerid, string, sizeof string);
    if(PlayerInfo[playerid][pAduty] && GetPlayerAdmin(playerid) != 0){
    strdel(string, 0, 4);
    }


    In beiden stocks.

    Dann hast du nicht die richtige Zeile gepostet, weil das ist korrekt so.
    Außer du hast CreateObject irgendwo gehookt und einen Parameter hinzugefügt/entfernt, das musst du mal nachschauen.


    Ansonsten, mach mal einen Screenshot von Compiler und den Zeilen um 299, so wie ich es gemacht habe.

    Du schreibst es nicht in die Datei aus der du es lädst.
    Füge nach
    SetPlayerSkin(playerid,66);


    das hier ein:
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    dini_IntSet(Playerdatei, "Skin", 66);

    Ich hab deinen Code mal bei mir kompiliert, das erzeugt keine Warnung:


    Sicher, dass du die richtige Zeile gepostet hast?
    Wenn ja, gehe mal zu /pawno/includes/a_objects.inc und suche nach "CreateObject". Wie sieht die native Zeile bei dir aus?