[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
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
  • Liegt an deinem return. So wie ich das mitbekommen habe, setzt du eingeloggt erst auf 0 und benutzt dann savePlayer, somit returned er einfach nur 1, weil der Spieler ja schon ausgeloggt ist.


    Mein CS:GO Server: 62.75.168.39:27016


    Ich bin so hungrig, dass ich vor lauter Durst nicht weiß, was ich rauchen soll - so müde bin ich!
    Freedom is just another word for 'Nothing left to lose'

  • Beitrag von JustMe.77 ()

    Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
  • Wie fügt man denn eine Farbe bei SendClientMessageToAll hinzu?



    ocmd:acon(playerid,params[])
    {
    SendRconCommand("hostname [AC:ON] Legends never Die [LnD] A/D [Ultra-H.com] ");
    SendClientMessageToAll(playerid,ROT,"JustMe changed the AC Status to ON");
    return 1;
    }


    Error:
    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(52) : error 035: argument type mismatch (argument 2)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Mit freundlichen Grüßen
    JustMe.77 8)

  • ocmd:acon(playerid,params[])
    {
    SendRconCommand("hostname [AC:ON] Legends never Die [LnD] A/D [Ultra-H.com] ");
    SendClientMessageToAll(ROT,"JustMe changed the AC Status to ON");
    return 1;
    }
    Bei SendClientMessageToAll gibt es den Parameter "playerid" nicht ;)

  • ocmd:acon(playerid,params[])
    {
    new name[MAX_PLAYER_NAME],string[145];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    SendRconCommand("hostname [AC:ON] Legends never Die [LnD] A/D [Ultra-H.com] ");
    format(string,sizeof string,"%s changed the AC Status To ON",name);
    SendClientMessageToAll(ROT,string);
    return 1;
    }
    Meinst du so, das der Name immer in der öffentlichen Nachricht steht?

  • Ja richtig, wusste das man %s benutzt, nur nicht das hinter der nachicht ,name kommt. Danke ich teste es aus.


    @Mencent: Wie benutze ich denn mehrere Farben bei SendClientMessageToAll?


    Hab's so.



    ocmd:acon(playerid,params[])
    {
    SendRconCommand("hostname [AC:ON] Legends never Die [LnD] A/D [Ultra-H.com] ");
    SendClientMessageToAll(BLAU,"%s changed the AC Status to {00FF00FF} ON",);
    return 1;
    }



    Error:


    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(53) : error 029: invalid expression, assumed zero
    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(53) : warning 202: number of arguments does not match definition
    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(53) : error 001: expected token: ",", but found ";"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Mit freundlichen Grüßen
    JustMe.77 8)

    Einmal editiert, zuletzt von JustMe.77 ()

  • ocmd:acon(playerid,params[])
    {
    new name[MAX_PLAYER_NAME],string[145];
    GetPlayerName(playerid,name,MAX_PLAYER_NAME);
    SendRconCommand("hostname [AC:ON] Legends never Die [LnD] A/D [Ultra-H.com] ");
    format(string,sizeof string,"%s changed the AC Status To{00FF00} ON",name);
    SendClientMessageToAll(ROT,string);
    return 1;
    }
    Du musst den Befehl so einfügen, denn du kannst den Namen nicht direkt ausgeben, sondern musst ihn vorher formatieren.
    Als Tipp:
    Hier kannst du dir auch die Farben heraussuchen
    http://html-color-codes.info/webfarben_hexcodes/
    Du musst die Farbe halt anklicken, und dann wird der Code dir oben angezeigt.
    Bei Gelb würde das so aussehen:

    Code
    #FACC2E


    Dann nimmst du das Hashzeichen (#) einfach davor weg, und schreibst das so in deinem Code: {FACC2E}

  • SetTimerEx("WelcomeMessage",1000*10,0,"i",playerid); //Da wo der Spieler sich eingeloggt hat / bzw. unter OnPlayerConnect


    forward WelcomeMessage(playerid);
    public WelcomeMessage(playerid)
    {
    SendClientMessage(playerid,-1,"Willkommen!");
    return 1;
    }


    So.
    Kommt drauf an, ab wann der Timer los gehen soll. Entweder ab OnPlayerConnect oder ab dem Zeitpunkt wo der Spieler sich eingeloggt hat. Das musst du entscheiden und dann entsprechend den Timer dort einfügen.


  • public OnPlayerConnect(playerid)



    SetTimerEx("WelcomeMessage",1000*10,0,"i",playerid);


    forward WelcomeMessage(playerid);
    public WelcomeMessage(playerid);



    {
    SendClientMessage(playerid,-1,"Willkommen!");
    return 1;
    }


    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(43) : error 055: start of function body without function header
    C:\Users\Dave\Desktop\Hoe's Wonderland\filterscripts\Maps.pwn(45) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.



    Hmm... Was habe ich falsch gemacht :whistling:


    Mit freundlichen Grüßen
    JustMe.77 8)

  • Benutze das AntiCheat Include von Erikson.
    o\include\dutils.inc(196) : error 025: function heading differs from prototype
    pawno\include\dutils.inc(196) : error 021: symbol already defined: "AC_SetPlayerMoneyEx"
    include\dutils.inc(200) : error 017: undefined symbol "SetPlayerMoney"
    include\Waffenhack.inc(36) : warning 201: redefinition of constant/macro (symbol "GivePlayerWeapon")

  • Und wie lös ich die?


    Wird dir außerdem nicht klar, das man bei Warnings/Errors auch den dazugehörigen Quellcode benötigt?


    Ich hoffe deine Frage wird dir hier noch einmal beantwortet.

    Code
    o\include\dutils.inc(196) : error 025: function heading differs from prototype  -> Du hast ein Callback erstellt und es unterscheidet sich vom Forward
    pawno\include\dutils.inc(196) : error 021: symbol already defined: "AC_SetPlayerMoneyEx"  -> Wurde schon einmal deklariert
    include\dutils.inc(200) : error 017: undefined symbol "SetPlayerMoney"  -> Die Funktion kennt er nicht
    include\Waffenhack.inc(36) : warning 201: redefinition of constant/macro (symbol "GivePlayerWeapon")  -> du definierst GivePlayerWeapon neu


    Wo der Fehler jetzt genau liegt, kann man nur anhand des Quellcodes sagen.

  • o\include\dutils.inc(196) : error 025: function heading differs from
    prototype -> Du hast ein Callback erstellt und es unterscheidet sich
    vom Forward
    pawno\include\dutils.inc(196) : error 021: symbol already defined: "AC_SetPlayerMoneyEx" -> Wurde schon einmal deklariert
    include\dutils.inc(200) : error 017: undefined symbol "SetPlayerMoney" -> Die Funktion kennt er nicht
    include\Waffenhack.inc(36)
    : warning 201: redefinition of constant/macro (symbol
    "GivePlayerWeapon") -> du definierst GivePlayerWeapon neu


    SetPlayerMoney(playerid,howmuch) {
    PRIVATE_Last_Money[playerid]=howmuch;
    GivePlayerMoney(playerid,howmuch-GetPlayerMoney(playerid));
    }
    #pragma unused SetPlayerMoney