Funktion zum vergleichen von 2 Strings

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
  • Hallo an alle,


    ich habe ein Problem und finde keine Lösung.
    Und zwar brauch ich eine Funktion, welche den Namen einens Spielers mit einer Reihe von Namen aus einer INI Datei abgleicht. Im Grunde hab ich die Funktion auch schon, doch sie funktioniert nicht.
    new abc=0; //eine globale variable
    stock CheckHouse(playerid)
    {
    new pname[24]; GetPlayerName(playerid,pname,24);
    for(new i;i<MAX_HOUSES;i++)
    {
    if(strcmp(dini_Get("House.ini",hInfo[i][Besitzer]),pname,false)==0) abc = 1;
    else abc = 0;
    }
    }


    Die Funktion soll also ablaufen bevor geprüft wird ob ein Spieler schon eines der Objekte besitzt. In der Abfrage möchte ich dann einfach mit einer if Abfrage rausfinden ob er ein Objekt hat oder nicht.
    Ich hoffe ihr versteht mein Anliegen. Solltet ihr was nich verstehn solltet, aber mir trotzem helfen wollt, fragt einfach nach :)
    mfg


    //Edit


    Um es noch etwas besser auszudrücken häng ich noch den /buy befehl an, mit welchem man ein haus kaufen kann udn für welchen die funktion sein soll.
    if (strcmp("/buy", cmdtext, true, 10) == 0)
    {
    for(new i; i<MAX_HOUSES; i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3, hInfo[i][iconx], hInfo[i][icony], hInfo[i][iconz]))
    {
    new Pname[24]; GetPlayerName(playerid,Pname,24);
    for(new S;S<MAX_HOUSES;S++)//Sollte eigentlich checken, ob schon ein Haus vorhanden ist bei diesem Spieler, geht aber nicht
    {
    if(strcmp(dini_Get("Besitzer.ini",hInfo[S][Hausname]), Pname))
    {
    SendClientMessage(playerid,weis,"Du besitzt schon ein Haus");
    break;
    }
    }
    if(hInfo[i][Gekauft] == 1) return SendClientMessage(playerid,weis,"Dieses Haus ist schon verkauft");
    if(GetPlayerMoney(playerid) < hInfo[i][Preis]) return SendClientMessage(playerid,weis,"Du hast nicht genug Geld");
    GivePlayerMoney(playerid, - hInfo[i][Preis]);
    GameTextForPlayer(playerid, "~r~Haus gekauft!", 2000, 3);
    hInfo[i][Gekauft] = 1;
    GetPlayerName(playerid,Pname,24);
    format(hInfo[i][Besitzer], 24, "%s", Pname);
    dini_Set("Besitzer.ini", hInfo[i][Hausname], Pname);
    DestroyPickup(PickupID[i]);
    PickupID[i] = CreatePickup(1272,1,hInfo[i][iconx],hInfo[i][icony],hInfo[i][iconz],-1);
    return 1;
    }
    }
    SendClientMessage(playerid,weis,"Du bist nicht in der Nähe von einem Haus");
    return 1;
    }