Beiträge von Tround

    warum so einen unglaublich riesigen string
    new dString[5000];


    edit:verstehe
    edit 2:
    hab deine lösung .. das problem ist das die strings zu groß sind..
    #define DIALOG_CREATEHAUS 1234
    new dString[5000];
    new estring[10][100];
    ocmd:createhaus(playerid,params[])
    {
    if(admin(playerid,6))return keinadmin(playerid);
    for(new i=0;i<10;i++)
    {
    format(estring[i],100,"ID: %i, Name: %s, InteriorID: %i\n",i,sname(playerid),i);
    strcat(dString,estring[i]);
    }
    ShowPlayerDialog(playerid,DIALOG_CREATEHAUS,DIALOG_STYLE_LIST,"Interiorauswahl",dString,"Auswählen","Abbrechen");
    info(playerid,dString);
    return 1;
    }
    mach die strings global und nicht im befehl selbst

    if(strcmp(cmd, "/fill", true) == 0 || strcmp(cmd, "/fillcar", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new b = 0; b < sizeof(TankeInfo); b++)//bedeutet alles was hier drunter in der klammer steht wird so oft ausgeführt wie die größe von tankeinfo
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1004.1221,-940.8615,41.9956))
    {
    if(IsANoTachoVehicle(GetPlayerVehicleID(playerid)))
    {
    SendClientMessage(playerid,COLOR_GRAD1,"Du kannst dein Fahrrad nicht Auftanken!");//wenn du also aufm fahrrad sitzt müsste die nachricht mehrmals kommen
    }
    else
    {
    SetTimer("Fillup",RefuelWait,0);//genauso wie der timer
    Refueling[playerid] = 1;
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid,COLOR_WHITE,"Dein Fahrzeug wird betankt, bitte warten...");
    format(string, sizeof(string), "UserCMD: %s Tankt an einer Tankstelle auf (/fill).", PlayerName(playerid));
    ABroadCast(COLOR_LIGHTRED,string, 5);
    }
    }
    else
    {
    // SendClientMessage(playerid,COLOR_GREY,"Du bist an keiner Tankstelle!");
    // return 1;
    }
    }
    }
    return 1;
    }//ausserdem fehlt hier eine klammer


    also wenn die schleife keinen sinn macht einfach löschen.. oder zumindest sehe ich keinen sinn darin

    was ich nicht ganz verstehe ist diese schleife hier
    for(new b = 0; b < sizeof(TankeInfo); b++)
    da du "b" nicht einmal verwendest und auch kein return/break in deiner schleife hast wird z.b der timer so oft gestartet wie die größe von tankeinfo.. kapier ich nicht was das bringt

    naja aus deinen variablen auslesen und mit format einfügen z.b.
    format(string,128,"Cola: %i\nSprite %i",varible cola,variable sprite);
    ShowPlayerDialog(playerid,DIALOG_GETRÄNKE-I,DIALOG_STYLE_LIST,string,"Benutzen","Zurück");

    überlege mal was für parameter du brauchst.. der einzige parameter nach dem eigentlichen befehl soll ein spieler sein.

    Zitat

    u User name/id (bots and players) Y_Less, 0


    warum willst du dann noch zwei strings hinzufügen?
    if(sscanf(params,"u",pid))


    ps: wie konntest du in 6 minuten den thread von y_less durchlesen? das ist überhaupt nicht möglich..
    ich empfehle dir es durchzulesen und zu kapieren..

    vielleicht solltest du dir sscanf nochmal genau anschauen und wie es funktioniert.. was bringt es dir wenn ich dir sage wie es geht aber du nicht kapierst warum.. dann kommt morgen wieder genau das gleiche thema



    http://forum.sa-mp.com/showthread.php?t=120356

    SendClientMessage(playerid,COLOR_KOMISCH,"Dein Name ist registriert.{FFFFFF}Logge dich mit deinem {FFFFFF}Passwort ein.");
    nur als beispiel.. mit deinen gänsefüschen wirste wahrscheinlich missmatch warning bekommen..

    mit dem incognito streamer geht es glaub objecte in virtuelle welten/interiors oder sogar auch nur für spieler zu erstellen
    CreateDynamic3DTextLabel(const text[], color, Float:x, Float:y, Float:z, Float:drawdistance, attachedplayer = INVALID_PLAYER_ID, attachedvehicle = INVALID_VEHICLE_ID, testlos = 0, worldid = -1, interiorid = -1, playerid = -1, Float:distance = 100.0);

    ganz einfach 2 verschiedene virtuelle welten einrichten.
    und nicht vergessen den ausgang pickup/3dtext auch in die richtige welt zu setzen.
    shop 1:
    SetPlayerVirtualWorld(playerid,1);
    shop2:
    SetPlayerVirtualWorld(playerid,2);

    den inputtext in ein integer umwandeln und eine globale variable einspeichern. und beim 2ten dialog wieder auslesen.
    new dialogpid;
    dialogpid=strval (inputtext);
    GivePlayerWanted(dialogpid,..


    Was ist aber wenn 2 Leute gleichzeitig Wanteds geben, wird das
    Ergebnis nicht verfälscht?


    dafür gibt es arrays
    new dialogpid[MAX_PLAYERS];
    dialogpid[playerid]=strval (inputtext);
    GivePlayerWanted(dialogpid[playerid],..

    naja du musst halt beides erstellen lkw/anhänger.. beides in variablen einspeichern..


    new lkw=CreateVehicle(...
    new anhang=CreateVehicle(...


    und dann verbinden


    AttachTrailerToVehicle(anhang, lkw);