Beiträge von [DT]Sniper

    ocmd:hausverkaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    GivePlayerMoney(playerid,floatround(HausInfo[haus][haus_preis]/2));
    SendClientMessage(playerid,0x00FF00,"Haus verkauft!");
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",haus);
    dini_Set(pfad,"besitzer","Keiner");
    KillHaus(haus);
    LoadHaus(haus);
    return 1;
    }
    }
    SendClientMessage(playerid,0x00FF00,"Du besitzt kein Haus!");
    return 1;
    }


    und kaufen:
    ocmd:hauskaufen(playerid,params[])
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,0x00FF00,"Du hast schon ein haus!");
    }
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(GetPVarInt(playerid,"Haus",1);
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,0x00FF00,"Dieses Haus gehört dir bereits!");
    if(strcmp(HausInfo[haus][haus_besitzer],"Keiner",false))return SendClientMessage(playerid,0x00FF00,"Dieses Haus steht nicht zum Verkauf!");


    if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,0x00FF00,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]);
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",haus);
    dini_Set(pfad,"besitzer",name);
    KillHaus(haus);
    LoadHaus(haus);
    }
    else SendClientMessage(playerid,0x00FF00,"Du hast Bereits ein Haus!");
    }
    }
    return 1;
    }


    edit: - weg.

    ich würde es so probieren:
    ocmd:hausverkaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)
    {
    GivePlayerMoney(playerid,-floatround(HausInfo[haus][haus_preis]/2));
    SendClientMessage(playerid,0x00FF00,"Haus verkauft!");
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",haus);
    dini_Set(pfad,"besitzer","Keiner");
    KillHaus(haus);
    LoadHaus(haus);
    return 1;
    }
    }
    SendClientMessage(playerid,0x00FF00,"Du besitzt kein Haus!");
    return 1;
    }


    edit: berichtigt

    Wenn dein Profil hier stimmt, muss ich dich daurauf hinweisen, dass du wohl kein auto bekommst auch wenn du gewinnst.
    HIer ein Auszug aus den Teilnahme bedingungen:

    Zitat

    Teilnahmeberechtigt sind ausschließlich Personen mit Wohnsitz in Österreich, die zu Beginn des Gewinnspiels mit Stichtag 13.02.2012 das 18. Lebensjahr bereits vollendet haben und im Besitz eines Führerscheins der Klasse B sind.


    edit: formatierung

    ocmd:hauskaufen(playerid,params[])
    {
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,0x00FF00,"Du hast schon ein haus!");
    }
    for(new haus=1;haus<MAX_HAUS;haus++)
    {
    if(GetPVarInt(playerid,"Haus",1);
    if(IsPlayerInRangeOfPoint(playerid,5,HausInfo[haus][haus_x],HausInfo[haus][haus_y],HausInfo[haus][haus_z]))
    {
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof name);
    if(strcmp(HausInfo[haus][haus_besitzer],name,false) == 0)return SendClientMessage(playerid,0x00FF00,"Dieses Haus gehört dir bereits!");
    if(strcmp(HausInfo[haus][haus_besitzer],"Keiner",false))return SendClientMessage(playerid,0x00FF00,"Dieses Haus steht nicht zum Verkauf!");


    if(GetPlayerMoney(playerid) < HausInfo[haus][haus_preis])return SendClientMessage(playerid,0x00FF00,"Du hast nicht genug Geld!");
    GivePlayerMoney(playerid,-HausInfo[haus][haus_preis]);
    new pfad[50];
    format(pfad,50,"/haus/%d.txt",haus);
    dini_Set(pfad,"besitzer",name);
    KillHaus(haus);
    LoadHaus(haus);
    }
    else SendClientMessage(playerid,0x00FF00,"Du hast Bereits ein Haus!");
    }
    }
    return 1;
    }

    du hast einen spieler zugeweisenen timer, was sehr gut ist, jedoch benutzt du im public nicht die übergebene var sondern gehst alle spieler durch.
    1. frage killst du den timmer aus?
    2.
    hier die richtige public


    forward PayDay(i);
    public PayDay(i)
    {
    if(GetPVarInt(i,"loggedin")==1)
    {
    if(SpielerInfo[i][pPayday]==60)
    {
    if(SpielerInfo[i][pRespect]==5)
    {
    levelup();
    }
    payday(i);
    return 1;
    }
    else
    {
    SpielerInfo[i][pPayday]+=1;
    }
    }
    return 1;
    }


    stock payday(i)
    {
    new xx[3],string[256],sendstr[256],current;
    gettime(xx[0],xx[1],xx[2]);
    format(string,sizeof string,"Es ist nun %d:%d Uhr",xx[0],xx[1]);
    SendClientMessage(i,cWhite,string);
    SendClientMessage(i, cGrey,"================[PayDay]================");
    current=SpielerInfo[i][pLevel]*100+random(1000);
    GebeGeld(i,current);
    format(sendstr,sizeof sendstr,"Geld erhalten: %d$",current);
    SendClientMessage(i, cWhite, sendstr);
    format(sendstr,sizeof sendstr,"Kontostand: %d$",SpielerInfo[i][pBank]);
    SendClientMessage(i, cWhite, sendstr);
    SendClientMessage(i, cWhite,"Einen Respektpunkt erhalten");
    SpielerInfo[i][pRespect]+=1;
    SendClientMessage(i, cGrey,"========================================");
    SpielerInfo[i][pPayday]=0;
    SpielerSpeichern(i);
    return 1;
    }


    @ Bubel Schwachsinn!
    es liegt wie oben beschreiben, daran dass jeder spieler einen neuen timer erhält, aber im public alle spieler gehandelt werden.

    naja erlaubt ist so ne sache, möglich ist es erwünscht nicht, und auch darf man nicht rumflamen, wenn was schieffleuft und etwas nicht mehr geht, da 0.3e in der beta ist.


    Zudem ist die Spieleranzahl stark begrenzt.