Beiträge von Sharpadox

    Nur wegen sscanf wird text nicht automatisch definiert..
    Man muss schon ein "new text[64]" haben 8|



    ocmd:answer(playerid,params[])
    {
    new pID, str[128], text[128];
    if(!IstSpielerAdmin(playerid)) return SCM(playerid,Rot,"[Info]: Du bist nicht befugt!");
    if(sscanf(params,"us",pID,text)) return SCM(playerid,Rot,"Usage: /answer [Name/ID] [Text]");
    format(str,sizeof(str),"Answer: %s",text);
    SCM(pID,Blau,str);
    return 1;
    }

    Ja das weiß ich schon,
    aber ich möchte, dass man den Befehl auch in der Console benutzen kann.
    Wenn man eingibt: "cnnn lol" soll es InGame als "/cnnn lol" ausgegeben werden.

    Verstehe ich nicht so ganz..
    Du benutzt /answer 0 Hallo


    Dann steht da ganz oft

    Zitat

    Answer:
    Answer:
    Answer:
    Answer:
    Answer:

    ?


    Weil ein Problem am Command sehe ich auf dem ersten Blick nicht

    Kaliber ist ein echt guter Scripter und bietet Scripting Unterricht an.
    Das kostet dich dann zwar 10€ PSC, aber dafür bringt er dir bei, was
    du willst. Ohne monatl. Kosten oder Sonstiges :D


    Das Problem ist doch schon gelöst ^^


    Zitat

    Der Beitrag von »Travelga« (Heute, 15:04) wurde aus folgendem Grund vom Autor selbst gelöscht: Ja geht danke dir (Heute, 15:05).

    Hey Brotfische,


    Ich habe mich gefragt, ob es möglich ist Rcon- bzw. Consolebefehle zu erstellen.
    zB: Man erstellt den Befehl /cnnn (Gametext) und macht den zu einem Rcon-/Consolecommand.
    Wenn man dann in der Console "/cnnn 3 Das ist ein text" eingibt, soll der Gametext erscheinen.
    Also ist so etwas möglich? Einen Befehl zu erstellen, denn man per Console benutzen kann?

    Hier mal ganz grob ein Beispiel..



    new pMinuten[MAX_PLAYER_NAME], pStunden[MAX_PLAYER_NAME];
    forward TimeTimer(playerid);


    SetTimer("TimeTimer",1000,true);


    public TimeTimer(playerid)
    {
    pMinuten[playerid]++;
    if(pMinuten[playerid] >= 60)
    {
    pStunden[playerid]++;
    pMinuten[playerid] = 0;
    }
    return 1;
    }


    Und das dann abspeichern..


    Kannst es auch mit Enum oder sonstwas abspeichern

    Der Fehler lag am Stock.. habs gefixxt und getestet.


    So gehts :thumbup:


    ocmd:ask(playerid,params[])
    {
    new input[128],string[128], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    if(sscanf(params,"s",input))return SCM(playerid,-2,"Usage:/ask [question]");
    format(string,sizeof(string),"User %s asked: %s",pname,input);
    SendAdminMessage(Orange,string,1);
    return 1;
    }


    stock SendAdminMessage(color, const message[], adminlevel)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IstSpielerAdmin(i, adminlevel))
    {
    SendClientMessage(i, color, message);
    }
    }
    return 1;
    }


    fc?



    Hier versuch es mal so :D



    ocmd:ask(playerid,params[])
    {
    new input[128],string[128], pname[MAX_PLAYER_NAME]
    GetPlayerName(playerid,pname,sizeof(pname));
    if(sscanf(params,"s",input))return SCM(playerid,-2,"Usage:/ask [question]");
    format(string,sizeof(string),"User %s asked: %s",pname,input);
    SendAdminMessage(Orange,string);
    return 1;
    }


    stock SendAdminMessage(color, const message[], adminlevel)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IstSpielerAdmin(i, adminlevel))
    {
    SendClientMessage(i, color, const message[]);
    }
    }
    return 1;
    }

    PWN-Taste nicht gefunden? :D
    Ich verstehe nicht, wie du hier versuchst die Zeit abzuspeichern :D


    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new tag,monat,jahr;
    new string[20];
    getdate(jahr,monat,tag);
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(string,sizeof(string),"%02d/%02d/%d",tag,monat,jahr);
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Premiumlevel",GetPVarInt(playerid,"Premiumlevel"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    dini_Set(Spielerdatei,"lastlogin",string);
    }
    return 1;
    }


    Laden Stock


    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Premiumlevel",dini_Int(Spielerdatei,"Premiumlevel"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }

    DAnn sollte es gehen..
    Oder mach es so mit dem CreateAccount


    stock CreateAccount(playerid, pass[])
    {
    new query[256],pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, MAX_PLAYER_NAME);
    mysql_real_escape_string(pname,pname);
    mysql_real_escape_string(pass,pass);
    format(query, sizeof(query), "INSERT INTO `accounts` (`Name`, `Passwort`) VALUES ('%s', '%s')", Name, pname);
    mysql_query(query);
    return true;
    }


    Und diese Anderen Sachen in einem anderen stock.. zB so:


    stock ResetPlayer(playerid)
    {
    SpielerInfo[playerid][pLevel]=NoobLevel;
    SpielerInfo[playerid][hID]=-1;
    SpielerInfo[playerid][pSkin]=78;
    strins(SpielerInfo[playerid][pRankname],"Unknown",0);
    SpielerInfo[playerid][ActivateSoundeffects]=1;
    GivePlayerMoney(playerid,NoobMoney);
    SetPlayerScore(playerid,NoobLevel);
    return 1;
    }


    Und dass ResetPlayer machst du dann da rein, wo du dein CreateAccounts drinnen hast. (Also im RegisterDialog)