@ PAWN Pro's

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Auch wenn der Titel dumm ist,


    wollte ich die schlauen PAWN Köpfe fragen,


    wie ist es möglich, einem listitem den Namen oderso abzufragen, weil ich hab handy in einem dialog


    folgendes:


    if(listitem == 1)
    {
    new string[240];
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    format(string, sizeof(string), "%s (ID:%i)\n", SpielerName(i), i);
    }
    ShowPlayerDialog(playerid, DIALOG_SMS, DIALOG_STYLE_LIST, "Folgende User sind in deiner Kontaktliste:", string, "Fortfahren", "Abbrechen");
    IsAtLaptopDialog[playerid] = 10;
    }
    }


    das ist z.B. SMS.


    Nur wie mach ich weiter ... :


    case DIALOG_SMS:
    {
    if(response)
    {
    if(HandyAus[ ] == 0)// HIER WEITER
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    ShowPlayerDialog(playerid, DIALOG_SMS1, DIALOG_STYLE_INPUT, "SMS senden", "Gib die Nachricht ein, welche du absenden möchtest:", "Fortfahren", "Abbrechen");
    }
    }
    else
    {
    SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Der Spieler hat sein Handy ausgeschaltet!");
    }
    }
    }


    und dann am ende das:


    case DIALOG_SMS1:
    {
    if(response)
    {
    new string[150];
    format(string, 150, "[HANDY]: SMS | Absender: %s | Nachricht: %s", SpielerName(playerid),inputtext);
    SendClientMessage(, FARBE_GELB, string); // HIER WEITER
    format(string, 150, "[HANDY]: SMS | Empfänger: %s | Nachricht: %s", SpielerName(ClickedPlayer[playerid]),inputtext);
    SendClientMessage(playerid, FARBE_GELB, string);
    IsAtLaptopDialog[playerid] = 0;
    }
    }


    WÄRE EUCH DANKBAR .


    an alle die nicht alles gelesen habe:


    dort brauche ich eure hilfe wo das steht:


    // HIER WEITER


    LG ..

  • strcmp kannst du abfragen, dann kannst du dir einen stock machen z.b
    GetPlayerIDByName und dann gehst du alle Onlinespieler durch, und fragst den namen von der spieler ab, ob der mit den
    gesuchten Namen übereinstimmt.

  • Speicher die ID zwischen, PVar ist da am sinnvollsten


    oder du liest den Spielernamen aus und gehst dann über GetPlayerID

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • Kannst es z.B. so machen (Bei dem ersten Dialog in OnDialogResponse):


    case DIALOG_SMS:
    {
    if(response)
    {
    new eintrag;
    for(new i=0; i<GetMaxPlayers(); i++)
    {
    if(IsPlayerConnected(i))
    {
    if(listitem == eintrag)
    {
    ClickedPlayer[playerid]=i;
    if(HandyAus[i] == 0)
    {
    ShowPlayerDialog(playerid, DIALOG_SMS1, DIALOG_STYLE_INPUT, "SMS senden", "Gib die Nachricht ein, welche du absenden möchtest:", "Fortfahren", "Abbrechen");
    }
    else
    {
    return SendClientMessage(playerid, FARBE_GELB, "[HANDY]: Der Spieler hat sein Handy ausgeschaltet!");
    }
    }
    eintrag++;
    }
    }
    }
    }


    Kann Fehler enthalten muss gleich off und habs schnell geschrieben.


    MfG.
    Me

  • tja, der playerid hats mit seiner eigenen variante hinbekommen.


    an alle:

    ich habs so gemacht, ClickedPlayer oben als new definiert, und dann so abgespeichert: ClickedPlayer[playerid] = strval(inputtext); und das dann halt immer so abgefragt: if(HandyAus[ClickedPlayer[playerid]] == 0)


    und siehe da, es klappt, meine eltern hatten recht, aus mir kann noch was werden! (satz stammt aus freude da ich das geschafft habe bABY YEAAH)


    LG