Beiträge von Jeffry

    Das könnte am Lag liegen.
    Versuche es so:
    ocmd:sethp(playerid,params[])
    {
    if(!IsAdmin(playerid,2))return noaccess
    if(AdminDuty[playerid]!=1)return SendClientMessage(playerid,GRAU,"Du bist nicht On-Duty.");
    new pid,heal;
    if(sscanf(params,"ui",pid,heal))return SendClientMessage(playerid,WEIß,"Verwendung: /sethp (Spieler/ID) (Heal)");
    if(!PlayerOnline(pid))return SendClientMessage(playerid,GRAU,"Dieser Spieler ist nicht erreichbar.");
    new str[145];
    format(str,sizeof(str),"%s %s hat dein Leben auf %i gesetzt.",RangName(playerid),PlayerName(playerid),heal);
    SendClientMessage(playerid,GRUEN,"Leben des Spielers gesetzt.");
    SetPlayerHealth(pid,heal);
    SetPlayerProgressBarValue(pid, pBar_Leben[pid], heal);
    return 1;
    }

    Debugge den Befehl bitte mal so:
    ocmd:pushpflanze(playerid, params[])
    {
    if(PlayerInfo[playerid][p_Admin] < 6)return 1;
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    printf("%f / %f / %f", x, y, z);
    for(new i=0; i < sizeof(DrugInfo); i++)
    {
    printf("i:%d | %f / %f / %f | %d", i, DrugInfo[i][d_PosX], DrugInfo[i][d_PosY], DrugInfo[i][d_PosZ], IsPlayerInRangeOfPoint(playerid, 1.5, DrugInfo[i][d_PosX], DrugInfo[i][d_PosY], DrugInfo[i][d_PosZ]));
    if(IsPlayerInRangeOfPoint(playerid, 1.5, DrugInfo[i][d_PosX], DrugInfo[i][d_PosY], DrugInfo[i][d_PosZ]))
    {
    printf("Setze zu 100");
    DrugInfo[i][d_Prozent] = 100;
    new str[145];
    format(str, sizeof(str), " Du hast die Pflanze %i auf 100 Prozent gesetzt.", i);
    SendClientMessage(playerid, 0xFF5559FF, str);
    UpdateDrugLabel(i);
    return 1;
    }
    }
    printf("Nicht in der Nähe.");
    return SendClientMessage(playerid, COLOR_GREY, "Es ist keine Drogenpflanze in deiner Nähe.");
    }


    Zwecks der Speicherung:
    Wo rufst du die Funktion auf?

    Du musst das return aus der Schleife nehmen:
    ocmd:pushpflanze(playerid, params[])
    {
    if(PlayerInfo[playerid][p_Admin] < 6)return 1;
    for(new i=0; i < sizeof(DrugInfo); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 1.5, DrugInfo[i][d_PosX], DrugInfo[i][d_PosY], DrugInfo[i][d_PosZ]))
    {
    DrugInfo[i][d_Prozent] = 100;
    new str[145];
    format(str, sizeof(str), " Du hast die Pflanze %i auf 100 Prozent gesetzt.", i);
    SendClientMessage(playerid, 0xFF5559FF, str);
    UpdateDrugLabel(i);
    return 1;
    }
    }
    return SendClientMessage(playerid, COLOR_GREY, "Es ist keine Drogenpflanze in deiner Nähe.");
    }

    Dann kannst du es so machen:
    format(query,sizeof(query),"SELECT * from user WHERE number like '%i'",newnumber);
    mysql_function_query(dbhandle,query,true,"CheckNumber","dd",playerid,newnumber);


    forward CheckNumber(playerid, nn);
    public CheckNumber(playerid, nn)
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows > 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Diese Nummer ist belegt");
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Diese Nummer ist frei");
    }
    return 1;
    }


    "nn" kannst du dann im public verwenden, das hat den Wert von newnumber (kannst es auch umbenennen, wie du willst).

    Button "Cancel" klickt.

    Ach das meinst du!


    Dann so, bei OnDialogResponse:
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == DIALOG_GAME)
    {
    if(response)
    {
    if(strval(inputtext) < 2500 || strval(inputtext) > 10000)
    {
    ShowPlayerDialog(playerid,DIALOG_GAME, DIALOG_STYLE_INPUT, "Set a bet", "Type in for how much money you want to buy a ticket.", "Buy", "Cancel");
    return SendClientMessage(playerid,0x00FF00FF, "{FF1717}ERROR:{FFFFFF} You must set a bet from 2.500$ to 10.000$ at least.");
    }
    new str[145];
    format(str, sizeof(str), "You have bought a ticket for %i $!", strval(inputtext));
    SendClientMessage(playerid,0x00FF00FF, str);
    new zahl = random(300001) + 100000;
    format(str, sizeof(str), "Ticketnumber: %d", zahl);
    if(random(2) == 0)
    {
    Showing[playerid] = 1;
    PlayerPlaySound(playerid,4201, 0.0, 0.0, 0.0);
    TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw4); //Win Textdraw
    TextDrawShowForPlayer(playerid, Textdraw6);
    TextDrawSetString(Textdraw2, str);
    SelectTextDraw(playerid, 0xFFFF0000);
    }
    else
    {
    Showing[playerid] = 1;
    PlayerPlaySound(playerid,1147, 0.0, 0.0, 0.0);
    TextDrawShowForPlayer(playerid, Textdraw0);
    TextDrawShowForPlayer(playerid, Textdraw1);
    TextDrawShowForPlayer(playerid, Textdraw2);
    TextDrawShowForPlayer(playerid, Textdraw3);
    TextDrawShowForPlayer(playerid, Textdraw5); //Loss Textdraw
    TextDrawShowForPlayer(playerid, Textdraw6);
    TextDrawSetString(Textdraw2, str);
    SelectTextDraw(playerid, 0xFFFF0000);
    }
    }
    else
    {
    //Cancel gedrückt
    inGame[playerid] = false;
    }
    return 1;
    }
    return 0;
    }






    Ich frag mich warum du dich als Ersteller so dumm anstellst, auf mich wirkt das wie fröhliges Rätselraten bis du jemand gefunden hast der das für dich macht.

    Ich glaube es geht los.
    Es ist völlig egal wie "dumm" sich jemand anstellt, wenn er nach Hilfe fragt, dann kann ihm auch geholfen werden, ohne dass er so dumm angemacht wird. Es wird schließlich keiner dazu gezwungen zu helfen, wenn du also nicht helfen willst, weil die Fragen deiner Meinung nach dumm sind, dann lasse es einfach, anstatt ihn zu kritisieren, dass er fragt, sowas ist respektlos. Hier trifft man mit "Es gibt keine dummen Fragen, sondern nur dumme Antworten." genau ins Schwarze.



    Dieses Forum ist ja schließlich dafür da um Fragen zu stellen. Einer lernt schneller, der andere langsamer. Deswegen sind seine Fragen noch lange nicht dumm. Für einige mögen die Fragen trivial sein, für andere eben nicht. Wenn ich eines überhaupt nicht leiden kann, dann Kritik an jemandem, der eine Frage stellt, und das gehört in dieses Forum absolut nicht. Wer nach Hilfe fragt, der bekommt sie auch anstandslos.

    Du musst es so machen:


    format(query,sizeof(query),"SELECT * from user WHERE number like '%i'",newnumber);
    mysql_function_query(dbhandle,query,true,"CheckNumber","d",playerid);


    forward CheckNumber(playerid);
    public CheckNumber(playerid)
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows > 0)
    {
    SendClientMessage(playerid,COLOR_WHITE,"Diese Nummer ist belegt");
    }
    else
    {
    SendClientMessage(playerid,COLOR_WHITE,"Diese Nummer ist frei");
    }
    return 1;
    }

    Vorhin hast du gesagt, es soll entfernt werden, wenn du das Textdraw entfernst also geklickt hast.
    Dann muss diese Zeile aber bei OnPlayerClickTextDraw hin, und nicht bei OnDialogResponse.

    if(inGame[playerid] != true)return SendClientMessage(playerid,0x00FF00FF, "{FF1717}ERROR: Close the Textdraws first.");
    Zu
    if(inGame[playerid] == true)return SendClientMessage(playerid,0x00FF00FF, "{FF1717}ERROR: Close the Textdraws first.");
    inGame[playerid] = true;
    Füge das über die ShowPlayerDialog Zeile im Befehl ein.



    Und es dann dort auf false setzen, wo du den Befehl wieder erlauben willst.