Beiträge von Szertockz

    Wieso benutzt du 2 Variablen mit dem man den Namen herrausfindet? anstatt "new spname[MAX_PLAYER_NAME];" und "GetPlayerName(playerid, spname, sizeof(spname));" zu löschen und dann beim unteren Format am Ende "spname" durch "plname" zu ersetzen.


    @James.Spader Da musst du wohl den kompletten Callback hier rein posten.


    Am besten wäre noch wenn es sich @Jeffry anguckt.

    Ich sag mal so das ist die Jugend heut zu Tage man kann nichts daran ändern. Andere Leute wollen sich nur Bosshaft fühlen und die anderen sind halt Faggots.

    X, Y, Z und R sind Float Werte du liest die als Integer aus und im Callback oben steht playerid kannste rausnehmen, da dies nicht verwendet wird.


    //edit
    schreib es so

    cInfo[id][c_x]=cache_get_field_content_float(i, "x", dbhandle);
    cInfo[id][c_y]=cache_get_field_content_float(i, "y", dbhandle);
    cInfo[id][c_z]=cache_get_field_content_float(i, "z", dbhandle);
    cInfo[id][c_r]=cache_get_field_content_float(i, "r", dbhandle);

    Also ich kann das Script ohne Probleme compilen.



    //Edit
    benutz diesen Quellcode ist zwar der gleiche, aber es sollten keine Fehler drinne sein

    #include <a_samp>


    #define COLOR_RED 0xAA3333AA


    #undef MAX_PLAYERS
    #define MAX_PLAYERS 500 // Change to you're servers max player count.


    #define MAX_SLOTS 48


    new NotMoving[MAX_PLAYERS];
    new WeaponID[MAX_PLAYERS];
    new CheckCrouch[MAX_PLAYERS];
    new Ammo[MAX_PLAYERS][MAX_SLOTS];


    new aWeaponNames[][32] = {
    {"Fist"}, // 0
    {"Brass Knuckles"}, // 1
    {"Golf Club"}, // 2
    {"Night Stick"}, // 3
    {"Knife"}, // 4
    {"Baseball Bat"}, // 5
    {"Shovel"}, // 6
    {"Pool Cue"}, // 7
    {"Katana"}, // 8
    {"Chainsaw"}, // 9
    {"Purple Dildo"}, // 10
    {"Vibrator"}, // 11
    {"Vibrator"}, // 12
    {"Vibrator"}, // 13
    {"Flowers"}, // 14
    {"Cane"}, // 15
    {"Grenade"}, // 16
    {"Teargas"}, // 17
    {"Molotov"}, // 18
    {" "}, // 19
    {" "}, // 20
    {" "}, // 21
    {"Colt 45"}, // 22
    {"Silenced Pistol"}, // 23
    {"Deagle"}, // 24
    {"Shotgun"}, // 25
    {"Sawns"}, // 26
    {"Spas"}, // 27
    {"Uzi"}, // 28
    {"MP5"}, // 29
    {"AK47"}, // 30
    {"M4"}, // 31
    {"Tec9"}, // 32
    {"Country Rifle"}, // 33
    {"Sniper Rifle"}, // 34
    {"Rocket Launcher"}, // 35
    {"Heat-Seeking Rocket Launcher"}, // 36
    {"Flamethrower"}, // 37
    {"Minigun"}, // 38
    {"Satchel Charge"}, // 39
    {"Detonator"}, // 40
    {"Spray Can"}, // 41
    {"Fire Extinguisher"}, // 42
    {"Camera"}, // 43
    {"Night Vision Goggles"}, // 44
    {"Infrared Vision Goggles"}, // 45
    {"Parachute"}, // 46
    {"Fake Pistol"} // 47
    };


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Simple & Accurate Anti-C-Bug by Whitetiger.");
    print("--------------------------------------\n");
    return 1;
    }


    public OnFilterScriptExit()
    {
    return 1;
    }


    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    if((newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) || (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
    switch(GetPlayerWeapon(playerid)) {
    case 23..25, 27, 29..34, 41: {
    if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
    OnPlayerCBug(playerid);
    }
    return 1;
    }
    }
    }


    if(CheckCrouch[playerid] == 1) {
    switch(WeaponID[playerid]) {
    case 23..25, 27, 29..34, 41: {
    if((newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
    if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
    OnPlayerCBug(playerid);
    }
    }
    }
    }
    }


    //if(newkeys & KEY_CROUCH || (oldkeys & KEY_CROUCH)) return 1;


    else if(((newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP))) ||
    (newkeys & KEY_FIRE) && !((newkeys & KEY_SPRINT) || (newkeys & KEY_JUMP)) ||
    (NotMoving[playerid] && (newkeys & KEY_FIRE) && (newkeys & KEY_HANDBRAKE)) ||
    (NotMoving[playerid] && (newkeys & KEY_FIRE)) ||
    (newkeys & KEY_FIRE) && (oldkeys & KEY_CROUCH) && !((oldkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ||
    (oldkeys & KEY_FIRE) && (newkeys & KEY_CROUCH) && !((newkeys & KEY_FIRE) || (newkeys & KEY_HANDBRAKE)) ) {
    SetTimerEx("CrouchCheck", 3000, 0, "d", playerid);
    CheckCrouch[playerid] = 1;
    WeaponID[playerid] = GetPlayerWeapon(playerid);
    Ammo[playerid][GetPlayerWeapon(playerid)] = GetPlayerAmmo(playerid);
    return 1;
    }
    return 1;
    }


    public OnPlayerUpdate(playerid)
    {
    new Keys, ud, lr;
    GetPlayerKeys(playerid, Keys, ud, lr);
    if(CheckCrouch[playerid] == 1) {
    switch(WeaponID[playerid]) {
    case 23..25, 27, 29..34, 41: {
    if((Keys & KEY_CROUCH) && !((Keys & KEY_FIRE) || (Keys & KEY_HANDBRAKE)) && GetPlayerSpecialAction(playerid) != SPECIAL_ACTION_DUCK ) {
    if(Ammo[playerid][GetPlayerWeapon(playerid)] > GetPlayerAmmo(playerid)) {
    OnPlayerCBug(playerid);
    }
    }
    //else SendClientMessage(playerid, COLOR_RED, "Failed in onplayer update");
    }
    }
    }


    if(!ud && !lr) { NotMoving[playerid] = 1; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }
    else { NotMoving[playerid] = 0; /*OnPlayerKeyStateChange(playerid, Keys, 0);*/ }


    return 1;
    }


    forward OnPlayerCBug(playerid);
    public OnPlayerCBug(playerid) {
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername, sizeof(playername));
    new str2[128];
    format(str2, sizeof(str2), "Automatic system has kicked %s for Crouch bugging with weapon (%s!)", playername, aWeaponNames[WeaponID[playerid]]);
    SendClientMessageToAll(COLOR_RED, str2);
    CheckCrouch[playerid] = 0;
    Kick(playerid);
    return 1;
    }
    forward CrouchCheck(playerid);
    public CrouchCheck(playerid) {
    CheckCrouch[playerid] = 0;
    return 1;
    }

    Falls du noch keine Datenbank haben solltest könntest du das ganze so machen:
    Sie gehen ins PhpMyAdmin Interface rein dann sollte oben der Reiter 'Benutzerkonten' erscheinen, da klicken Sie drauf. Nun Scrollen Sie runter bis die Überschrift 'Neu' kommt. Man kann sehen das darunter 'Benutzerkonto hinzufügen' steht, da müssen Sie drauf klicken. Danach sollten die Labels 'Benutzername:', 'Hostname:', 'Passwort:' und 'Wiederholen:' zu sehen sein, tragen Sie ihre Daten da ein Wichtig ist beim 'Hostname' sollte man nur 'jeder Host' auf 'Lokal' ändern. Haben Sie das erledigt wird ihnen unten die Überschrift 'Datenbank für Benutzerkonto' ins Auge fliegen. Meine Empfehlung wäre es das erste Kästchen anzuklicken. Anschließend müssen Sie bis zur Ende der Seite scrollen und auf den Button 'OK' klicken. So das wars nun haben Sie eine Datenbank sowie ein Benutzerkonto für Ihren Server. Ich hoffe ich konnte dir helfen :).


    Mit freundlichen Grüßen
    zSkiLL.exe aka. Szertockz

    Ich muss ehrlich sagen das ich mir das Scripten selber beigebracht habe. Wie man es noch besser erlernen könnte wäre z.B. fertige Systeme anzuschauen, damit man weiß wie das ganze überhaupt funktioniert. Danach könntest du beginnen selber ein System zu schreiben. Falls du dann nicht weiter wissen solltest kannst du dich in Google umgucken oder auf Breadfish ein Thread mit deinen Fehler schreiben. Übung macht den Meister. :)


    MfG