Beiträge von Sniperwolfes

    also ich wills so machen: wenn /paydaytest aufgerufen wird soll jedes biz für jeden spieler der gerade online ist geld bekommen (MoneyPerPlayer)
    Aber nur die bizes, die auch in Besitz sind
    habs jetzt bisschen umgebaut
    if(strcmp("/Payday", cmdtext, true) == 0)
    {
    new
    PayDayPlayers[MAX_PLAYERS],
    i,
    ii,
    MoneyPerPlayer;
    for(i=0,ii=0; i<MAX_PLAYERS,ii<sizeof(CapturePoints);i++,ii++)
    {
    if(IsPlayerConnected(i))
    {
    SendClientMessage(i, 0xFFFFFFF, "Testnachricht");
    if(CapturePoints[ii][CaptureOwned] == 1)
    {
    if(strfind(CapturePoints[ii][CaptureName], "Los Santos - Pay'n'Spray", true))
    {
    MoneyPerPlayer = 25;
    new OwnerName[MAX_PLAYER_NAME];
    GetPlayerName(i, OwnerName, sizeof(OwnerName));
    if(strfind(CapturePoints[ii][CaptureOwner], OwnerName, true))
    {
    CapturePoints[ii][CaptureMoney]+=PayDayPlayers[i]*MoneyPerPlayer*CapturePoints[ii][CaptureLevel];
    new LastMoneyString[128];
    format(LastMoneyString, sizeof(LastMoneyString), "Es waren %d Spieler beim Payday online. Du bekommst %d für deine(n) Pay'n'Spray(s)!", PayDayPlayers[i],PayDayPlayers[i]*MoneyPerPlayer*CapturePoints[ii][CaptureLevel]);
    SendClientMessage(playerid,0xBCEBF2FF, LastMoneyString);
    UpdateText();
    }
    }


    das problem ist jetzt noch: obwohl ich einen Pay'n'Spray besitze (von 3) bekome ich nicht die nachricht mit "Es waren XX Spieler beim Payday Online"
    Und geld bekommt das Biz auch nicht
    kann es sein das da was mit dem strfind nicht geht? Weil oben wollte ich halt machen, das wenn das Biz Los Santos - Pay'n'Spray im namen hat das kommt, was bei 3 Stück der fall ist und unten wollte ich das wenn der Name vom Spieler in CaptureOwner gefunden wird, er die Nachricht bekommt


    so hoffe jetzt ist es etwas klarer ^^


    kann das niemand?

    das mit hausschlüssel würde theoretisch gehen
    aber wie wärs wenn du mal lieber eine richtige Struktur überlegst anstatt einfach wild drauflos zu scripten
    am besten du fängst erstmal an mit enum und dort so sachen wie HausEingangX,HausEingangY etc zu machen und dann alles auf den Script abzugleichen
    danach kannst du dir immernoch überlegen wie du die kontrolle vergibst

    hast du das haussystem in einer enum struktur aufgebaut?
    wenn ja adde einfach besitzer[MAX_PLAYER_NAME]
    und wenn er das haus kauft nimmst du seinen Namen und machst
    strmid(SpielerName, besitzer, 0, 30, 30);
    dann ist er besitzer vom haus X

    Du hast sicherlich den besitzer in deinem Haussystem? Dann kannst du ja einfach den Namen von Spieler nehmen und überprüfen ob der Name mit deinem Übereinstimmt
    zb
    if(strcmp(SpielerName,HausBesitzer,true) == 0)


    und so könntest du das überall machen

    ShowPlayerDialog(playerid,HELP,DIALOG_STYLE_MSGBOX,"NAMEKOMMTNOCHT:","\n(ONLINE - BEFEHLE)\n/Copslv \n/Copssf \n/Swat \n/Army \n/Taxi \n/Instructor \n/Admins \n/Arbeitsamt \n/Enter \n/Reset(Marker zu löschen) \n(BANK - BEFEHLE)\n/Balance \n/Withdraw \n/Deposit \n/Wiretransfer \n/Transfer \n(VIP - BEFEHLE)\n/Togooc \n/Tognews \n/Togfam \n/Togphone \n(CHAT - BEFEHLE)\n(/o)oc \n(/s)hout \n(/ad)vertise \n(/f)amily \n/me \n(ALLGEMEIN - BEFEHLE)\n/Regeln - Regeln nach lesen\n/Upgrade - Infos zu den ganzen Upgrade\n/Jobskill - Infos zu den Jobskills\n/Pay - Geld zu Überweisen\n/Charity - \n/Time - Info zu Uhrzeit\n/Rentcar - /Unrentcar - Fahrzeug Mieten\n/Drink - Trink Infos\n/lock - /Skill - Skill Info\n/licenses Licensen Info\n/Lotto - Lotto Befehl /Spawnchange - Spawn Info \n/Send - \n/Donut - \n/Food - \n/Clothes - \n/Report - Cheater Beschwerden Report \n/Cancel - \n/Accept - \n/Usedrugs - \n/Contract - \n/Service - \n/Showlicenses - \n/Buy - \n/Buyfun - \n/Buybomb - \n/Gunshop - \n/Fill - \n/Fillcar - \n/Fuel - \n/Get fuel - \n/Extra - Extra Commands","OK","Cancel");


    du hast am Ende ein " vergessen bzw ein Komma

    Tag,
    ich habe in letzter Zeit mal wieder etwas probiert und bin nun auf folgenden Fehler gestoßen:
    Wenn ich mir ein Biz kaufe, müsste ich am Payday für jeden Spieler einen gewissen betrag bekommen.
    Leider kommt immer: "Es waren 0 Spieler online. Du hast 0$ bekommen"
    hier ein ausschnitt:


    if(strcmp("/Paydaytest", cmdtext, true) == 0)
    {
    new
    PayDayPlayers,
    i,
    MoneyPerPlayer;
    for(i = 0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    SendClientMessage(i, 0xFFFFFFF, "Testnachricht");
    PayDayPlayers = i;
    for(i = 0; i<sizeof(CapturePoints); i++)
    {
    if(strfind(CapturePoints[i][CaptureName], "Los Santos - Tankstelle", true))
    {
    MoneyPerPlayer = 20;
    if(strcmp(CapturePoints[i][CaptureOwner],"Neutral",true) <0)
    {
    new OwnerName[MAX_PLAYER_NAME];
    GetPlayerName(i, OwnerName, sizeof(OwnerName));
    if(strfind(CapturePoints[i][CaptureOwner], OwnerName, true))
    {
    CapturePoints[i][CaptureMoney]+=PayDayPlayers*MoneyPerPlayer*CapturePoints[i][CaptureLevel];
    new LastMoneyString[128];
    format(LastMoneyString, sizeof(LastMoneyString), "Es waren %d Spieler beim Payday online. Du bekommst %d für deine Tankstelle(n)!", PayDayPlayers,PayDayPlayers*MoneyPerPlayer*CapturePoints[i][CaptureLevel]);
    SendClientMessage(playerid,0xBCEBF2FF, LastMoneyString);
    UpdateText();
    }
    }
    }


    hoffe mir kann jemand helfen