Beiträge von Jeffry

    Gehts überhaupt bei OnPlayerDisconnect?


    Richtig, GetPlayerIp geht bei OnPlayerDisconnect nicht.


    new sip[20];
    GetPlayerIp(playerid, sip, sizeof (sip));
    SpielerInfo[playerid][pip] = sip;
    Das muss raus aus OnPlayerDisconnect und rein bei OnPlayerConnect (die IP ändert sich ja während der Spieler online ist nicht).



    Du musst es als VARCHAR anlegen. (Sollte auch in NaviCat so heißen) = string

    Diese Meldung kann man soweit ich weiss nicht dekativieren, ist ja auch ein sinnvolles Feature


    Doch kann man.


    Man muss in diesen beiden Pfaden in der Registry einen Wert ändern (Registry: Start => "regedit" eingeben => Enter):
    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\3


    Jeweils den Wert 1806'er Eintrag auf den Wert 0 setzen, und falls kein 1806'er vorhanden ist, den 1806'er als REG_DWORD erstellen, mit dem Wert 0.


    Wissensquelle: http://stadt-bremerhaven.de/da…em-download-deaktivieren/


    (Den Neustart des PCs kann man sich oft sogar sparen, wenn's nicht klappt dann neu starten.)

    Hm. Dann mal anders.
    Nimm mal alle deine FilterScripts aus dem Server (server.cfg => filterscipts - Zeile leer machen.). Gehen die Befehle im GameMode dann?


    Wenn nein, kannst du das in deinen GameMode einfügen, oder gibt das Errors?


    public OnPlayerCommandReceived(playerid, cmdtext[])
    {
    return print("Ich habe ZCMD :p");
    }

    forward CarInfo(playerid,cardbid);
    public CarInfo(playerid,cardbid)
    {
    new rows,fields,key_int, string2[256];
    format(string2,sizeof(string2),"Keys:\n");
    cache_get_data(rows,fields,serverdbhandle);
    for(new i=0; i<rows; i++)
    {
    format(string2,sizeof(string2),"%s%i\n",string2,cache_get_field_content_int(i,"userID",serverdbhandle));
    }
    SendClientMessage(playerid,0xFFFFFFFF,string2);


    So.

    Das funktioniert genau so wie du es machen wolltest, du wirst einfach nur string3 zu klein deklariert haben.


    new string[128];
    format(string, sizeof(string), "Hallo");
    format(string, sizeof(string), "%s Welt!", string);
    print(string);
    //print gibt aus: "Hallo Welt!"


    Klar kannst du auch strins oder strcat verwenden, persönlich finde ich aber format anschaulicher.

    Nein, so gibst du ihm das Geld das er schon hat, in deinem Fall -1.


    new money = 1000;
    GivePlayerMoney(playerid,money);
    SpielerInfo[playerid][pGeld] += money;


    So würdest du dem Spieler 1000$ geben.

    Gut, dann erkläre ich es dir.


    Beispiel:
    format(string, sizeof(string), "%sTotal Hours Online: %d ~ Warnings: %d ~ Upgrade Points: %d ~ Spawn Armor: %d ~ Experience: %d/%d ~ Crimes Committed: %d ~ Times Arrested: %d\n", string, hours, warns, upgradepoints, spawnhealth, exp, expamount, crimes, arrests);


    Ich hab vorne ein "%s" hin gemacht, und hinten ein \n.
    In die Parameter hab ich als erstes "string" hingesetzt, das fügt den bereits vorhandenen string (Zeile davor) bei "%s" ein. \n macht hinten den Zeilenumbruch.


    Anschaulich:
    new string[128];
    format(string, sizeof(string), "Hallo");
    format(string, sizeof(string), "%s Welt!", string);
    print(string);
    //print gibt aus: "Hallo Welt!"

    new whostats[48];
    if (targetid == playerid) whostats = "Your";
    else if(targetid != playerid) format(whostats, sizeof(whostats), "%s's", PlayerName(targetid));



    format(whostats, sizeof(whostats), "%s Statistics", whostats);



    format(string, sizeof(string), "Level: %d ~ Gender: %s ~ Age: %d ~ Wallet: $%d ~ Bank Account: $%d ~ Bank PIN: %d ~ Phone Number: %d ~ Job: %s (%d)\n", plevel, gender, age, wallet, bank, bankpin, number, job, joblevel);



    format(string, sizeof(string), "%sTotal Hours Online: %d ~ Warnings: %d ~ Upgrade Points: %d ~ Spawn Armor: %d ~ Experience: %d/%d ~ Crimes Committed: %d ~ Times Arrested: %d\n", string, hours, warns, upgradepoints, spawnhealth, exp, expamount, crimes, arrests);


    new smallstr[64];
    format(string, sizeof(string), "%sOrganization: %s ~ Rank: %s (%d) ~ Products: %d ~ Wanted Level: %d ~ \n", string, GetPlayerFactionName(targetid), GetPlayerRank(targetid), rank, prods, wantedlevel);
    #if defined COOKIE_SYSTEM
    format(smallstr, sizeof(smallstr), "Cookies: %d ~ ", cookies);
    strcat(string, smallstr);
    #endif
    #if defined GIFT_SYSTEM
    format(smallstr, sizeof(smallstr), "Gifts: %d ~ ", gifts);
    strcat(string, smallstr);
    #endif
    #if defined REWARD_SYSTEM
    format(smallstr, sizeof(smallstr), "Reward Tokens: %d ~ ", PlayerInfo[targetid][pRewardTokens]);
    strcat(string, smallstr);
    #endif
    format(smallstr, sizeof(smallstr), "Channel: %d khz\n", wtc);
    strcat(string, smallstr);



    format(string, sizeof(string), "%sHealth: %.0f ~ Armor: %.0f ~ %s: %s ~ Cocaine: %dg ~ Weed: %dg ~ Material Packages: %d ~ Drug Packages: %d ~ Materials: %d\n", string, health, armor, marriage, PlayerInfo[targetid][pMarriedTo], cocaine, weed, packages, drugpackages, materials);



    format(string, sizeof(string), "%sVIP Rank: %s (%d) ~ Bills: $%d ~ Ropes: %d ~ Cigars: %d ~ Cans of Sprunk: %d ~ Spraycans: %d ~ Heroin: %dg ~ Meth: %dg\n", string, viprank, PlayerInfo[targetid][pDonateRank], bills, ropes, cigars, sprunk, spraycans, heroin, meth);



    new divisiontext[32], divisiontag[12];
    if (PlayerInfo[targetid][pDivision] == 0) divisiontext = "None", divisiontag = "N/A";
    if (PlayerInfo[targetid][pDivision] >= 1) format(divisiontext, 32, DivisionInfo[PlayerInfo[targetid][pMember]][PlayerInfo[targetid][pDivision]][divisionName]), format(divisiontag, 12, DivisionInfo[PlayerInfo[targetid][pMember]][PlayerInfo[targetid][pDivision]][divisionTag]);


    new vehicles;
    for (new i = 1; i <= MAX_OWNED_CARS; i++)
    {
    if (VehicleKeys[targetid] != 0) vehicles++;
    }


    new yesno[10];
    if (iPod[targetid] == 0) yesno = "No";
    if (iPod[targetid] == 1) yesno = "Yes";


    format(string, sizeof(string), "%sDivision: %s (%s) ~ Vehicles: %d/%d ~ iPod: %s ~ Total Wealth: $%d ~ Date Registered: %s %d, %d @ %02d:%02d:%02d\n", string, divisiontext, divisiontag, vehicles, MAX_OWNED_CARS, yesno, wallet + bank, GetMonth(PlayerInfo[targetid][pRegisterDate][2]), PlayerInfo[targetid][pRegisterDate][1], PlayerInfo[targetid][pRegisterDate][3], PlayerInfo[targetid][pRegisterDate][4], PlayerInfo[targetid][pRegisterDate][5], PlayerInfo[targetid][pRegisterDate][6]);



    if (PlayerInfo[playerid][pAdmin] > 0) // How come this wasn't added?
    {
    format(string, sizeof(string), "%sAdmin Level: %d ~ House Keys: %d/%d ~ Garage Keys: %d/%d ~ Business Keys: %d/%d ~ Interior: %d ~ World: %d ~ Jail: %s (%d sec)", string, admin, housekey, HouseKey2[targetid], garagekey, GarageKey2[targetid], bizkey, BizKey2[targetid], interior, virtualworld, jailtype, jailtime);
    }

    ShowPlayerDialog(playerid, 1337, DIALOG_STYLE_MSGBOX, whostats, string, "Ok", "");
    }
    return 1;
    }


    Du musst aber bei
    new string[was_auch_immer_hier_steht];
    das "was_auch_immer_hier_steht" erhöhen, zu 1024 oder sowas.

    Der der Thread schon geschlossen wurde bedanke ich mich hier bei Atrox: und lobe ihn für das extrem schnelle Handeln bei meinem Vorschlag: [ VORSCHLAG ] Mobiles Design -> Logout Button
    Das ist wirklich keine Selbstverständlichkeit, dass es so schnell geht.


    Vielen lieben Dank, das erspart nicht nur mir sondern wie wir gesehen haben auch vielen anderen Usern hier eine Menge Frust. :thumbup: