Beiträge von carLos186

    Hey, hab nen typ missmatch fehler bei der if(wantedlabel[playerid][i].. zeile,
    kann mir wer helfen, sodass ich meine fehler mehr bekomme?



    new PlayerText3D:wantedlabel[MAX_PLAYERS][MAX_PLAYERS];
    CreateWantedLabel(playerid)
    {
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i) && IsPlayerCop(i) && sInfo[playerid][wanteds] > 2)
    {
    if(wantedlabel[playerid][i] == -1)
    {
    new string[256];
    format(string,sizeof(string),"hello");
    wantedlabel[playerid][i] = CreatePlayer3DTextLabel(i,string,COLOR_KNALLROT,0.0,0.0,1.0,50.0,playerid,INVALID_VEHICLE_ID, 1);
    }
    }
    }
    return 1;
    }

    Okay so funktioniert es, aber kann ich den string denn dann auch unendlich groß machen? Weil ab einer größe von 1405 bekam ich bei kompilieren vorhin so eine komische meldung mit der ich nichts anfangen konnte

    Hey ich bins mal wieder, habe ein problem mit der größe des 'gesamtstrings' oder so, weiß ich nicht genau.
    aufjedenfall kompliliert er schon sofort mit ner komischen meldung, irgendwas von byte größen


    naja wenn ich ingame /stats mache kommt unknown command, die variablen braucht ihr euch eig nicht angucken da ich alles getestet habe und an den liegt es nicht..
    wenn man die letzten beiden den gesamtstring auf ca 1000 macht und format(string5...) ausklammert geht es..



    ShowStats(playerid,targetid)
    {
    new sex[30],spawn[30],nextlevelcost,nextlevel;
    if(sInfo[playerid][gender] == 1) sex = "männlich";
    else if(sInfo[playerid][gender] == 2) sex = "weiblich";
    if(sInfo[playerid][spawnpoint] == SPAWN_LS) spawn="LS";
    else if(sInfo[playerid][spawnpoint] == SPAWN_SF) spawn="SF";
    nextlevel = sInfo[playerid][level]*4+8;
    nextlevelcost = sInfo[playerid][level]*25000;
    new ddays=0,dhours=0,dminutes=0,idays=0,ihours=0,iminutes=0;
    if(sInfo[playerid][donatortime] > 0)
    {
    new timenow=gettime();
    new dresttime=sInfo[playerid][donatortime]-timenow;
    ddays = dresttime/86400;
    dhours = (dresttime-ddays*86400)/3600;
    dminutes = (dresttime-(ddays*86400+dhours*3600))/60;
    }
    if(sInfo[playerid][invitesperre] > 0)
    {
    new timenow=gettime();
    new iresttime=sInfo[playerid][invitesperre]-timenow;
    idays = iresttime/86400;
    ihours = (iresttime-idays*86400)/3600;
    iminutes = (iresttime-(idays*86400+ihours*3600))/60;
    }
    new orgname[256];
    format(orgname,sizeof(orgname),"Keine Organisation");
    for(new i=0;i<sizeof(orgInfo);i++)
    {
    if(sInfo[playerid][orgid] != orgInfo[i][org_id]) continue;
    orgname = orgInfo[i][org_name];
    }
    new caption[50],string1[256],string2[256],string3[256],string4[256],string5[256],savestrings[2000],fID=sInfo[playerid][fraktion];
    format(caption,sizeof(caption),"Statistiken von %s",getPlayerName(playerid));
    format(string1,sizeof(string1),"Level:[%i] Geschlecht:[%s] Alter:[%i] Spawnenergie:[%i] Geld:[$%s($+%s)] Tel.:[%i]",sInfo[playerid][level],sex,sInfo[playerid][older],sInfo[playerid][spawnhealth],GetPoint(sInfo[playerid][money]),GetPoint(sInfo[playerid][bank]),sInfo[playerid][number]);
    format(string2,sizeof(string2),"Accounttyp:[%s] Ehe:[%s] Spielzeit:[%s] Spawn:[%s] Respekt:[%i/%i] NextLevel:[%s$] Eventitems:[%i]",GetAccountTypeName(playerid),sInfo[playerid][ehe],GetPoint(sInfo[playerid][spielstunden]),spawn,sInfo[playerid][respekt],nextlevel,GetPoint(nextlevelcost),sInfo[playerid][eventitems]);
    if(sInfo[playerid][donator] == 1 && sInfo[playerid][invitesperre] > 0) format(string3,sizeof(string3),"Verwarnungen:[%i/3] Donator-Restzeit:[%i Tage, %i Stunden %i Minuten] Invitesperre:[%i Tage, %i Stunden %i Minuten] Minuten seit Payday:[%i]",sInfo[playerid][warns],ddays,dhours,dminutes,idays,ihours,iminutes,sInfo[playerid][paydaytime]);
    else if(sInfo[playerid][donator] == 0 && sInfo[playerid][invitesperre] == 0) format(string3,sizeof(string3),"Verwarnungen:[%i/3] Invitesperre:[Keine Invitesperre] Minuten seit Payday:[%d]",sInfo[playerid][warns],sInfo[playerid][paydaytime]);
    else if(sInfo[playerid][donator] == 1 && sInfo[playerid][invitesperre] == 0) format(string3,sizeof(string3),"Verwarnungen:[%i/3] Donator-Restzeit:[%i Tage, %i Stunden %i Minuten] Invitesperre:[Keine Invitesperre] Minuten seit Payday:[%i]",sInfo[playerid][warns],ddays,dhours,dminutes,sInfo[playerid][paydaytime]);
    else if(sInfo[playerid][donator] == 0 && sInfo[playerid][invitesperre] > 0) format(string3,sizeof(string3),"Verwarnungen:[%i/3] Invitesperre:[%i Tage, %i Stunden %i Minuten] Minuten seit Payday:[%i]",sInfo[playerid][warns],idays,ihours,iminutes,sInfo[playerid][paydaytime]);
    format(string4,sizeof(string4),"Team:[%s] Organisation:[%s] Rank:[%s] Job:[%s]",fInfo[fID][f_name],orgname,GetPlayerRankName(playerid),GetPlayerJobName(playerid));
    format(string5, sizeof(string5),"Materialien:[%i(+%i)] Drogen:[%ig(+%ig)] HackingCodes:[%i(+%i)/100] illegale Fische:[%i(+%i)]",sInfo[playerid][mats],sInfo[playerid][savemats],sInfo[playerid][drogen],sInfo[playerid][savedrogen],sInfo[playerid][codes],sInfo[playerid][savecodes],sInfo[playerid][fische],sInfo[playerid][savefische]);
    format(savestrings,sizeof(savestrings),"[Account]\n%s\n%s\n%s\n\n[Beruf]\n%s\n\n[Besitz]\n%s",string1,string2,string3,string4,string5);
    ShowPlayerDialog(targetid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,caption,savestrings,"Schließen","");
    return 1;
    }

    Hey, @Jeffry ich makiere dich mal direkt da du eigl. mitallem auskennst :D


    Hatte folgende Idee:
    Ich speichere in 'ban_dauer' die bandauer z.b. 5 Minuten. Ich rechne also gettime()+5*60 da die 5 Minuten ja in Sekunden umgewandelt werden müssen. Soweit so gut.
    wenn ich jetzt aber ausrechnen will wie lange ich noch gebannt bin failt die Rechnung da ddays sowie stunden ja in den Minus Bereich gehen.
    Hat jemand eine einfachere/richtige Lösung parrat?
    Hoffe ihr habt verstanden was ich meine :D
    Grüße

    new resttime=ban_dauer-gettime(),ddays,dhours,dminutes;
    days = resttime/86400;
    hours = (resttime-days*86400)/3600;
    minutes = (resttime-(days*86400+hours*3600))/60;
    format(dauerstate,sizeof(dauerstate),"%s Tage %s Stunden und %s Minuten",days,hours,minutes);

    klar da ist doch ein datensatz^^


    allerdings hab ich jetzt einen einfacheren weg gefunden, zudem hat das script komischerweise von oben auf einmal funktioniert, naja ich danke dir trotzdem^^

    Hey, ich habe ein Problem:
    Ich möchte aus einer Tabelle 'bannedplayers' ein paar Felder auslesen.. allerdings bleiben meine BanInfo-Variable immer leer.
    Und er printet auch nicht das es keine gebannten User gibt, kann mir wer helfen und mich evtl. aufklären? :)


    public OnBannedPlayersLoad()
    {
    new num_fields, num_rows;
    cache_get_data(num_rows,num_fields,dbhandle);
    if(num_rows==0) return printf("Es gibt keine gebannten User");
    for(new i=0;i<num_rows;i++)
    {
    new tempname[MAX_PLAYER_NAME],tempname2[MAX_PLAYER_NAME],tempgrund[256],tempdate[256];
    cache_get_field_content(i,"ban_username",tempname,dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_admin",tempname2,dbhandle,MAX_PLAYER_NAME);
    cache_get_field_content(i,"ban_grund",tempgrund,dbhandle,256);
    cache_get_field_content(i,"ban_date",tempdate,dbhandle,256);
    banInfo[i][ban_username] = tempname;
    banInfo[i][ban_admin] = tempname2;
    banInfo[i][ban_grund] = tempgrund;
    banInfo[i][ban_date] = tempdate;
    banInfo[i][ban_id] = cache_get_field_content_int(i,"ban_id",dbhandle);
    banInfo[i][ban_dauer] = cache_get_field_content_int(i,"ban_dauer",dbhandle);
    }
    return 1;
    }