Beiträge von firestormZ

    mach doch einfach bei deinem Restartcommand, SaveAccount(playerid); ?


    //EDIT:
    oder mach das bei ongamemodeexit:

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(i,X,Y,Z);
    PlayerInfo[i][pPosX] = X;
    PlayerInfo[i][pPosY] = Y;
    PlayerInfo[i][pPosZ] = Z;
    SaveAccount(i);
    }

    wenn du so im internet guckst kostet es gebraucht um die 80€ und neu ca 140€, sprich, ich würds machen, aber nur wenn ich nen ersatzhandy hab und nicht nur 5€ bekomme, sondern mehr als 10€


    :D


    mfg :thumbup:

    Leute, das ist richtig, er hat nur ne Klammer zu viel reingemacht ^^

    stock IstSpielerInFraktion(playerid, fraktionsid)
    {
    if(sSpieler[playerid][Fraktion] == fraktionsid) /*FEHLER*/ || sSpieler[playerid][FMember] == fraktionsid) return 1;
    return 0;
    }

    HIer das richtige:

    stock IstSpielerInFraktion(playerid, fraktionsid)
    {
    if(sSpieler[playerid][Fraktion] == fraktionsid || sSpieler[playerid][FMember] == fraktionsid) return 1;
    return 0;
    }

    jz weis ich warum das nicht ging :D kannst KD wieder einbauen, wenn du die kills durch tode teilst, kommt eine Dezimalzahl raus also nen Float, und du hast den Parameter %d genommen, da muss %f rein :))


    //edit: es wird ne lange kommazahl rauskommen, deswegen mach das hier :


    "...~y~KD:~r~%.2f..." //wird auf zwei stellen nach dem komma gerundet ^^

    OnPlayerConnect:

    DMT1[playerid] = TextDrawCreate(2.000000, 437.000000, "~y~www.~r~SR-Clan~y~.de ~y~Kills:~r~0 ~y~Tode:~r~0 ~y~Killserie:~r~0 ~y~DM Siege:~r~0");
    TextDrawBackgroundColor(DMT1[playerid], 255);
    TextDrawFont(DMT1[playerid], 2);
    TextDrawLetterSize(DMT1[playerid], 0.500000, 1.000000);
    TextDrawColor(DMT1[playerid], 255);
    TextDrawSetOutline(DMT1[playerid], 0);
    TextDrawSetProportional(DMT1[playerid], 1);
    TextDrawSetShadow(DMT1[playerid], 1);
    TextDrawUseBox(DMT1[playerid], 1);
    TextDrawBoxColor(DMT1[playerid], -589505502);
    TextDrawTextSize(DMT1[playerid], 711.000000, 0.000000);
    TextDrawSetSelectable(DMT1[playerid], false);



    dcmd_dm1(playerid, params[])
    {
    #pragma unused params
    if(dma[playerid] == 1) return SendClientMessage(playerid,Rot,"Du bist bereits in einem Deathmatch!");
    new String[200];
    dm[0] ++;
    dma[playerid] = 1;
    DM1[playerid] = 1;
    dmupdate();
    TextDrawHideForPlayer(playerid, LA[playerid]);
    TextDrawHideForPlayer(playerid, Leiste);
    TextDrawShowForPlayer(playerid, DMT1[playerid]);

    SetPlayerVirtualWorld(playerid, 1);
    format(String,200,">> %s hat das dm1 betreten (/dm1)<<", SpielerName(playerid));
    SendClientMessageToAll(Gelb,String);
    DMRandom[0] = random(3);
    switch(DMRandom[0])
    {
    case 0:
    {
    SetPlayerPos(playerid, 1387.9513,2190.0144,11.0234);
    }
    case 1:
    {
    SetPlayerPos(playerid, 1391.1406,2109.3345,11.0156);
    }
    case 2:
    {
    SetPlayerPos(playerid, 1306.1323,2108.0132,11.0156);
    }
    case 3:
    {
    SetPlayerPos(playerid, 1334.8402,2136.6853,11.0156);
    }
    }
    SetTimerEx("dmt1update", 1000, true ,"i", playerid); //timer damit er die textdraw updated
    SendClientMessage(playerid, 0xFFFFFFAA, "Tippe /exit um das DM zu verlassen!"); //Nachricht für Player wie man DM verlässt
    GivePlayerWeapon(playerid, 26, 5000);
    return 1;
    }



    forward dmt1update(playerid);
    public dmt1update(playerid)
    {
    new string[100];
    format(string, sizeof(string),"~y~f~r~x~y~L ~r~ll ~y~Kills:~r~%d ~y~Tode:~r~%d ~y~KD:~r~%d ~y~Killserie:~r~%d ~y~DMSiege:~r~%d",dm1kills[playerid], dm1tode[playerid], dm1kills[playerid]/dm1tode[playerid], ukills[playerid], Spieler[playerid][dm1siege]);
    TextDrawSetString(DMT1[playerid],string);
    }

    Einen mehrfarbigen Satz erstellst du so:
    nehmen wir an du hast den FarbCode:
    0xF97804FF, dort machst du dann die 2 Zeichen 0x weg und am Ende die 2 Zeichen FF.
    Also packst du das dann in deiner Meldung: {F97804}


    mfg :thumbup:

    1. Man erstellt die Textdraws die "playerid" enthalten unter OnPlayerConnect,
    Textdraws die kein "playerid" enthalten unter OnGameModeInit
    2. Das Textdraw zeigst du dann einfach unter deinem Command an :)

    Probiers mal so:

    Spieler[killerid][pMord] ++ 1;
    Spieler[killerid][pVerbrechen] ++ 1;
    Spieler[playerid][pGestorben] ++ 1;



    if (strcmp("/stats", cmdtext, true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    new string1[200],string2[200],string3[200],rest[1500];
    format(string1, sizeof string1, "{FF9900}Stats von %s auf "#SERVERNAME"{FFFFFF}", SpielerName(playerid));
    format(string2, sizeof string2, "{FF9900}|>Account<|");
    format(string3, sizeof string3, "{FFFFFF}Gestorben [%d] | Verbrechen [%d] | Morde [%d]\n", Spieler[playerid][pGestorben],Spieler[playerid][pVerbrechen],Spieler[playerid][pMord]);
    format(rest, sizeof rest, "%s\n\n\n%s\n%s", string1,string2,string3);
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statstik",rest,"Beenden","");
    }
    return 1;
    }


    new Float:vhealth, prozent;
    GetVehicleHealth(vehicleid, vhealth);
    prozent = (vhealth/1000)*100;



    new Float:vhealth;
    GetVehicleHealth(vehicleid, vhealth);
    vhealth = (vhealth/1000)*100;

    So wäre es einfacher :thumbup:


    new chealth;
    GetVehicleHealth(vehicleid, chealth);
    chealth =(chealth-250)/750*100;

    musst du umrechnen, da es jz so ist:
    Leben. 100%
    wenn er zb 100 Schaden hat dann:
    Leben: 90%
    usw.

    ganz unten bei OnPlayerCommandText steht:
    return 0;
    änder das einfach zu:

    return SendClientMessage(playerid,0xFFFFFFFF,"Diesen Command gibt es nicht...."); //Errormessage eintragen


    //edit:
    so kannst dus auch machen:

    new errormeldung[128];
    format(errormeldung,sizeof(errormeldung),"Den Command %s scheint es nicht zu geben.",cmdtext);
    return SendClientMessage(playerid,0xFFFFFFFF,errormeldung);


    mfg :thumbup:

    Old :D


    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Eltern kommen aus Rumänien, hihi :D


    Kindheitserinnerungen <3:thumbup:


    new querystring[256],str[128];
    format(querystring,256,"UPDATE `accounts` SET `Level` = '%d', `Geld` = '%d', `Kills` = '%d', `Tode` = '%d', `Fraktion` = '%d', `Adminlevel` = '%d', `Mute` = '%d', `Baned` = '%d','",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);
    format(str,128," `Fraktionsleader` = '%d', `Rang` = '%d', `Job` = '%d', `Skin` = '%d', `Warns` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pFraktionsleader],SpielerInfo[playerid][pRang],SpielerInfo[playerid][pJob],SpielerInfo[playerid][pSkin],SpielerInfo[playerid][pWarns],SpielerInfo[playerid][pName]);
    strcat(querystring,str);
    mysql_query(querystring);



    new str[128];
    format(str,128,"SELECT `Level`, `Geld`, `Kills`, `Tode`, `Fraktion`, `Adminlevel`, `Mute`, `Baned`, `Fraktionsleader`, `Rang`, `Job`, `Warns`, `Skin` FROM `accounts` WHERE `Name` = '%s'", SpielerInfo[playerid][pName]);
    mysql_query(str);
    mysql_store_result();
    if(mysql_fetch_row_format(str))
    {
    sscanf(str,"p<|>ddddddddddddd",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld], SpielerInfo[playerid][pKills], SpielerInfo[playerid][pTode], SpielerInfo[playerid][pFraktion], SpielerInfo[playerid][pAdminlevel], SpielerInfo[playerid][pMute], SpielerInfo[playerid][pBaned], SpielerInfo[playerid][pFraktionsleader], SpielerInfo[playerid][pRang], SpielerInfo[playerid][pJob], SpielerInfo[playerid][pSkin], SpielerInfo[playerid][pWarns]);
    }
    mysql_free_result();


    So wäre es denk ich mal dann richtig :)


    format(querystring,256,"UPDATE accounts SET Level = '%d', Geld = '%d', Kills = '%d', Tode = '%d', Fraktion = '%d', Adminlevel = '%d', Mute = '%d', Baned = '%d' WHERE Name = '%s'",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);

    zu

    format(querystring,256,"UPDATE `accounts` SET `Level` = '%d', `Geld` = '%d', `Kills` = '%d', `Tode` = '%d', `Fraktion` = '%d', `Adminlevel` = '%d', `Mute` = '%d', `Baned` = '%d' WHERE `Name` = '%s'",SpielerInfo[playerid][pLevel], SpielerInfo[playerid][pGeld],SpielerInfo[playerid][pKills],SpielerInfo[playerid][pTode],SpielerInfo[playerid][pFraktion],SpielerInfo[playerid][pAdminlevel],SpielerInfo[playerid][pMute],SpielerInfo[playerid][pBaned],SpielerInfo[playerid][pName]);

    und das machst du bei den anderen strings auch :)


    //edit: hab "accounts" vergessen "einzuklammern" mit den `` :)