Beiträge von ErikSon

    Hey,
    habe ein Problem mit einer Funktion..


    Code:
    public OnPlayerClickPlayerTextDraw(playerid, PlayerText:playertextid){

    return CallLocalFunction("D_OnPlayerClickPlayerTextDraw","ii",playerid, PlayerText:playertextid);
    }


    Fehler:
    warning 213: tag mismatch


    Liegt an dem "PlayerText:playertextid" unter der Funktion 'CallLocalFunction'..
    Wie macht man das bei diesem Callback?..

    @[GeD]Max: Das ergibt keinen Sinn.. Du returnst den Code, aber machst dann noch Klammern auf :)



    ocmd:makeleader(playerid,params[]){
    if(SpielerInfo[playerid][pAlevel] < 6)return 1;
    new pID,string[144], aname[MAX_PLAYERS], frakid;
    GetPlayerName(playerid,aname,sizeof(aname));
    if(sscanf(params,"ui",pID,frakid))return SendClientMessage(playerid,Rot,"[FEHLER]{FFFFFF} Benutze: /makeleader [Name/ID] [0-10]");
    SpielerInfo[pID][pFraktion] = frakid;
    format(string,sizeof(string),"[INFO]{FFFFFF} %s %s hat dich zum Leader der Fraktion %s ernannt!",GetPlayerAdminRank(playerid),aname,GetPlayerFraktion(pID));
    return SendClientMessage(playerid,Rot,string);
    }

    So würd ich es dir empfehlen :)

    Warum machst du die Abfragen vom Knast, etc. in jeden Befehl? :o


    Mach es doch so:
    public OnPlayerCommandReceived(playerid, cmdtext[]){
    if(ImTutorial[playerid] != 0)return SendClientMessage(playerid,GRAU,"Du kannst keine Befehle nutzen,da du im Tutorial bist.");
    if(GetPVarInt(playerid,"Eingeloggt") == 0)return SendClientMessage(playerid,GRAU,"Du bist nicht eingeloggt!");
    if(Spieler[playerid][pAWAYFROMKEYBOARD] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist im AFK-Modus und kannst somit keine Befehle nutzen."),SendClientMessage(playerid,WRONGCMD,"BENUTZE: /back");
    if(Spieler[playerid][pInPrison] == 1)return SendClientMessage(playerid,GRAU,"Du bist im Prison.");
    if(Spieler[playerid][pFriedhof] == 1)return SendClientMessage(playerid,GRAU,"Du bist Tot.");
    if(Spieler[playerid][pDeath] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(Spieler[playerid][pJailed] != 0)return SendClientMessage(playerid,GRAU,"Du bist im Gefängnis.");
    if(Spieler[playerid][pTazerd] == 1)return SendClientMessage(playerid,GRAU,"Du bist K.O/getazert.");
    if(Spieler[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    return 1;
    }


    COMMAND:quitjob(playerid,params[])
    {
    #pragma unused params
    if(isPlayerInJob(playerid,0))return SendClientMessage(playerid,GRAU,"Du hast keinen Job!");
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,GRAU,"Du kannst den Job nur außerhalb eines Fahrzeugs kündigen!");
    new jobtimer = Spieler[playerid][pJobSperre]-gettime();
    if(jobtimer > 0)
    {
    format(string,sizeof(string),"Du kannst erst in %i:%02d Minuten wieder einen neuen Job annehmen!",floatround(jobtimer/60),floatround(jobtimer%60));
    return SendClientMessage(playerid,GRAU,string);
    }
    SendClientMessage(playerid,WEISS,"Du hast deinen Job gekündigt!");
    Spieler[playerid][pJob] = 0;
    Spieler[playerid][WorkInJob] = 0;
    JobExit(playerid);
    return 1;
    }


    So dann halt alle Commands..
    Dadurch sparst du eine Menge Zeilen & Zeit..


    Jeffry: Das kann man hinzufügen.. Das wär immer noch besser als das dauernd in jeden Befehl zu klatschen

    Aktivere bei dir mal die Bildschirmsperre, danach gehst du auf Sicherheit
    dort sollte ein Punkt Namens "Telefon sperren nach" dort wählst du jetzt die Zeit aus,
    wenn die Zeit abgelaufen ist, wird die sperre aktiviert wenn nicht kannst du ohne Sperre an dein Handy


    Finde da nicht's..
    RayJohnson: Nein, eine App, womit man de Bildschirm sperren kann..


    Schaust du mal in deine Handyeinstellungen :DDD


    Ja, aber da muss ich dann jedes mal meinen Code eingeben.. Dies dauert mir zu lange, da ich oft mal mein Handy sperre und nach' paar Sekunden wieder was dran machen will..
    Und das jedes mal Code ein-/ausschalten (in den Einstellungen) dauert mir zu lange.


    @Waldläufer: Nein, eine App, die den Bildschirm sperrt, wenn ich sie öffne, ansonsten keine Sperre..

    Hey,
    suche eine App, die den Bildschirm sperrt..
    Sprich, wenn ich mein Handy normal anmache, habr ich keine Sperre.. Wenn ich dann aber die App starte, dann muss ich, wenn ich dann mal den Bildschirm anmache, einen Code eingeben.


    Dies ist zum Beispiel gut, wenn man sein Handy mal zum Aufladen legt, dass dann keiner dran kann..



    Kennt jemand so eine App?
    Danke im Voraus!


    #Handy

    AcceptStats[playerid] = 999;
    ShowStats(AcceptStats[playerid], playerid);
    Sinn?
    Du setzt den Wert der Variable auf 999 und versuchst dann, die Statistik anzuschauen ..


    Setze die Variable erst am Ende dieses Codes, sprich unter der Message..

    Hier, musst dann eben noch die Adminnamen und die Dialog-ID anpassen..
    static const Adminname[][] = {"User","Supporter","Administrator","High Administrator","Projektleiter"}; //Anpassen


    #define dAdmins 500 //Anpassen


    ocmd:admins(playerid){
    new str[512],buffer[64],p_name[MAX_PLAYER_NAME];
    for(new i = 0; i<max_players; i++){
    if(!IsPlayerConnected(i))continue;
    if(GetPVarInt(playerid,"Adminlevel") <= 0)continue;
    GetPlayerName(i,p_name,MAX_PLAYER_NAME);
    format(buffer,sizeof(buffer),"'%s' %s%c",Adminname[GetPVarInt(i,"Adminlevel")],p_name,(i == MAX_PLAYERS) ? '\0' : '\n'),strins(str,buffer,strlen(str),sizeof(str));
    }
    if(strlen(str))return ShowPlayerDialog(playerid,dAdmins,DIALOG_STYLE_MSGBOX,"Admins online",str,"Okay","");
    else return ShowPlayerDialog(playerid,dAdmins,DIALOG_STYLE_MSGBOX,"Admins online","Zur Zeit sind keine Admins online!","Okay","");
    }


    //Edit: Bearbeitet

    Hier mal 2 Methoden:
    (Empfehle dir Methode 2)



    //Methode 1
    new bool:LSPDTuer1,
    bool:LSPDTuer2;


    if (strcmp("/pdtuer", cmdtext, true, 10) == 0)
    {
    if(!IstSpielerInFraktion(playerid, 1))return SendClientMessage(playerid,ROT, "Du bist kein Beamter.");
    if (IsPlayerInRangeOfPoint(playerid,3.0, 250.48875, 64.26849, 1002.59192)){ // LSPD DOOR 1
    if(!LSPDTuer1){
    MoveDynamicObject (LSPDinnen1, 250.48875, 64.26849, 1002.59192,3);
    LSPDTuer1 = true;
    }
    else if(LSPDTuer1){
    MoveDynamicObject (LSPDinnen1,250.48875, 62.26849, 1002.59192,3);
    LSPDTuer1 = false;
    }
    }
    else if (IsPlayerInRangeOfPoint(playerid,3.0, 245.46582, 72.40785, 1002.59192)){ // LSPD DOOR 2
    if(!LSPDTuer2){
    MoveDynamicObject (LSPDinnen2,245.46582, 72.40785, 1002.59192,3);
    LSPDTuer2 = true;
    }
    else if(LSPDTuer2){
    MoveDynamicObject (LSPDinnen2,245.46582, 70.40785, 1002.59192,3);
    LSPDTuer2 = false;
    }
    }
    return 1;
    }




    //Methode 2


    new bool:LSPDTuer1,
    bool:LSPDTuer2;


    if (strcmp("/pdtuer", cmdtext, true, 10) == 0)
    {
    if(!IstSpielerInFraktion(playerid, 1))return SendClientMessage(playerid,ROT, "Du bist kein Beamter.");
    if (IsPlayerInRangeOfPoint(playerid,3.0, 250.48875, 64.26849, 1002.59192)){ // LSPD DOOR 1
    if(!LSPDTuer1)MoveDynamicObject (LSPDinnen1, 250.48875, 64.26849, 1002.59192,3);
    else if(LSPDTuer1)MoveDynamicObject (LSPDinnen1,250.48875, 62.26849, 1002.59192,3);
    return LSPDTuer1 = !LSPDTuer1;
    }
    else if (IsPlayerInRangeOfPoint(playerid,3.0, 245.46582, 72.40785, 1002.59192)){ // LSPD DOOR 2
    if(!LSPDTuer2)MoveDynamicObject (LSPDinnen2,245.46582, 72.40785, 1002.59192,3);
    else if(LSPDTuer2)MoveDynamicObject (LSPDinnen2,245.46582, 70.40785, 1002.59192,3);
    return LSPDTuer2 = !LSPDTuer2;
    }
    return 1;
    }


    //Edit: Achja, das Problem war, dass du ein "DynamicObject" erstellt hast, aber versucht hast, es mit "MoveObject" zu bewegen.. -> "MoveDynamicObject"