Beiträge von Target Zeus

    Und wenn ich mich nicht irre musst du neuerdings wegen eines Buggs (glaube ich) verzögern das der Spieler gekickt wird.


    meine Lösung :D beim kicken

    forward KickEx(playerid);
    public KickEx(playerid)
    {
    if(GetPVarInt(playerid,"GetKick") == 1) {
    Kick(playerid);
    }
    else {
    SetPVarInt(playerid,"GetKick",1);
    SetTimerEx("KickEx",2500,0,"i",playerid);
    }
    return 1;
    }

    Meine Preisvorstellung liegt bei ~ 25€.
    //edit: *push* nach über einer Woche!
    Suche immer noch...


    Bezogen aufs Rote: Die hat 50€ original gekostet & gibts nicht mehr zu kaufen.
    Daher auch nutzloser Push denke ich mal..


    Wbb4 kostet 80€, Update auf diese 40€...
    wollte dir nur mal so schildern warum es verdammt unwarscheinlich ist das du für den Preis eine Lizenz kriegst.

    Also neben der Tatsache das ich dich irgendwann würge wenn du nicht folgendes mal nutzt:

    Code
    [pwn]//Hier kommt der Code hin[/pwn]


    Kapisch? :thumbup:



    GivePlayerMoney(playerid,PlayerCar[playerid][Dtc_PlayerKey[playerid]][CarPreis]);
    Kann wohl nur daran liegen.. genauer hab ich keine Ahnung von DTC Car...


    Vergessen hinzuzufügen, einfach seine Zeile kopiert :pinch:


    if(strcmp(cmd,"/armytor",true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, -1530.18591, 482.45969, 7.73240)) return SendClientMessage(playerid,0xFFFFFFFF,"Du bist nicht in der nähe des Tores!");
    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    MoveObject(MVTor4, -1530.18591, 482.45969, 4.29384, 3.0);
    SetTimer("CloseMVTor4", 5000, 0);
    SendClientMessage(playerid, 0xFFFFFFFF,"Das Army Tor wurde geöffnet");
    }
    else SendClientMessage(playerid, COLOR_RED, "Du bist kein Army Mitglied!");
    return 1;
    }


    Wenn das nicht geht, dann sag WAS genau nicht funktioniert klaro?

    Füge es richtig ein.. ( kopien zu "hier einfügen" )
    dann machst du das return noch innerhalb der Klammer die zu dem IsPlayerInRangeOfPoint gehört und es funktioniert nur in der Reichweite.

    if(strcmp(cmd,"/armytor",true) == 0)
    {
    //<<<<< hier einfügen
    if(PlayerInfo[playerid][pMember] == 3 || PlayerInfo[playerid][pLeader] == 3)
    {
    MoveObject(MVTor4, -1530.18591, 482.45969, 4.29384, 3.0);
    SetTimer("CloseMVTor4", 5000, 0);
    SendClientMessage(playerid, 0xFFFFFFFF,"Das Army Tor wurde geöffnet");
    }
    else SendClientMessage(playerid, COLOR_RED, "Du bist kein Army Mitglied!");
    return 1;
    }
    //==================================================================================//
    if(!strcmp("/armytor",cmdtext,true))
    {
    if(IsPlayerInRangeOfPoint(playerid, 7.0, -1530.18591, 482.45969, 7.73240)) // <<<< kopieren
    { // <<<< kopieren
    SendClientMessage(playerid,0xFFFFFFFF,"Du bist nicht in der nähe des Tores!"); // <<<< kopieren
    } <<<< kopieren
    return 1;
    }

    Wenn der Spieler das Angebot annimmt, setzt du die Werte vom "/carsell" befehle für den der es annimmt und danach nimmst du dem vorherigen Besitzer das Fahrzeug weg - über den Inhalt des /carsell Befehls.
    Einfach formuliert.. genau ausarbeiten werde ich es nicht weil ich einfach keinen nerv mehr habe um die Uhrzeit

    Sofern es nicht an sscanf liegt.. habe mal den Befehl neu angeordnet möglicherweise funktioniert es damit... ( die returns rausgenommmen und umgestellt den Code )
    ocmd:arrest(playerid,params[])
    {
    new pID;
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][sMember] == 1 || SpielerInfo[playerid][sMember] == 2)
    {
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,COLOR_WHITE,"{19FF00}Verwende: {0041FF}/Arrest [SpielerID/Name]");
    new name[MAX_PLAYER_NAME];
    GetPlayerName(pID, name, sizeof(name));


    new pstring[512];
    printf("Polizist %s versucht pID: %d einzusperren! Wanted-Level: %d", GetName(playerid), pID, SpielerInfo[pID][pWanted]);


    new string[512];
    if(SpielerInfo[pID][pWanted] > 0)
    {
    new time;
    time = SpielerInfo[pID][pWanted]*ServerSettings[ArrestTime];
    SpielerInfo[pID][pJailTime]=time;
    SpielerInfo[pID][pJailed]=1;
    SetPlayerPos(pID,198.4943,162.0886,1003.0300);
    SetPlayerInterior(pID,3);
    format(string, sizeof(string), "Du wurdest von %s eingesperrt!", GetName(playerid));
    SendClientMessage(pID, COLOR_DARKRED, string);
    SetTimerEx("JailTime", 1000, 0, "d", pID);
    SpielerInfo[pID][pWanted]=0;
    if(SpielerInfo[playerid][sMember] == 1)
    {
    format(string, sizeof(string), "> LS-Polizeibeamter %s hat den Verbrecher %s eingesperrt <", GetName(playerid), name);
    SendClientMessageToAll(COLOR_DARKRED, string);
    }
    else if(SpielerInfo[playerid][sMember] == 2)
    {
    format(string, sizeof(string), "> SEK-Agent %s hat den Verbrecher %s eingesperrt <", GetName(playerid), name);
    SendClientMessageToAll(COLOR_DARKRED, string);
    }
    }
    else {
    SendClientMessage(playerid, COLOR_RED, "Der ausgewählte Spieler hat keinen Wanted Level!");
    }
    }
    else {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein LSPD/SEK Beamter!");
    }
    }
    return 1;
    }


    forward JailTime(playerid);
    public JailTime(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(SpielerInfo[playerid][pJailed] == 1)
    {
    if(SpielerInfo[playerid][pJailTime] > 0)
    {
    SpielerInfo[playerid][pJailTime]=SpielerInfo[playerid][pJailTime]-1;
    SetTimerEx("JailTime", 1000, 0, "d", playerid);
    SpielerInfo[playerid][pWanted]=0;
    return 1;
    }
    else {
    SetPlayerInterior(playerid, 0);
    SetPlayerPos(playerid, 1555.2781, -1675.5569, 16.1953);
    SetPlayerFacingAngle(playerid, 90.6666);
    SetCameraBehindPlayer(playerid);
    SpielerInfo[playerid][pJailed]=0;
    SpielerInfo[playerid][pJailTime]=0;
    new string[512];
    format(string, sizeof(string), "~g~Freiheit!~n~~g~Benimm dich das nächste Mal");
    GameTextForPlayer(playerid, string, 2500, 1);
    return 1;
    }
    }
    }
    return 1;
    }

    if(strcmp(cmd, "/createhouse", true) == 0)
    {
    if (PlayerInfo[playerid][pAdmin] >= 5)
    {
    for(new i = 0; i < sizeof(HouseInfo); i++)
    {
    if(HouseInfo[i][hExists] != 1) {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid,x,y,z);
    HouseInfo[i][hEntrancex] = x;
    HouseInfo[i][hEntrancey] = y;
    HouseInfo[i][hEntrancez] = z;
    HouseInfo[i][hExitx] = 446.1000;
    HouseInfo[i][hExity] = 507.9000;
    HouseInfo[i][hExitz] = 1001.4195;
    HouseInfo[i][hHealthx] = 0;
    HouseInfo[i][hHealthy] = 0;
    HouseInfo[i][hHealthz] = 0;
    HouseInfo[i][hArmourx] = 0;
    HouseInfo[i][hArmoury] = 0;
    HouseInfo[i][hArmourz] = 0;
    HouseInfo[i][hOwner] = 0;
    HouseInfo[i][hDiscription] = 0;
    HouseInfo[i][hValue] = 7000;
    HouseInfo[i][hHel] = 0;
    HouseInfo[i][hArm] = 0;
    HouseInfo[i][hInt] = 12;
    HouseInfo[i][hLock] = 1;
    HouseInfo[i][hOwned] = 0;
    HouseInfo[i][hRooms] = 1;
    HouseInfo[i][hRent] = 1;
    HouseInfo[i][hRentabil] = 1;
    HouseInfo[i][hTakings] = 0;
    HouseInfo[i][hVec] = 0;
    HouseInfo[i][hVcol1] = -1;
    HouseInfo[i][hVcol2] = -1;
    HouseInfo[i][hDate] = 0;
    HouseInfo[i][hLevel] = 5;
    strmid(HouseInfo[i][hOwner], "The State", 0, strlen("The State"), 255);
    SendClientMessage(playerid, COLOR_OOC,"Du hast ein Neues Haus erstellt");
    SendClientMessage(playerid, COLOR_WHITE, "Mit /edit kannst du das Haus Editieren!");
    new string2[128];
    new File: file2;
    file2 = fopen("property.cfg", io_append);
    new string3[450];
    format(string3,sizeof(string3),"%f,%f,%f,%f,%f,%f,%d,%d,%d,%d,%d,%d,%s,%s,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d\n",
    HouseInfo[i][hEntrancex],HouseInfo[i][hEntrancey],HouseInfo[i][hEntrancez],HouseInfo[i][hExitx],HouseInfo[i][hExity],
    HouseInfo[i][hExitz],HouseInfo[i][hHealthx],HouseInfo[i][hHealthy],HouseInfo[i][hHealthz],HouseInfo[i][hArmourx],
    HouseInfo[i][hArmoury],HouseInfo[i][hArmourz],HouseInfo[i][hOwner],HouseInfo[i][hDiscription],HouseInfo[i][hValue],
    HouseInfo[i][hHel],HouseInfo[i][hArm],HouseInfo[i][hInt],HouseInfo[i][hLock],HouseInfo[i][hOwned],HouseInfo[i][hRooms],
    HouseInfo[i][hRent],HouseInfo[i][hRentabil],HouseInfo[i][hTakings],HouseInfo[i][hVec],HouseInfo[i][hVcol1],HouseInfo[i][hVcol2],
    HouseInfo[i][hDate],HouseInfo[i][hLevel]);
    fwrite(file2, string3);
    fclose(file2);
    format(string2, sizeof(string2), "[Haus zu verkaufen - %s]\nPreis: $%d\nLevel: %d\n/buyhouse zum kaufen",HouseInfo[i][hDiscription],HouseInfo[i][hValue],HouseInfo[i][hLevel]);
    HouseInfo[i][Text] = Create3DTextLabel(string2,COLOR_FORSELL,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]+1,15.0,0);
    AddStaticPickup(1273, 1, HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez], 0);
    pickups++;
    OnPropUpdate();
    return 1;
    }
    }
    }
    return 1;
    }
    Das sollte so funktionieren, dein Fehler war das "return 1;" beim wiederholen. Heißt er läuft einmal durch und dann wars das - deshalb nur Haus ID 0.


    Was du bei meinem Codeschnipsel da brauchst ist noch die Variable "hExists" weil du ja auch wissen solltest ob das Haus nicht schon existiert! :D


    Wie wäre es, wenn du dann auch mal erklärst was du da gemacht hast und warum du das so gemacht hast. So förderst du nur Copy&Paste. Einfach kurz erklären und gut ist.


    Hilf ihm doch vor mir wenns dir nicht passt oder erkläre es. Ich weiß wie einiges geht kann mich aber nicht gut artikulieren.

    Hier sind die Zeilen:
    INI_WriteInt("wAmmo1", PlayerCar[i][wAmmo][0]);
    INI_WriteInt("wAmmo2", PlayerCar[i][wAmmo][1]);
    INI_WriteInt("wAmmo3", PlayerCar[i][wAmmo][2]);
    INI_WriteInt("wAmmo4", PlayerCar[i][wAmmo][3]);
    INI_WriteInt("wWaffe1", PlayerCar[i][wWaffe][0]);
    INI_WriteInt("wWaffe2", PlayerCar[i][wWaffe][1]);
    INI_WriteInt("wWaffe3", PlayerCar[i][wWaffe][2]);
    INI_WriteInt("wWaffe4", PlayerCar[i][wWaffe][3]);
    Sollte so funktionieren..

    if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
    return 1;
    }
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= 450; car++)
    {
    if(!unwanted[car]) {
    SetVehicleToRespawn(car);
    SetVehiclePos(car,FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    SetVehicleZAngle(car,FactionCars[fc][fPos][3]);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


    Müsste so stimmen.


    dcmd_adminmachen(playerid,params[])
    {
    new sID,string[64], level;
    if(sscanf(params,"us",sID,level)) return SendClientMessage(playerid, ROT, "Verwendung: /adminmachen [playerid] [Adminlevel] ");
    {
    if(IsPlayerConnected(sID))
    {
    if(IsPlayerAdmin(playerid))
    {
    format(string,sizeof string,"Du hast %s den adminrang %s gegeben!",getPlayerName(sID),a_rang2[level-2]);
    SendClientMessage(playerid,BLAU,string);
    format(string,sizeof string,"Du hast von %s den Adminrang %s bekommen!",getPlayerName(playerid),a_rang2[level-2]);
    SendClientMessage(sID,BLAU,string);
    SpielerD[sID][Adminlevel] = level;
    }
    else SendClientMessage(playerid, ROT,"Du bist kein Admin und darfst diesen Befehl nicht ausführen");
    }
    else SendClientMessage(playerid, ROT,"Dieser Spieler ist nicht online/nicht vorhanden!");
    }
    return 1;
    }


    Oder so ums für anfänger übersichtlicher zu behalten..