bots nach timeout wieder conacten lassen

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
  • hallo an alle die dies lesen


    aktuell ist es so das wenn die bots einen timeout haben, das man einen serverestart machen muss, damit die bots wieder connecten


    meine frage:
    kann man es so machen das wenn die bots einen timeout haben, das die bots automatisch wieder connecten.


    hier die pwn
    if(playerid == 29)
    {
    SetPlayerSkillLevel(playerid, WEAPONSKILL_PISTOL, 1);
    SetPlayerSkillLevel(playerid, WEAPONSKILL_DESERT_EAGLE, 1000);
    NPC_CAR[0] = CreateVehicle(577, 1000.0,1000.0, 1000.0, 0.0, 1, 3, -1);
    ConnectNPC("[BOT]PilotSF", "[BOT]ATSF");
    }
    if(playerid == 30 || playerid == 0)
    {
    if(!IsPlayerNPC(playerid))
    {
    if(playerid == 30)
    {
    SendClientMessage(playerid, ROT, "*Du wurdest gekickt, da du ID 30 bist und wir Bugs vermeiden möchten.");
    SendClientMessage(playerid, COLOR_GREEN, "*Du kannst sofort wieder connecten, da nun ein Bot diese ID eingenommen hat.");
    Kick(playerid);
    NPC_CAR[0] = CreateVehicle(577, 1000.0,1000.0, 1000.0, 0.0, 1, 3, -1);
    ConnectNPC("[BOT]PilotSF", "[BOT]ATSF");
    }
    if(playerid == 0)
    {
    SendClientMessage(playerid, ROT, "*Du wurdest gekickt, da du ID 0 bist und wir Bugs vermeiden möchten.");
    SendClientMessage(playerid, COLOR_GREEN, "*Du kannst sofort wieder connecten, da nun ein Bot diese ID eingenommen hat.");
    Kick(playerid);
    NPC_CAR[1] = CreateVehicle(520,1000,1000,1000,0,-1,-1,-1);
    ConnectNPC("[BOT]Hydra", "[BOT]HydraLS");
    }
    }
    }


    ich hoffe ihr wisst, was ich damit meine



    danke schon mal in vorraus


    mfg
    wurzelsep96 | Andi

  • Beitrag von wurzelsep96 ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Klar kannst du den Bot neu connecten lassen wenn er raus fliegt. Normal ist das zwar nicht, aber zur Sicherheit ist das trotzdem ok.


    Bei OnPlayerDisconnect:
    SetTimerEx mit einer ID je nach Name => das public dann über die ID aufrufen und mit Switch den Bot neu connecten.


    Falls du mit den Codes nicht klar kommst, fange an und poste dann was du bis dahin hast.

  • lass mir mal per pn die server ip zukommen dann schauen ich mir das mal an


    ehhm ist es immer nach einer bestimmten zeit 10min 20 min? oder unregelmässig?

    ist unregelmäsig
    hier da ist in serverlog+


    [01/08/2014 20:09:24] [npc:part] [BOT]Hydra has left the server (1:0)
    [01/08/2014 20:09:24] [npc:part] [BOT]PilotSF has left the server (0:0)
    [01/08/2014 20:09:24] [npc:part] [BOT]Golddealer has left the server (2:0)



    Jeffry, könntest du mir bitte eine vorlage schreiben, da ich leider nicht genua verstehe was du meinst

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ^ Das oben macht wenig Sinn.


    public OnPlayerDisconnect(playerid, reason)
    {
    if(!strcmp(SpielerName(playerid), "Dein_Bot_Name") && IsPlayerNPC(playerid))
    {
    SetTimerEx("ReconnectBot", 5000, 0, "d", 0);
    }
    if(!strcmp(SpielerName(playerid), "Dein_AndererBot_Name") && IsPlayerNPC(playerid))
    {
    SetTimerEx("ReconnectBot", 5000, 0, "d", 1);
    }
    return 1;
    }


    forward ReconnectBot(id);
    public ReconnectBot(id)
    {
    switch(id)
    {
    case 0: ConnectNPC(...);
    case 1: ConnectNPC(...);
    }
    return 1;
    }

  • Wenn ich das Scrpt compile kommt das:


    C:\Users\ASUS\Desktop\Arcticbytes Reallife Orginal 10\gamemodes\ABR.pwn(5540) : error 012: invalid function call, not a valid address
    C:\Users\ASUS\Desktop\Arcticbytes Reallife Orginal 10\gamemodes\ABR.pwn(5540) : warning 215: expression has no effect
    C:\Users\ASUS\Desktop\Arcticbytes Reallife Orginal 10\gamemodes\ABR.pwn(5540) : error 001: expected token: ";", but found ")"
    C:\Users\ASUS\Desktop\Arcticbytes Reallife Orginal 10\gamemodes\ABR.pwn(5540) : error 029: invalid expression, assumed zero
    C:\Users\ASUS\Desktop\Arcticbytes Reallife Orginal 10\gamemodes\ABR.pwn(5540) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.

  • ich weiß nicht genau was du meinst ich schick dir mal alles :)



    new botname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, botname, sizeof(botname));
    if(!strcmp(botname(playerid), "[BOT]PilotSF") && IsPlayerNPC(playerid))
    {
    SetTimerEx("ReconnectBot", 5000, 0, "d", 0);
    }
    if(!strcmp(botname(playerid), "[BOT]Hydra") && IsPlayerNPC(playerid))
    {
    SetTimerEx("ReconnectBot", 5000, 0, "d", 1);
    }
    if(!strcmp(botname(playerid), "[BOT]Golddealer") && IsPlayerNPC(playerid))
    {
    SetTimerEx("ReconnectBot", 5000, 0, "d", 2);
    }




    forward ReconnectBot(id);
    public ReconnectBot(id)
    {
    switch(id)
    {
    case 0: ConnectNPC(0);
    case 1: ConnectNPC(1);
    case 2: ConnectNPC(2);
    }
    return 1;
    }


    ist es dass was du meinst?