Beiträge von Jane

    danke jetzt nur noch für das aufladen des kontos also


    if(dialogid == DIALOG_BANK_ZUZAHLEN)
    {
    if(response)
    {
    if(strlen(inputtext)>0)
    {
    //wenn grösser >0
    new newgeld = sInfo[playerid][bankgeld];
    printf("Geld: %i ",newgeld);
    printf("input %i ",strval(inputtext));
    GivePlayerMoney(playerid,-strval(inputtext));
    newgeld = newgeld+strval(inputtext);
    sInfo[playerid][bankgeld] = newgeld;

    }
    else
    {
    //wenn weniger
    ShowPlayerDialog(playerid,DIALOG_BANK_ZUZAHLEN,DIALOG_STYLE_INPUT,"Geld abheben","Gebe den Betrag an.","OK","Abbrechen");
    }
    }
    else
    {
    //Abbruch
    return 1;
    }
    }
    return 1;



    auch mit begrenzung das was er auf der hand hat und eine begrenzung von 1 mio


    danke

    also der code sieht bis jetzt so aus aber die abfrage wie viel der hat und was er eingegeben hat funktioniert nicht :(


    if(dialogid == DIALOG_BANK_ABHEBEN)
    {
    if(response)
    {
    if(strlen(inputtext)>0)
    {
    //wenn grösser >0
    new string[128];
    if(sInfo[playerid][bankgeld] >= strval(inputtext))return SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du hast nicht genügend Geld!");
    new bgeld = sInfo[playerid][bankgeld];
    bgeld = bgeld-strval(inputtext);
    format(string,sizeof(string),"Abgehoben: %i$ Neuer Kontostand: %i$",strval(inputtext),bgeld); SCM(playerid,CL_GELB,string);
    printf("%i %i",inputtext,bgeld);
    sInfo[playerid][bankgeld] = bgeld;
    }
    else
    {
    //wenn weniger
    ShowPlayerDialog(playerid,DIALOG_BANK_ABHEBEN,DIALOG_STYLE_INPUT,"Geld abheben","Gebe den Betrag an.","OK","Abbrechen");
    }
    }
    else
    {
    //Abbruch
    return 1;
    }
    }

    hallo ich habe mal ein Banksystem angefangen bleibe aber beim abhebe vorgang hängen
    es funktioniert nicht ich habe den error array must be indexed bei inputtext aber beim register system hats auch funktioniert:D
    hier der code




    if(dialogid == DIALOG_BANK_ABHEBEN)
    {
    if(response)
    {
    if(strlen(inputtext)>0)
    {
    //wenn grösser >0
    new string[128];//habe das geld zwischengespeichert aber das ist absicht:D
    new bgeld = sInfo[playerid][bankgeld];
    bgeld = bgeld-inputtext;
    format(string,sizeof(string),"Abgehoben: %i$ Neuer Kontostand: %i$",inputtext,bgeld);
    SCM(playerid,CL_GELB,string);
    sInfo[playerid][bankgeld] = bgeld;
    }
    else
    {
    //wenn weniger
    ShowPlayerDialog(playerid,DIALOG_BANK_ABHEBEN,DIALOG_STYLE_INPUT,"Geld abheben","Gebe den Betrag an.","OK","Abbrechen");
    }
    }
    else
    {
    //Abbruch
    return 1;
    }
    }
    return 1;

    Hallo zusammen ich brauche mal schnelle hilfe und zwar möchte ich in die LS Bank ein Pickup rein machen wo dann ein Dialog per befehl geöffnet werden kann


    nun erscheint das Pickup aber nicht in der bank bei den coordinaten sondern ausserhalb der bank in den coordinaten wie mache ich das weg und in die bank?


    das enum wie ich die I punkte erstelle


    new bInfo[][buildingsEnum] = {
    //{243.0825,-178.3224,1.5822,285.3642,-41.5576,1001.5156,1}, //Ammunation
    //{212.1142,-202.1886,1.5781,372.4523,-133.5244,1001.4922,5},//Pizzaladen
    //{X,Y,Z,XI,YI,ZI,Interior}
    {1368.9996,-1279.7084,13.5469,285.3843,-41.7290,1001.5156,1},//LS-Ammu
    {1006.3157,-3964.0361,2.7000,1710.433715,-1669.379272,20.225049,18},//Adminbase Interior
    {},//Bankmenu i
    {1459.4253,-1009.9205,26.8438,2315.952880,-1.618174,26.742187,0},//Bank LS
    {}
    };


    Bei ongamemodeinit


    for(new i=0; i<sizeof(bInfo); i++)
    {
    CreatePickup(1239,1,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]);
    CreatePickup(1239,1,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz],i);
    Create3DTextLabel("Zum Betreten /enter oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_x],bInfo[i][b_y],bInfo[i][b_z]+1,8,0);
    Create3DTextLabel("Zum Verlassen /exit oder die Leertaste betätigen. ",CL_WHITE,bInfo[i][b_ix],bInfo[i][b_iy],bInfo[i][b_iz]+1,8.0,i);
    }
    //bank
    CreatePickup(1239,1,2345.952880,-1.618174,26.742187,0);
    Create3DTextLabel("Um das Bankmenu aufzurufen /bankmenu",CL_WHITE,2345.952880,-1.618174,26.742187,8,0);

    //ende aber das funktioniert nicht


    Server adresse
    server.marsrl.de:7777

    ok sieht jetzt so aus
    noch ein problem es funktioniert kein einziger befehl

    public PayDay()
    {
    for(new playerid = 0; playerid <MAX_PLAYERS; playerid++)

    {
    if(IsPlayerConnected(playerid))

    {
    if(sInfo[playerid][eingeloggt]==1)
    {
    SendClientMessage(playerid,CL_HROT,"-------------------Statistik-----------------");
    new year,month,day,a_level,string[299],ueberschrift[128];
    getdate(year,month,day);

    switch(sInfo[playerid][alevel])
    {
    case 0://User
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag User.");
    return 1;
    }
    case 1:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag VIP/Premium.");
    return 1;
    }
    case 2:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Supporter.");
    return 1;
    }
    case 3:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Moderator.");
    return 1;
    }
    case 4:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Super Moderator.");
    return 1;
    }
    case 5:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Admin.");
    return 1;
    }
    case 6:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Server Manager.");
    return 1;
    }
    case 7://stelvProjektleitung
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag stelv. Projektleitung.");
    return 1;
    }
    case 8://Projektleitung
    {
    new string1[128];


    SendClientMessage(playerid,CL_WHITE,"Info: Du hast Zahltag Projektleitung.");
    sInfo[playerid][geld] = GetPlayerMoney(playerid);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,sInfo[playerid][geld]);
    GivePlayerMoney(playerid,15200);
    a_level = sInfo [playerid][alevel];
    SendClientMessage(playerid,CL_KNALLROT,"Muss noch überarbeitet werden sInfo[i][geld] zu sInfo[i][bankgeld])");
    format(ueberschrift,sizeof(ueberschrift),"Zahltag von %s ",SpielerName(playerid));

    format(string,sizeof(string),"Dein Payday vom %i.%i.%i.\nName: %s Team-Rang: %s \nLevel: %i \nTeam-Gehalt: 15200% Alter Kontostand: %i$ ",day,month,year,SpielerName(playerid),a_rang[a_level],sInfo[playerid][level],sInfo[playerid][geld]);
    //SendClientMessage(playerid,CL_HROT,string);



    sInfo[playerid][geld] = GetPlayerMoney(playerid);
    format(string1,sizeof(string1),"\nNeuer Kontostand: %i",sInfo[playerid][geld]);
    //SendClientMessage(i,CL_HGRÜN,string1);
    SCM(playerid,CL_HGRÜN,string);
    SCM(playerid,CL_HGRÜN,string1);
    strcat(string,string1);
    SCM(playerid,CL_HGRÜN,string);
    //in string gespeichert



    SCM(playerid,CL_HROT,"-------------------Statistik-----------------");
    return 1;
    }
    }
    return 1;

    }


    }
    return 1;
    }
    return 1;

    }



    EDIT ich mache das ganze system NEU

    ^^was wie? auf der basis etwas durch worte umzusetzen bin ich absolut eine 0


    kannst du mir zeigen was ich ändern soll?


    so?SetTimerEx("PayDay",1000*60*60,1,"i",playerid);//60min


    der PayDay public aber was muss noch gemacht werden?

    Hallo zusammen


    ich bin so amateur von der Selbsteinschätzung ich weiss auch wie Timer etc funktionieren aber weiter komme ich nicht


    Nun zu den Fakten


    Ich habe versucht ein PayDay System zu erstellen wo Rechts vom Bild ingame die Statistik 1mal pro sek geupdatet wird nun leider schmiert der Server nach 60Sek nachdem ich mich eingeloggt habe ab und restartet sich


    Testen könnt ihr das ingame


    der crahsdetect error


    [13:09:22] Crash caused by gamemodes/XYZ.amx, see stack trace below
    [13:09:22] Stack trace (most recent call first):
    [13:09:22] TextDrawShowForAll (native) on line 1 in C:\Users\CYZ\Desktop\new\Pawnfox\PawnStuff\include\float.inc
    [13:09:22] operator+(Float:,_:) (entry point)



    Server.marsrl.de


    nun der Code zu dem System vlt findet ihr fehler


    Teil PaydaysInfo[playerid][exp] = cache_get_field_content_int(0,"PEXP",dbhandle);
    sInfo[playerid][paydayzeit] = cache_get_field_content_int(0,"PZEIT",dbhandle);

    SetTimer("PayDay",1000*60*60,1);//60min
    sInfo[playerid][tidpayday] = SetTimerEx("ZeitUpdatePayDay",1000*60,true,"i",playerid);




    public PayDay(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    if(sInfo[playerid][eingeloggt]==1)
    {
    SendClientMessage(playerid,CL_HROT,"-------------------Statistik-----------------");
    new year,month,day,a_level,string[299],ueberschrift[128];
    getdate(year,month,day);

    switch(sInfo[playerid][alevel])
    {
    case 0://User
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag User.");
    return 1;
    }
    case 1:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag VIP/Premium.");
    return 1;
    }
    case 2:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Supporter.");
    return 1;
    }
    case 3:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Moderator.");
    return 1;
    }
    case 4:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Super Moderator.");
    return 1;
    }
    case 5:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Admin.");
    return 1;
    }
    case 6:
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag Server Manager.");
    return 1;
    }
    case 7://stelvProjektleitung
    {
    SendClientMessage(playerid,-1,"Du hast Zahltag stelv. Projektleitung.");
    return 1;
    }
    case 8://Projektleitung
    {
    new string1[128];


    SendClientMessage(playerid,CL_WHITE,"Info: Du hast Zahltag Projektleitung.");
    sInfo[playerid][geld] = GetPlayerMoney(playerid);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,sInfo[playerid][geld]);
    GivePlayerMoney(playerid,15200);
    a_level = sInfo [playerid][alevel];
    SendClientMessage(playerid,CL_KNALLROT,"Muss noch überarbeitet werden sInfo[i][geld] zu sInfo[i][bankgeld])");
    format(ueberschrift,sizeof(ueberschrift),"Zahltag von %s ",SpielerName(playerid));

    format(string,sizeof(string),"Dein Payday vom %i.%i.%i.\nName: %s Team-Rang: %s \nLevel: %i \nTeam-Gehalt: 15200% Alter Kontostand: %i$ ",day,month,year,SpielerName(playerid),a_rang[a_level],sInfo[playerid][level],sInfo[playerid][geld]);
    //SendClientMessage(playerid,CL_HROT,string);



    sInfo[playerid][geld] = GetPlayerMoney(playerid);
    format(string1,sizeof(string1),"\nNeuer Kontostand: %i",sInfo[playerid][geld]);
    //SendClientMessage(i,CL_HGRÜN,string1);
    SCM(playerid,CL_HGRÜN,string);
    SCM(playerid,CL_HGRÜN,string1);
    strcat(string,string1);
    SCM(playerid,CL_HGRÜN,string);
    //in string gespeichert



    SCM(playerid,CL_HROT,"-------------------Statistik-----------------");
    return 1;
    }
    }
    return 1;
    }
    return 1;
    }
    return 1;

    }
    public ZeitUpdatePayDay(playerid)
    {
    //if(IsPlayerConnected(playerid))return 1;
    if(sInfo[playerid][paydayzeit]>=60)
    {
    sInfo[playerid][paydayzeit] = 0;
    sInfo[playerid][exp]=sInfo[playerid][exp]+1;
    SCM(playerid,CL_GELB,"Du hast Payday! Dein erfahrung im Spiel steigt um 1Punkt.");
    PayDay(playerid);
    if(sInfo[playerid][exp]==3)
    {
    new slevel,str[128];
    slevel = GetPlayerScore(playerid);
    slevel = slevel+1;
    SetPlayerScore(playerid,slevel);
    format(str,sizeof(str),"Dein Level ist auf %i angestiegen.Lasse dir deinen Payday im Dialog per /showpayday anzeigen.",slevel);
    SCM(playerid,CL_GELB,str);
    sInfo[playerid][exp] = 0;
    sInfo[playerid][paydaycheck]=1;
    return 1;
    }
    return 1;
    }
    sInfo[playerid][paydayzeit]=sInfo[playerid][paydayzeit]+1;
    return 1;
    }


    Statistik das was rechts ist

    public Statistikupdate(playerid)
    {
    new str[128];
    sInfo[playerid][geld]=GetPlayerMoney(playerid);
    sInfo[playerid][level]=GetPlayerScore(playerid);
    format(str,sizeof(str),"~n~Level: %i~n~Geld: %i$~n~Kontostand: %i$~n~Payday: %i/60 Minuten~n~Exp Level: %i/%i",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld],sInfo[playerid][paydayzeit],sInfo[playerid][exp],sInfo[playerid][nexp]);
    TextDrawSetString(Statistik1, str);
    TextDrawShowForPlayer(playerid,Statistiken);
    Statistikupdate(playerid);
    print("update statistik");
    return 1;
    }
    stock loadstat(playerid)
    {
    new str[128];

    format(str,sizeof(str),"~n~Level: %i~n~Geld: %i$~n~Kontostand: %i$~n~Payday: X/60 Minuten~n~",sInfo[playerid][level],sInfo[playerid][geld],sInfo[playerid][bankgeld]);
    Statistik1 = TextDrawCreate(495 ,113.8 ,str);
    TextDrawLetterSize(Statistik1,0.3,1.3);
    TextDrawColor(Statistik1 , CL_DGRÜN);
    TextDrawFont(Statistik1 , 1);
    TextDrawSetOutline(Statistik1 , true);
    TextDrawSetProportional(Statistik1 , true);
    TextDrawSetShadow(Statistik1 , 1);
    TextDrawShowForPlayer(playerid,Statistik1);
    SetTimerEx("Statistikupdate",500,1,"i",playerid);
    return 1;
    }
    stock Statistik(playerid)
    {
    Statistiken = TextDrawCreate(495 ,113.8 ,"Statistiken");
    TextDrawFont(Statistiken , 1);
    TextDrawLetterSize(Statistiken , 0.5, 1.5);
    TextDrawColor(Statistiken , CL_GELB);
    TextDrawSetOutline(Statistiken , true);
    TextDrawSetProportional(Statistiken , true);
    TextDrawSetShadow(Statistiken , 1);
    TextDrawShowForPlayer(playerid,Statistiken);
    return 1;
    }


    //Statistik
    Statistik(playerid);
    SetTimer("Statistikupdate",1000,false);
    loadstat(playerid);


    falls ihr fragen habt bitte melden


    MFG Jane