Beiträge von janpplayer

    mach es so


    du speicherst einfach die verschiedenen zeilen ab


    dafür brauchst du 2 variablen und ein define


    einmal
    #define MAX_LISTITEMS 64 hier musst du die maximale menge für deine listitems geben das muss man damit man den string Listitem eine maximalzahl geben kann


    new AktuellListItem[playerid]; damit du die zeile hast . Diese Variable setzt du bei jedem Öffnen oder Schließen des Dialogs auf 0 und immer wenn du ihn öffnest und dann eine zeile kommt immer +1 damit du die 2te varible benutzen kannst
    2tens


    new Listitem[playerid][MAX_LISTITEMS][MAXIMALE LÄNGE DER ZEILE]; in diesen schreibst du jede zeile rein bei jeder zeile die hinzukommt setzt du einfach die andere varible +1 und wenn du später den DIALOG hast kannst du mit der playerid+listitem die zeile ausgeben ganz einfach


    3tens

    diese funktion geht doch nur für bots wie soll denn der server dem client sagen das er das machen soll?!


    außerdem kommt die zeit dann vor allem was man schreibt sogar befehle oder ka was und man könnte mir der uhrzeit betrügen da durch /timestamp die uhrzeit von dem eigenen pc genommen wir und nicht halt server side wie gesagt Client seitig..

    aber man kann das ja auch scriptseitig machen damit nicht jeder user das machen muss dann kann man nit sagen hatte die zeit nicht an und soo :


    public OnPlayerText(playerid, text[])
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,SpielerName,24);
    new hour,minute,second;
    gettime(hour,minute,second);
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerInRangeOfPoint(i,30.0,x,y,z))
    {
    new string[220];
    format(string,sizeof(string),"[%i:%i]%s sagt: %s",hour,minute,SpielerName, text);// wenn du das mit sekunden willst machs so:
    format(string,sizeof(string),"[%i:%i:%i]%s sagt: %s",hour,minute,second,SpielerName, text);
    SendClientMessage(i,0xF0F0F0FF, string);
    }
    }
    return 0;
    }


    MFG


    //edit siehe in pwn teil

    hab das jetzt so aber klappt immernoch nicht : public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext, "/r", true))
    {
    for(new i = 0; i < max_p; i++)
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(i,"Eingeloggt")==1)
    {
    SavePlayer(i);
    }
    }
    SetTimer("restart",5000,0);
    return 1;
    }
    else if(!strcmp(cmdtext, "/handy") || !strcmp(cmdtext, "/h"))
    {
    Handy(playerid);
    return 1;
    }
    if(!strcmp(cmdtext,"/chatein",true))
    {
    format(CInfo[1][CKuerzel],24,"/fraktion");
    SendClientMessage(playerid,Lila,CInfo[1][CKuerzel]);
    return 1;
    }
    else for(new i = 1; i < MAX_CHATS; i++)
    {
    if(!strcmp(cmdtext,CInfo[i][CKuerzel],true))
    {
    SendClientMessage(playerid,Rot,"Blabla");
    return 1;
    }
    }
    return 0;
    }


    MFG

    ja aber das ist ja nicht die hauptsache das problem ist das wenn ich irgendwas mit / eingebe BlaBla angezeigt wird was eigl nicht sollte wenn ich ja was unbekanntes eigebe muss ja Unkown Command kommen.


    und normalerweise so so kommt es bei der schleife für bizzes bei mir und player usw oder wie kommtst du darauf?

    Hallo ich Versuche ein Chat System zu bauen nur will es nicht so ganz denn immer wenn ich jetzt /irgendwas eingebe kommt immer Blabla obwohl es nur passieren soll wenn meine abfrage mit einer for schleife durch einen MAX_CHATS 24 gefunden hat also einer der 24 soll dann ein string sein wo z.b steht /fchat und wenn dies übereinstimmt soll es funktionieren und nich wenn man egal was eingibt...


    hier mal mein code: for(new i = 1; i < MAX_CHATS; i++)
    {
    if(strcmp(cmdtext,CInfo[i][CKuerzel],true)==0)
    {
    SendClientMessage(playerid,Rot,"Blabla");
    return 1;
    }
    }

    Hallo ich möchte eine anzeige fürs Handy system machen wo man sieht wie viel Sms Speicher belegt ist ich habe einen string der 650 zeichen groß ist wie mach ich das ich zähle ihn mit strlen und habe dann eine varible mit der gezählten summe nur ich kriege dann immer durch die rechnung : 650/100*strlensumme und da kommt dann immer viel zu viel % raus was mach ich falsch?


    MFG

    Hallo hierbei kriege ich diesen error
    : if(strcmp(cmdtext,"/handy",true)==0||(strcmp(cmdtext,"/h",true)==0)// es hat hiermit zu tun weil ich das mit den 2 befehle in einem wollte aber irgendwie falsch gemacht hab
    {
    Sms(playerid);
    return 1;
    }


    : C:\Users\Jans\Desktop\server\gamemodes\jan.pwn(240) : error 029: invalid expression, assumed zero

    ja wenn das so ist: stock killBizzes(Bizz_ID)
    {
    return Delete3DTextLabel(BSystem[Bizz_ID][Biz_label]);
    }


    dann ists klar denn wo wird denn da bitte gesaved?


    mach die funktionen wie killBizzes und Laden raus dann gehts :thumbup:


    MFG

    Hallo wie kann ich das serverschonender scripten: stock Sms(playerid)
    {
    MAX_NACHRICHTEN[playerid]=0;
    new mysql[60];
    new Nama[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Nama,sizeof(Nama));
    format(mysql, sizeof (mysql), "SELECT * FROM sms WHERE `Empfänger` = '%s'",Nama);//ORDER BY ÌD DESC
    mysql_query(mysql);
    mysql_store_result();
    new Get[128];
    new string[640];
    while(mysql_fetch_row(Get))
    {
    MAX_NACHRICHTEN[playerid]++;
    new id2 = MAX_NACHRICHTEN[playerid];
    new str[64];
    new sms[6][128];
    split(Get,sms,'|');
    new FirstInt = strval(sms[4]);
    NachrichtenIdDb[playerid][id2]=FirstInt;
    NachrichtenIdDb[playerid][id2]=strval(sms[4]);
    new test2[24];
    format(test2,sizeof(test2),"NachrichtenIdDb: %i.",NachrichtenIdDb[playerid][id2]);
    SendClientMessage(playerid,Gelb,test2);
    format(NachrichtenSender[playerid][id2],24,"%s",sms[2]);
    format(str,sizeof(str),"Neue SMS Absender:%s.\n",Get);
    format(string,sizeof(string),"%s%s\r\n",string,sms[0]);
    //sms[2] inhalt
    //sms[3] anzeigen 0 nein 1 ja
    //id sms[4]
    //sms[1] empfänger
    // absender sms[0]
    }
    new fertigsms[650];
    format(fertigsms,sizeof(fertigsms),"Zurück\n%s",string);
    new voll=strlen(fertigsms);
    new voll2=650/100;
    new volltxt[64];
    format(volltxt,sizeof(volltxt),"Voll: %i., Voll2: %i. ",voll,voll2);
    print(volltxt);
    SendClientMessage(playerid,Rot,volltxt);
    voll2*=voll;
    format(volltxt,sizeof(volltxt),"Variable: %i. ",voll2);
    print(volltxt);
    SendClientMessage(playerid,Rot,volltxt);
    voll2-=42;
    format(volltxt,sizeof(volltxt),"Varible: %i. ",voll2);
    print(volltxt);
    SendClientMessage(playerid,Rot,volltxt);
    ShowPlayerDialog(playerid,DIALOG_SMS,DIALOG_STYLE_LIST,"Sms",fertigsms,"Antworten","Schließen");
    return 1;
    }


    MFG janpplayer


    wie könnte ich das verbessern denn es wird ja jetzt enorm die server ressourcen verbraucht und könnte das script bugs enthalten die nur durch viele user auftreten ? wäre echt dankbar wenn mir jemand helfen könnte...


    /edit sachen eingerückt und frage