[Hilfe] Wie behebe ich diese Errors?

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,


    das ist der Abschnitt aus dem Script:



    if (strfind(text, "meinbusbot") != -1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15, -1559.5802,-464.8181,14.0000))
    {
    new string[80], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));


    SendCommand("/o hallo hier spricht der Busbot :D");
    format(string, sizeof(string), "Hey %s! You are so mean, you make me so sad!", name);
    SendChat(string);
    return 0;
    }
    }


    ...und hier die Erros:



    C:\Users\Peder\Desktop\meinscript.pwn(71907) : warning 219: local variable "string" shadows a variable at a preceding level
    C:\Users\Peder\Desktop\meinscript.pwn(71910) : error 017: undefined symbol "SendCommand"
    C:\Users\Peder\Desktop\meinscript.pwn(71912) : error 017: undefined symbol "SendChat"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Könnt ihr mir Helfen?


    LG
    Sponge-Manu

    Unser Server auf TS3index.com


    Homepage: www.fun-und-witze.de

    Hinweis: Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
    Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen!


  • Änder den namen vom String z.b in new BotString[128];
    Der Error sagt,dass du "string" bereits definiert hast!
    Also,wenn du den Text mit "string" wiedergeben willst,löscht du einfach "new string[80],"raus und machst vor "name[MAX_PLAYER_NAME];" ein "new" vor!


    Hier einmal vorgefertigt:


    if (strfind(text, "meinbusbot") != -1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15, -1559.5802,-464.8181,14.0000))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));


    SendCommand("/o hallo hier spricht der Busbot :D");
    format(string, sizeof(string), "Hey %s! You are so mean, you make me so sad!", name);
    SendChat(string);
    return 0;
    }
    }


    Die anderen Errors deuten darauf hin das du die Funktion "SendCommand" und "SendChat" nicht im Script oder Includes hast!


    Hoffe ich konnte helfen.
    Mfg
    Hardcore

  • Vielen Dank für deine Antwort!


    Jedoch was bedeutet im String "new BotString[128];" eigentlich die "[128]"? Ich habe den Bezug noch nicht ganz verstanden. Was bringt die Angabe?


    edit: Weißt du, wo ich die passenden Includes herbekomme? Habe über die Suche nichts passendes gefunden.

    Unser Server auf TS3index.com


    Homepage: www.fun-und-witze.de

    Hinweis: Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
    Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen!


    Einmal editiert, zuletzt von Sponge-Manu ()

  • Du kannst im GM keine NPC Funktionen verwenden ^^ Bitte ändere die Zeilen um in:


    Statt SendCommand("/o hallo hier spricht der Busbot :D"); :
    OnPlayerCommandText(playerid, "/o hallo hier spricht der Busbot :D");


    und statt SendChat(string);
    SendClientMessage(playerid, 0xFFFFFF00, string);


    Jedoch hast du es irgendwie falsch aufgefasst. Erkläre bitte was du mit dem Befehl vorhattest, dann richte ich in dir!


    Wegen dem Array [128], dass bedeutet das 128 Charaktere (bzw. Zeichen) in ein Array passen zB wird das
    format(string, sizeof(string), "Hey %s! You are so mean, you make me so sad!", name);
    so abgespeichert:
    string[0] = "H";
    string[1] = "e";
    string[2] = "y";
    //usw...


    abgespeichert ^^ Also einzeln.

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Jetzt versteh ich auch den Sinn der Angabe - Danke :thumbup:


    Zurück zum Script: Das Script habe ich aus SAMP Wiki kopiert und erst mal so gelassen. Ich wollte versuchen, dass der NPC-Bot diese Nachricht an den Server schreibt und dadurch eine Funktion ausführt wird. In meinem Fall soll er eine Nachricht im OOC-Chat versenden, wenn er an der angegeben Position sich befindet. Leider wird die Nachricht nicht in der Aufnahme gespeichert und somit wollte ich das versenden der Nachricht vortäuschen.


    Kennst du eine Möglichkeit?

    Unser Server auf TS3index.com


    Homepage: www.fun-und-witze.de

    Hinweis: Die Deutsche Rechtschreibung ist Freeware, sprich, du kannst sie kostenlos nutzen.
    Allerdings ist sie nicht Open Source, d.h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen!


  • Bitte ^^

    if (strfind(text, "meinbusbot") != -1)
    {
    if(IsPlayerInRangeOfPoint(playerid, 15, -1559.5802,-464.8181,14.0000))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, sizeof(name));
    OnPlayerCommandText(playerid, "/o hallo hier spricht der Busbot :D");
    format(string, sizeof(string), "Hey %s! You are so mean, you make me so sad!", name);
    OnPlayerText(playerid, string);
    return 0;
    }
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!