Beiträge von Scriptbeginner

    Hi Community,


    Meine 1. Frage wäre: Erhöht sich der Lagg eines Servers mit eingefügten Objekten ?
    2. Frage: Verringert sich der Lagg, wenn ich z. B. ein schon von GTA entwickeltes Haus entferne ?


    MfG

    2 Errors:


    D:\Dokumente und Einstellungen\***\Desktop\Server\filterscripts\Dropgun.pwn(162) : error 025: function heading differs from prototype
    D:\Dokumente und Einstellungen\***\Desktop\Server\filterscripts\Dropgun.pwn(163) : error 025: function heading differs from prototype
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    2 Errors.


    #define FILTERSCRIPT
    #include <a_samp>


    // Configs:
    #define MAX_OBJ 50 // Limit
    #define SAVING // Uncomment this line if you want to save dropped guns to restore them after FS restarts
    forward Destroy_Weapon();
    // -----------------------------------------------------------------------------
    enum dGunEnum
    {
    Float:ObjPos[3],
    ObjID,
    ObjData[2]
    };
    new dGunData[MAX_OBJ][dGunEnum];
    // -----------------------------------------------------------------------------
    new GunNames[48][] = {
    "Nichts", "Schlagring", "Golfschläger", "Schlagstock", "Messer", "Baseballschläger",
    "Schaufel", "Billiardstock", "Katana", "Motorsäge", "Lila Dildo", "Kleiner weißer Dildo",
    "Langer weißer Dildo", "Vibrator", "Blumen", "Rohrstock", "Granate", "Tränengas", "Molotov",
    "Fahrzeugrakete", "Hydra Fackel", "Jetpack", "Glock", "SD Pistole", "Deagle",
    "Schrotflinte", "Abgesägte Schrotflinte", "SPAS 12", "Micro UZI", "MP5", "AK47", "M4", "Tec9",
    "Gewehr", "Scharfschützengewehr", "Raketenwerfer", "HS Raketenwerfer", "Flamenwerfer", "Minigun",
    "Rucksackbombe", "Zünder", "Spraydose", "Feuerlöscher", "Kamera", "Nachtsicht",
    "Infrarot Nachtsicht", "Fallschirm", "Gefälschte Pistole"
    };
    // -----------------------------------------------------------------------------
    new GunObjects[47] = {
    0,331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,
    0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,
    363,364,365,366,367,368,368,371
    };


    // -----------------------------------------------------------------------------
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/wablegen", true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
    new GunID = GetPlayerWeapon(playerid);
    new GunAmmo = GetPlayerAmmo(playerid);
    if(GunID > 0 && GunAmmo != 0)
    {
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return SendClientMessage(playerid, 0x00A4FFFF, "In diesem Moment kannst du keine Waffe ablegen!");
    RemovePlayerWeapon(playerid, GunID);
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    GetPlayerPos(playerid, dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]);
    dGunData[f][ObjID] = CreateObject(GunObjects[GunID], dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 93.7, 120.0, 120.0);
    new buffer[50];
    format(buffer, sizeof(buffer), "%s wurde von dir abgelegt.", GunNames[dGunData[f][ObjData][0]]);
    SendClientMessage(playerid, 0x00A4FFFF, buffer);
    SetTimerEx("Destroy_Weapon", 180000, false,"i",dGunData[f][ObjID]);
    }
    return 1;
    }
    if(strcmp(cmdtext, "/wnehmen", true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, dGunData[a][ObjPos][0], dGunData[a][ObjPos][1], dGunData[a][ObjPos][2]))
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return SendClientMessage(playerid, 0x00A4FFFF, "Du bist nicht in der Nähe einer Waffe!");
    DestroyObject(dGunData[f][ObjID]);
    GivePlayerWeapon(playerid, dGunData[f][ObjData][0], dGunData[f][ObjData][1]);
    dGunData[f][ObjPos][0] = 0.0;
    dGunData[f][ObjPos][1] = 0.0;
    dGunData[f][ObjPos][2] = 0.0;
    dGunData[f][ObjID] = -1;
    //dGunData[f][ObjData][0] = 0;
    dGunData[f][ObjData][1] = 0;
    new buffer[50];
    format(buffer, sizeof(buffer), "%s wurde von dir aufgehoben.", GunNames[dGunData[f][ObjData][0]]);
    SendClientMessage(playerid, 0x00A4FFFF, buffer);
    return 1;
    }
    return 0;
    }
    // -----------------------------------------------------------------------------
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:pPosX, Float:pPosY, Float:pPosZ;
    GetPlayerPos(playerid, pPosX, pPosY, pPosZ);
    for(new i_slot = 0, gun, ammo; i_slot != 12; i_slot++)
    {
    GetPlayerWeaponData(playerid, i_slot, gun, ammo);
    if(gun != 0 && ammo != 0) CreateDroppedGun(gun, ammo, pPosX+random(2)-random(2), pPosY+random(2)-random(2), pPosZ);
    }
    return 1;
    }


    stock CreateDroppedGun(GunID, GunAmmo, Float:gPosX, Float:gPosY, Float:gPosZ)
    {
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return;
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    dGunData[f][ObjPos][0] = gPosX;
    dGunData[f][ObjPos][1] = gPosY;
    dGunData[f][ObjPos][2] = gPosZ;
    dGunData[f][ObjID] = CreateObject(GunObjects[GunID], dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 93.7, 120.0, random(360));
    SetTimerEx("Destroy_Weapon", 180000, false,"i",dGunData[f][ObjID]);
    return;
    }
    // -----------------------------------------------------------------------------
    stock RemovePlayerWeapon(playerid, weaponid)
    {
    new plyWeapons[12] = 0;
    new plyAmmo[12] = 0;
    for(new sslot = 0; sslot != 12; sslot++)
    {
    new wep, ammo;
    GetPlayerWeaponData(playerid, sslot, wep, ammo);
    if(wep != weaponid && ammo != 0) GetPlayerWeaponData(playerid, sslot, plyWeapons[sslot], plyAmmo[sslot]);
    }
    ResetPlayerWeapons(playerid);
    for(new sslot = 0; sslot != 12; sslot++) if(plyAmmo[sslot] != 0) GivePlayerWeapon(playerid, plyWeapons[sslot], plyAmmo[sslot]);
    return 1;
    }
    stock split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
    if(strsrc[i]==delimiter || i==strlen(strsrc))
    {
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }


    forward Destroy_Weapon(id);
    public Destroy_Weapon(id)
    {
    DestroyObject(id);
    return 1;
    }

    Also..ich will, dass die Waffe nach 3 Minuten verschwindet und habe dafür auch einen Timer gemacht..jedoch klappt es nicht..wisst ihr vllt wieso ?
    Es ist ein Filterscript..


    #define FILTERSCRIPT
    #include <a_samp>


    // Configs:
    #define MAX_OBJ 50 // Limit
    #define SAVING // Uncomment this line if you want to save dropped guns to restore them after FS restarts
    forward Destroy_Weapon();
    // -----------------------------------------------------------------------------
    enum dGunEnum
    {
    Float:ObjPos[3],
    ObjID,
    ObjData[2]
    };
    new dGunData[MAX_OBJ][dGunEnum];
    // -----------------------------------------------------------------------------
    new GunNames[48][] = {
    "Nichts", "Schlagring", "Golfschläger", "Schlagstock", "Messer", "Baseballschläger",
    "Schaufel", "Billiardstock", "Katana", "Motorsäge", "Lila Dildo", "Kleiner weißer Dildo",
    "Langer weißer Dildo", "Vibrator", "Blumen", "Rohrstock", "Granate", "Tränengas", "Molotov",
    "Fahrzeugrakete", "Hydra Fackel", "Jetpack", "Glock", "SD Pistole", "Deagle",
    "Schrotflinte", "Abgesägte Schrotflinte", "SPAS 12", "Micro UZI", "MP5", "AK47", "M4", "Tec9",
    "Gewehr", "Scharfschützengewehr", "Raketenwerfer", "HS Raketenwerfer", "Flamenwerfer", "Minigun",
    "Rucksackbombe", "Zünder", "Spraydose", "Feuerlöscher", "Kamera", "Nachtsicht",
    "Infrarot Nachtsicht", "Fallschirm", "Gefälschte Pistole"
    };
    // -----------------------------------------------------------------------------
    new GunObjects[47] = {
    0,331,333,334,335,336,337,338,339,341,321,322,323,324,325,326,342,343,344,
    0,0,0,346,347,348,349,350,351,352,353,355,356,372,357,358,359,360,361,362,
    363,364,365,366,367,368,368,371
    };


    // -----------------------------------------------------------------------------
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(strcmp(cmdtext, "/wablegen", true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
    new GunID = GetPlayerWeapon(playerid);
    new GunAmmo = GetPlayerAmmo(playerid);
    if(GunID > 0 && GunAmmo != 0)
    {
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return SendClientMessage(playerid, 0x00A4FFFF, "In diesem Moment kannst du keine Waffe ablegen!");
    RemovePlayerWeapon(playerid, GunID);
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    GetPlayerPos(playerid, dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]);
    dGunData[f][ObjID] = CreateObject(GunObjects[GunID], dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 93.7, 120.0, 120.0);
    new buffer[50];
    format(buffer, sizeof(buffer), "%s wurde von dir abgelegt.", GunNames[dGunData[f][ObjData][0]]);
    SendClientMessage(playerid, 0x00A4FFFF, buffer);
    SetTimerEx("Destroy_Weapon", 180000, false,"i",dGunData[f][ObjID]);
    }
    return 1;
    }
    if(strcmp(cmdtext, "/wnehmen", true) == 0)
    {
    if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT) return 1;
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, dGunData[a][ObjPos][0], dGunData[a][ObjPos][1], dGunData[a][ObjPos][2]))
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return SendClientMessage(playerid, 0x00A4FFFF, "Du bist nicht in der Nähe einer Waffe!");
    DestroyObject(dGunData[f][ObjID]);
    GivePlayerWeapon(playerid, dGunData[f][ObjData][0], dGunData[f][ObjData][1]);
    dGunData[f][ObjPos][0] = 0.0;
    dGunData[f][ObjPos][1] = 0.0;
    dGunData[f][ObjPos][2] = 0.0;
    dGunData[f][ObjID] = -1;
    //dGunData[f][ObjData][0] = 0;
    dGunData[f][ObjData][1] = 0;
    new buffer[50];
    format(buffer, sizeof(buffer), "%s wurde von dir aufgehoben.", GunNames[dGunData[f][ObjData][0]]);
    SendClientMessage(playerid, 0x00A4FFFF, buffer);
    return 1;
    }
    return 0;
    }
    // -----------------------------------------------------------------------------
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new Float:pPosX, Float:pPosY, Float:pPosZ;
    GetPlayerPos(playerid, pPosX, pPosY, pPosZ);
    for(new i_slot = 0, gun, ammo; i_slot != 12; i_slot++)
    {
    GetPlayerWeaponData(playerid, i_slot, gun, ammo);
    if(gun != 0 && ammo != 0) CreateDroppedGun(gun, ammo, pPosX+random(2)-random(2), pPosY+random(2)-random(2), pPosZ);
    }
    return 1;
    }


    stock CreateDroppedGun(GunID, GunAmmo, Float:gPosX, Float:gPosY, Float:gPosZ)
    {
    new f = MAX_OBJ+1;
    for(new a = 0; a < MAX_OBJ; a++)
    {
    if(dGunData[a][ObjPos][0] == 0.0)
    {
    f = a;
    break;
    }
    }
    if(f > MAX_OBJ) return;
    dGunData[f][ObjData][0] = GunID;
    dGunData[f][ObjData][1] = GunAmmo;
    dGunData[f][ObjPos][0] = gPosX;
    dGunData[f][ObjPos][1] = gPosY;
    dGunData[f][ObjPos][2] = gPosZ;
    dGunData[f][ObjID] = CreateObject(GunObjects[GunID], dGunData[f][ObjPos][0], dGunData[f][ObjPos][1], dGunData[f][ObjPos][2]-1, 93.7, 120.0, random(360));
    SetTimerEx("Destroy_Weapon", 180000, false,"i",dGunData[f][ObjID]);
    return;
    }
    // -----------------------------------------------------------------------------
    stock RemovePlayerWeapon(playerid, weaponid)
    {
    new plyWeapons[12] = 0;
    new plyAmmo[12] = 0;
    for(new sslot = 0; sslot != 12; sslot++)
    {
    new wep, ammo;
    GetPlayerWeaponData(playerid, sslot, wep, ammo);
    if(wep != weaponid && ammo != 0) GetPlayerWeaponData(playerid, sslot, plyWeapons[sslot], plyAmmo[sslot]);
    }
    ResetPlayerWeapons(playerid);
    for(new sslot = 0; sslot != 12; sslot++) if(plyAmmo[sslot] != 0) GivePlayerWeapon(playerid, plyWeapons[sslot], plyAmmo[sslot]);
    return 1;
    }
    stock split(const strsrc[], strdest[][], delimiter)
    {
    new i, li;
    new aNum;
    new len;
    while(i <= strlen(strsrc))
    {
    if(strsrc[i]==delimiter || i==strlen(strsrc))
    {
    len = strmid(strdest[aNum], strsrc, li, i, 128);
    strdest[aNum][len] = 0;
    li = i+1;
    aNum++;
    }
    i++;
    }
    return 1;
    }


    public Destroy_Weapon()
    {
    new f = MAX_OBJ+1;
    DestroyObject(dGunData[f][ObjID]);
    return 0;
    }

    wo genau muss ich es dann einfügen ?


    bei der readme steht:
    ory to "pawno"


    habs mal versucht in den Pawno ordner hinzuzufügen..hat nicht geklappt..


    /E: habs herausgefunden..jedoch findet crashdetect i-wie nichts


    Log:
    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3e-R2, (C)2005-2012 SA-MP Team


    [00:21:54] filterscripts = "" (string)
    [00:21:54]
    [00:21:54] Server Plugins
    [00:21:54] --------------
    [00:21:54] Loading plugin: streamer
    [00:21:54]


    *** Streamer Plugin v2.6 by Incognito loaded ***


    [00:21:54] Loaded.
    [00:21:54] Loading plugin: sscanf
    [00:21:54]
    [00:21:54] ===============================
    [00:21:54] sscanf plugin loaded.
    [00:21:54] (c) 2009 Alex "Y_Less" Cole
    [00:21:54] ===============================


    [00:21:54] Loaded.
    [00:21:54] Loading plugin: crashdetect
    [00:21:54] crashdetect v4.8.5 is OK.
    [00:21:54] Loaded.
    [00:21:54] Loaded 3 plugins.


    [00:21:54]
    [00:21:54] Filterscripts
    [00:21:54] ---------------
    [00:21:54] Loaded 0 filterscripts.


    [00:21:54] '0' Fraktionsfahrzeuge wurden geladen & erstellt.
    [00:21:55] AllowAdminTeleport() : function is deprecated. Please see OnPlayerClickMap()
    [00:21:55] Pickups Maximal = 2048, Aktuelle Pickups = 29
    [00:21:55] _______________________________________
    [00:21:55]
    [00:21:55]
    [00:21:55] _______________________________________
    [00:21:55]
    [00:21:55] Number of vehicle models: 119
    [00:22:01] --- Server Shutting Down.
    [00:22:01]


    *** Streamer Plugin v2.6 by Incognito unloaded ***


    [00:22:01]
    [00:22:01] ===============================
    [00:22:01] sscanf plugin unloaded.
    [00:22:01] ===============================



    /e2: erledigt..


    hmm hast du vllt eine idee, was den Server abstürzen lässt ?


    (ehm das Script ist ein RGR-Edit..ich hatte rgr gedownloadet und es mal stark editiert..danach hab ich aufgehört mit samp und habe alles gelöscht..
    vor ca. 1 Woche habe ich wieder die pwn datei wiederherstellen können..aber den Ordner konnte ich nicht mehr retten..
    Deswegen habe ich wieder das RGR Script geholt (mit scriptfiles etc.)
    Seitdem versuch ich dieses Problem zu lösen..)

    @tommy: ja weiß schon..dann muss ich beim ordner plugins die .dll einfügen..und bei includes einfügen usw..
    ..wie gesagt ich habe es schon ausprobiert, aber es klappt immer noch nicht..


    Fabi: mach dir doch einen Thread auf..ich denke so können dir mehr leute behilflich sein..

    Hallo Community,


    habe ein Problem mit dem sscanf..und zwar dieses hier:



    ----------
    Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3e-R2, (C)2005-2012 SA-MP Team


    [21:21:42] filterscripts = "" (string)
    [21:21:42]
    [21:21:42] Server Plugins
    [21:21:42] --------------
    [21:21:42] Loading plugin: streamer
    [21:21:42]


    *** Streamer Plugin v2.6 by Incognito loaded ***


    [21:21:42] Loaded.
    [21:21:42] Loading plugin: sscanf
    [21:21:42]


    [21:21:42] ===============================


    [21:21:42] sscanf plugin loaded.
    [21:21:42] (c) 2009 Alex "Y_Less" Cole
    [21:21:42] 0.3d-R2 500 Players "dnee"


    [21:21:42] ===============================


    [21:21:42] Loaded.
    [21:21:42] Loaded 2 plugins.


    [21:21:42]
    [21:21:42] Filterscripts
    [21:21:42] ---------------
    [21:21:42] Loaded 0 filterscripts.


    [21:21:42] OnGameo
    [21:21:42] '0' Fraktionsfahrzeuge wurden geladen & erstellt.
    [21:21:43] AllowAdminTeleport() : function is deprecated. Please see OnPlayerClickMap()
    [21:21:43] Pickups Maximal = 2048, Aktuelle Pickups = 29
    [21:21:43] _______________________________________
    [21:21:43]
    [21:21:43]
    [21:21:43] _______________________________________
    [21:21:43]
    [21:21:43] Number of vehicle models: 119
    [21:21:45] --- Server Shutting Down.
    [21:21:45]


    *** Streamer Plugin v2.6 by Incognito unloaded ***


    [21:21:45]
    [21:21:45] ===============================
    [21:21:45] sscanf plugin unloaded.
    [21:21:45] ===============================



    Das AllowAdminTeleport() Problem ist nur nebensache..das hauptsächtliche Problem ist das sscanf..
    Ich habe auch schon versucht von dieser Seite (http://forum.sa-mp.com/showthread.php?t=120356) das problem zu lösen, jedoch ohne erfolg..
    Bei Erklärungen bitte schritt für schritt erklären..da ich mich in diesem Bereich nicht so gut auskenne..


    Hoffe ihr könnt mir helfen :thumbup:



    Danke im Voraus


    MfG

    Wenn es gefixxt ist, müsstest du es ja getestet haben, wo du aber meinst "Run time..." , wie kannst du es dann überhaupt gefixxt haben?
    Wie wäre es wenn du SuFu benutzt oder im englischen Forum nachschaust.


    lies doch oben..ich hatte es editiert usw..dann habe ich es gelöscht wegen RL ..
    Und nun will ich wieder anfangen..habe aber nur die .pwn datei..



    Es gibt 2 versionen:


    1version (0.8b) laggy wie der teufel und c&p


    2version (1.0b - 1.4b) damals von mir ein normales Godfather aufarbeitet


    müsste das 0.8b sein..(das vom hacker veröffentlichte..)

    Kann dir ein anderes Script geben, wieso direkt RGR ? buggt ja nur...


    hab dieses Script von Kopf bis Fuß gefixt, editiert usw..danach hab ich aufgehört (RL) und hab den ganzen Ordner gelöscht


    nun hab ich die pwn wiederherstellen können..aber hab den Ordner nicht mehr..es basiert auf das RGR Script (also die Includes, Scriptfiles, plugins sind gleich)



    @ dreamreallife: yaa mir fehlen eben die Includes, Scriptfiles + Plugins..darum