Beiträge von rocco95


    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if (GetPVarInt(playerid,"AFK") == 1)
    {
    if(strcmp("/back", cmdtext))
    {
    return SendClientMessage(playerid, ROT, "Im AFK-Modus kannst du keine Befehle ausführen.");
    }
    }
    else
    {
    return SendClientMessage(playerid, ROT, "Unbekannter Befehl.");
    }
    return 1;
    }


    so nun gehen im afk modus nur die unbekannten befehle nicht die normalen gehen noch..

    also ich habe mir das sscanf include geholt aber meine include hieß sscanf2.inc d.h. ich msuste auch #include<sscanf2> machen damit es ging ist es nicht definiert oben richtig also richtig includet bekommst du die fehler meldung die oben beschrieben wird

    @alakska ich weiß das sich heute stemaless un so machen (wollte es aber nich so rüber bringen) kann aber steam kann man nich crakcne un wenn ja dann erzähl mir wie das geht (natürlich nich hier offen...)

    ich möchte ein sms system schreiben wo man die numemr statt der id nutzt


    aber wie kann ich den spieler zu der eingegeben nummer abschreiben ?


    wäre nett wenn ihr ein kleines beispiel hier einbringen könntet


    un dann möchte ich auch noch den namen abrufen des spielers dem die nummer gehört


    ich gebe hier mal meinen code rein der aber mit sicherheit falsch sein wird



    ocmd:sms(playerid,params[])
    {
    new Account[64];
    format(Account, sizeof(Account), "/Accounts/%s", SpielerName(playerid));
    if (getInt:Account("Handy") == 1)
    {
    new nummer,text[128];
    if (sscanf(params, "ds",nummer,text))
    {
    return SendClientMessage(playerid, ROT, "USAGE: /sms [NUMMER] [NACHRICHT]");
    }
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(GetPVarInt(i,"Handynummer") != nummer)continue;
    {
    new targetname[MAX_PLAYER_NAME];
    new pID = GetPlayerName(i,targetname,sizeof(targetname));
    if (GetPVarInt(playerid,"Handyan") == 0)
    {
    return SendClientMessage(playerid, ROT, "Der Spieler hat sein Handy aus.");
    }
    new pmsg[128];
    new tmsg[128];
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname,sizeof(pname));
    format(pmsg,sizeof(pmsg), "SMS an %s: %s",targetname,text);
    format(tmsg,sizeof(tmsg), "SMS von %s: %s",pname,text);
    SendClientMessage(playerid,GELB,pmsg);
    SendClientMessage(playerid,GELB,"Die SMS hat dich 1$ gekostet.");
    SendClientMessage(pID,GELB,tmsg);
    GivePlayerMoney(playerid,-1);
    }
    }
    }
    else
    {

    }
    return 1;
    }

    folgende bitte hätte ish:


    ich möchte dass die spieler im afk modus keine befehle durchführen können.


    ich arbeite mit ocmd


    wollte es bei OnPlayerCommandText abfragen nur leider gehen die befehle im afk modus immernoch.


    afk teil:



    ocmd:afk(playerid)
    {
    if (GetPVarInt(playerid,"AFK") == 0)
    {
    new pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,pname, sizeof(pname));
    new afkmsg[128];
    format(afkmsg,sizeof(afkmsg), "%s ist nun AFK.",pname);
    SendClientMessageToAll(AFK,afkmsg);
    SetPlayerColor(playerid,0x000000FF);
    SetPVarInt(playerid,"AFK", 1);
    }
    else
    {

    }
    return 1;
    }



    OnPlayerCommandText teil:



    public OnPlayerCommandText(playerid,cmdtext[])
    {
    if (GetPVarInt(playerid,"AFK") == 1)
    {
    return SendClientMessage(playerid, ROT, "Im AFK-Modus kannst du keine Befehle ausführen.");
    }
    else
    {
    return SendClientMessage(playerid, ROT, "Unbekannter Befehl.");
    }
    }

    wieso das was ich brauch ruf ich doch oben drüber ab mit dem bankneu oder etwa nich ?


    ich habe erst 3 gleiche warnings erhalten jetzt erhalte ich nur nopch einen mit folgenden zeilen:



    format(bankneu,sizeof(bankneu), "Neues Bankkonto", "Du hast ein Bankkonto eröffnet. \nKontonummer: %d \nKontosstand: 20000$",zgesamt);
    ShowPlayerDialog(playerid, DIA_BANK_NEW, DIALOG_STYLE_MSGBOX, bankneu,"OK","");

    wieso bekomm ich bei dieser zeile diesen warning (siehe überschrift) ?



    format(bankneu,sizeof(bankneu), "Neues Bankkonto", "Du hast ein Bankkonto eröffnet. \nKontonummer: %d \nKontosstand: 20000$","OK","",zgesamt);
    ShowPlayerDialog(playerid, DIA_BANK_NEW, DIALOG_STYLE_MSGBOX, bankneu);

    ich möchte in meinen dialogen etwas nerviges vorbeugen (mit pickup)


    und zwar möchte ich das wenn man den dialog responsed ncith gleich den dialgog wieder öffnet weil man im pickup steht)


    deshalb habe ich das mit SetPVarInt(playerid,"Dialog",1);


    gemacht so weit so gut der dialog öffnet sich auch nicht nochmal.


    aber nun möchte ich ja das pvarint mit einem timer wieder auf 0 setzen


    damit man so 3 sekunden zeit hat nach dem response eines dialoges um das pickup zu verlassen


    nur leider wird der wert für den dialog nicht wieder auf 0 gesetzt d.h. heißt wenn ich einen dialog response geht kein pickup mehr



    meine scripte teil für den shop(24/7):



    if (dialogid == DIA_SHOP)
    {
    if (response)
    {
    if (listitem ==0)
    {
    if (getInt:Account("Handy") == 1)
    {
    return SendClientMessage(playerid, ROT, "Du hast bereits ein Handy.");
    }
    else
    {
    GivePlayerMoney(playerid, -500);
    setInt:Account("Handy",1);
    setInt:Account("Handyguthaben",30);
    Save(Account);
    SendClientMessage(playerid, CHAT, "Handy gekauft.");
    SendClientMessage(playerid, CHAT, "Du hast 30$ Startguthaben (1$ pro SMS).");
    }
    }
    if (listitem ==1)
    {
    if (getInt:Account("Navi") == 1)
    {
    return SendClientMessage(playerid, ROT, "Du hast bereits ein Navigationssystem.");
    }
    else
    {
    GivePlayerMoney(playerid, -250);
    setInt:Account("Navi",1);
    Save(Account);
    SendClientMessage(playerid, CHAT, "Navigationssystem gekauft.");
    }
    }
    if (listitem ==2)
    {
    if (getInt:Account("Radio") == 1)
    {
    return SendClientMessage(playerid, ROT, "Du hast bereits ein Radio.");
    }
    else
    {
    GivePlayerMoney(playerid, -100);
    setInt:Account("Radio",1);
    Save(Account);
    SendClientMessage(playerid, CHAT, "Radio gekauft.");
    }
    }
    if (listitem ==3)
    {
    if (getInt:Account("Handy") == 0)
    {
    return SendClientMessage(playerid, ROT, "Du brauchst dafür ein Handy.");
    }
    else
    {
    if (getInt:Account("Handyguthaben")+50 >100)
    {
    return SendClientMessage(playerid, ROT, "Du kannst nicht mehr als 100$ Handyguthaben besitzen.");
    }
    else
    {
    setInt:Account("Handyguthaben",getInt:Account("Handyguthaben")+50);
    SendClientMessage(playerid,CHAT, "Handyguthaben gekauft.");
    }
    }
    }
    }
    SetTimer("Dialogoff",3000,false);
    }


    und hier die timer ziel funktion:



    stock Dialogoff(playerid)
    {
    return SetPVarInt(playerid,"Dialog",0);
    }


    wieso wird der wert nicht wieder auf 0 gesetzt ?


    ich hab auch kein forward oben


    und error meldung hab ich auch keine

    beim kauf eines handys bekommt der spieler eine zufällige nummer.


    diese soll dann auch im chat angezeigt werden mit Deine Handynummer lautet:


    aber nach dem doppelpunkt steht dann statt der nummer irwelcher mist da.


    hier mein script.



    if (listitem ==0) //ab hier geht der handy teil los
    {
    if (getInt:Account("Handy") == 1)
    {
    return SendClientMessage(playerid, ROT, "Du hast bereits ein Handy.");
    }
    else
    {
    new Handynummer;
    Handynummer = random(876543)+123456;
    setInt:Account("Handynummer",Handynummer);
    GivePlayerMoney(playerid, -500);
    setInt:Account("Handy",1);
    setInt:Account("Handyguthaben",30);
    Save(Account);
    SendClientMessage(playerid, CHAT, "Handy gekauft.");
    SendClientMessage(playerid, CHAT, "Du hast 30$ Startguthaben (1$ pro SMS).");
    new nummermsg[128];
    format(nummermsg,sizeof(nummermsg),"Deine Handynummer lautet: %s.",Handynummer);
    SendClientMessage(playerid, CHAT, nummermsg);
    }
    } //hier ist der handy teil zu ende