error 035: argument type mismatch (argument 1)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend,


    ich versuche gerade einen kleinen Timer zu erstellen der die Bots auf den Server connectet weil sie sonst blockiert werden.


    Jetzt bekomme ich aber den error 035: argument type mismatch (argument 1) und hab leider keine Ahnung woran das liegen kann, ich habe genau das gleiche auch fürs respawnen der NPCs genutzt und da funktioniert alles ohne Probleme.


    Kann mir vielleicht jemand helfen?


    OnFilterScriptInit:


    public OnFilterScriptInit()
    {
    RNPC_SetUpdateRate(80);


    MapAndreas_Init(MAP_ANDREAS_MODE_NOBUFFER);


    new count = 0;
    for(new npcid = 0; npcid < MAX_ZOMBIES; npcid++)
    {
    new name[24];
    format(name, sizeof(name), ZOMBIE_NAME, npcid + 1);
    SetTimerEx("SpawnZombie", 1000, false, "i", name);
    count++;
    }
    printf("Number of zombies created: %i", count);


    return 1;
    }



    Forward & Public:


    forward SpawnZombie(name);


    public SpawnZombie(name)
    {
    ConnectRNPC(name);
    return 1;
    }



    Vielen Dank im Voraus!
    Viele Grüße

  • Ich habs jetzt mal so gemacht:



    public SpawnZombie(name)
    {
    new name[24];
    ConnectRNPC(name);
    return 1;
    }


    der Error verschwindet aber der Server crasht nun sobald er das Filterscript startet.



    Log:
    [00:20:17] [debug] Server crashed while executing zombietest.amx
    [00:20:17] [debug] AMX backtrace:
    [00:20:17] [debug] #0 native ConnectNPC () from samp-server.exe
    [00:20:17] [debug] #1 00000300 in ?? (68628) from zombietest.amx
    [00:20:17] [debug] #2 000039e0 in public SpawnZombie (90) from zombietest.amx
    [00:20:17] [debug] Native backtrace:
    [00:20:17] [debug] #0 00477b70 in ?? () from samp-server.exe
    [00:20:17] [debug] #1 004010b6 in ?? () from samp-server.exe
    [00:20:17] [debug] #2 6cb5d60a in ?? () from plugins\crashdetect.DLL
    [00:20:17] [debug] #3 6cb64078 in ?? () from plugins\crashdetect.DLL
    [00:20:17] [debug] #4 6cb5a767 in ?? () from plugins\crashdetect.DLL
    [00:20:17] [debug] #5 6cb5d65a in ?? () from plugins\crashdetect.DLL
    [00:20:17] [debug] #6 6cae4629 in ?? () from plugins\streamer.DLL
    [00:20:17] [debug] #7 00482a68 in ?? () from samp-server.exe
    [00:20:17] [debug] #8 004912ba in ?? () from samp-server.exe

  • ...der Name ist ja auch leer...ich glaube du musst deinem npc schon einen Namen geben ^^

    den kriegt er doch hier:


    format(name, sizeof(name), ZOMBIE_NAME, npcid + 1);
    oder seh ich das falsch?


    Edit:
    Oben ist noch folgendes definiert:
    #define ZOMBIE_NAME "Zombie[%i]"

  • Bei SetTimerEx das "i" zu "s"


    Und bei SpawnZombie der Parameter name zu name[]


    new name[24] wieder entfernen

    Hab ich gemacht, crasht leider noch immer.


    public OnFilterScriptInit()
    {
    RNPC_SetUpdateRate(80);


    MapAndreas_Init(MAP_ANDREAS_MODE_NOBUFFER);


    new count = 0;
    for(new npcid = 0; npcid < MAX_ZOMBIES; npcid++)
    {
    new name[24];
    format(name, sizeof(name), ZOMBIE_NAME, npcid + 1);
    SetTimerEx("SpawnZombie", 1000, false, "%s", name);
    count++;
    }
    printf("Number of zombies created: %i", count);
    return 1;
    }


    forward SpawnZombie(name[]);


    public SpawnZombie(name[])
    {
    ConnectRNPC(name);
    return 1;
    }



    [01:12:19] Filterscripts
    [01:12:19] ---------------
    [01:12:19] Loading filterscript 'zombietest.amx'...
    [01:12:20] [debug] Server crashed while executing zombietest.amx
    [01:12:20] [debug] AMX backtrace:
    [01:12:20] [debug] #0 native SetTimerEx () from samp-server.exe
    [01:12:20] [debug] #1 00003224 in public OnFilterScriptInit () from zombietest.amx
    [01:12:20] [debug] Native backtrace:
    [01:12:20] [debug] #0 0048288c in ?? () from samp-server.exe
    [01:12:20] [debug] #1 00473919 in ?? () from samp-server.exe
    [01:12:20] [debug] #2 004010b6 in ?? () from samp-server.exe
    [01:12:20] [debug] #3 6cb5d60a in ?? () from plugins\crashdetect.DLL
    [01:12:20] [debug] #4 6cb64078 in ?? () from plugins\crashdetect.DLL
    [01:12:20] [debug] #5 6cb5a767 in ?? () from plugins\crashdetect.DLL
    [01:12:20] [debug] #6 6cb5d65a in ?? () from plugins\crashdetect.DLL
    [01:12:20] [debug] #7 6cae4629 in ?? () from plugins\streamer.DLL
    [01:12:20] [debug] #8 0046a958 in ?? () from samp-server.exe

  • Der "s" Parameter in SetTimerEx funktioniert nicht wirklich...und den brauchst du hier auch nicht.


    Mach es einfach so:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Code
    SetTimerEx("SpawnZombie", 1000, false, "%s", name);

    zu


    Code
    SetTimerEx("SpawnZombie", 1000, false, "s", name);

    Beides schon versucht.


    Der "s" Parameter in SetTimerEx funktioniert nicht wirklich...und den brauchst du hier auch nicht.


    Mach es einfach so:


    Da fehlt dann der Timer oder nicht?

  • Den brauchst du in dem Fall auch nicht mehr, das macht jetzt die Schleife

    Ah okay.


    Der Server crasht damit zwar nicht mehr aber jetzt stehe ich wieder am Anfangsproblem.
    Einige NPCs werden wieder geblockt.


    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)
    Blocking 127.0.0.1 due to a 'server full' attack (1)

  • Naja, aus 'server full' würde ich schließen, dass der Server halt voll ist.
    Entweder, du hast keine freien Slots mehr oder die max. NPC Zahl in der server.cfg ist zu klein

    Slots sind auf 350, MAX NPC auf 100 und 100 sollen connecten.

  • versuch mal weniger Bots spawnen zu lassen

    Ja das funktioniert dann.
    Die werden geblockt weil sie zu schnell connecten, deshalb hatte ich ja den Timer..


    Edit:
    Zu viele zu schnell connecten

  • stimmt.. hatte das Problem auch mal..
    dann mach es so: