Beiträge von 4#Future


    Der ist wohl der größte Blödsinn, der jemals im Forum geschrieben wurde.


    Deine Hilfe ist ja wohl mal absoluter Quatsch.


    xSonYx - Bitte lerne ersteinmal mit Anweisungen umzugehen: Wiki

    --


    Probiere es mal so:


    new Float:fscheckpoints[6][3] ={
    {657.8871,-1226.5524,16.0821},
    {687.5119,-1165.8440,14.9317},
    {792.3574,-1051.9912,24.3873},
    {794.8701,-1312.6343,13.0873},
    {666.5079,-1316.3820,13.1576},
    {670.3506,-1292.0353,13.2476}
    };


    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    if (IsPlayerInAnyVehicle(playerid))
    {
    if(fsauto[playerid])
    {
    fsCheckpointStatus[playerid]++;
    new letzerpunkt = 6;
    if(fsCheckpointStatus[playerid] < letzerpunkt)
    {
    DisablePlayerRaceCheckpoint(playerid);
    SetPlayerRaceCheckpoint(playerid,0,fscheckpoints[fsCheckpointStatus[playerid]][0],fscheckpoints[fsCheckpointStatus[playerid]][1],fscheckpoints[fsCheckpointStatus[playerid]][2],fscheckpoints[fsCheckpointStatus[playerid]+1][0],fscheckpoints[fsCheckpointStatus[playerid]+1][1],fscheckpoints[fsCheckpointStatus[playerid]+1][2],5.0);
    }
    else
    {
    fsauto[playerid] = 0;
    fsCheckpointStatus[playerid] = 0;
    SetVehicleToRespawn(GetPlayerVehicleID(playerid));
    DisablePlayerRaceCheckpoint(playerid);
    }
    }
    }
    return 1;
    }

    ocmd:veh(playerid,params[])
    {
    if(IsPlayerConnected(playerid))
    {
    if(!GetPVarInt(playerid, "hasOneCar"))
    {
    new farbe1, farbe2, string[128];
    new car = GetPlayerVehicleID(car);
    new HatAuto[MAX_PLAYERS];
    if(sscanf(params,"ddd",car,farbe1,farbe2))return SendClientMessage(playerid,ROT,"Benutzung: /veh [CarID] [Farbe1] [Farbe2]");
    if(car < 400 || car > 611)return SendClientMessage(playerid,ROT,"Diese CarID gibt es nicht.");
    if(farbe1 < 0 || farbe1 > 252)return SendClientMessage(playerid,ROT,"Diese Farbe gibt es nicht.");
    if(farbe2 < 0 || farbe2 > 252)return SendClientMessage(playerid,ROT,"Diese Farbe gibt es nicht.");
    new Float:X, Float:Y, Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    new carid = CreateVehicle(car,X,Y,Z,0.0,farbe1,farbe2,60000);
    CreatedCars[CreatedCar] = carid;
    CreatedCar++;
    format(string,sizeof(string),"Du hast ein Fahrzeug gespawnt. Es hat die ID %d.",carid);
    SendClientMessage(playerid,ROT,string);

    SetPVarInt(playerid, "hasOneCar", 1);
    SetPVarInt(playerid, "hasOneCarID", carid);
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du besitzt bereits ein Fahrzeug.");
    return 1;
    }
    }
    return 1;
    }


    // SetTimer("isOwnCarDestroyed", 1000, true);


    forward isOwnCarDestroyed();
    public isOwnCarDestroyed()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == 2)
    {
    if(GetPlayerVehicleID(i) == GetPVarInt(i, "hasOneCarID"))
    {
    new Float:vehHealth;
    GetVehicleHealth(GetPlayerVehicleID(i), vehHealth);
    if(vehHealth < 50)
    {
    DestroyVehicle(GetPlayerVehicleID(i));
    CreatedCar--;
    DeletePVar(i, "hasOneCar");
    DeletePVar(i, "hasOneCarID");
    }
    }
    }
    }
    }
    return 1;
    }

    Zitat

    Keine Farbe... (nur weiß vom Realchat)


    He? Wie meinst Du das jetzt?


    Wenn Du gar nichts siehst, funktionieren definitiv
    Deine Spielervariablen InSupport und InSupportt nicht.

    Nunja.


    Anschauen:


    Steht ein Haus zum Verkauf, kann es jeder Immobilienmarkler betreten.


    Vorführung:


    Möchte es ein Immobilienmarkler einen Kunden vorführen, erlaubt er diesen
    durch einen simplen Befehl, dass er das Haus ebenfalls betreten darf.


    Handling:


    Um das Jobangebot für mehrere Nutzer attraktiv zu halten, kann ein
    Immobilienmarkler höchstens 3 oder 4 Häuser gleichzeitig "besitzen", die
    er dann mit einem Befehl, zum ausgemachten Kaufpreis and den Nutzer verkauft.


    Dabei läuft eine mathematische Rechnung ab, die je nach Skill, die Provision
    des
    Immobilienmarklers festlegt und ihm sofort aufs Konto gutschreibt.


    Verkauf:


    Ist der Käufer interessiert, verkauft ihm der Markler "sein" Haus, durch
    einen Befehl und erhält dabei seine Provision, je nach Skill, den erreicht hat.


    Abschluss:


    Der neue Eigentümer des Hauses wird eingetragen und der Markler
    hat das Haus somit erfolgreich verkauft.


    Zusatz:


    Ein Immobilienmarkler kann dem anderen Immobilienmarkler das Haus,
    dass "er" vorrübergehend gekauft hat, nicht wegnehmen oder nicht
    selbst auch noch kaufen.


    Ein Immobilienmarkler kann jedes Haus kaufen, zahlt dafür aber kein Geld.


    Ist der Hausinfo sollte dann nicht Besitzer angezeigt werden, sondern bsp.
    wird verkauft durch.


    Also ich finde es eine gute und denkbar einfache Idee.
    Auch die Umsetzung sollte ebensfall kein Problem darstellen.

    Hast Du schonmal geschaut, ob vielleicht noch andere
    Werte, die aus der Datenbank geladen werden, fehlerhaft
    sind bzw. ob überhaupt etwas aus der DB geladen wird?


    Möglicherweise hast Du Recht und das Plugins funktioniert nicht.


    Überprüfe mal ob überhaupt irgendwas aus der DB geladen wird
    und ob MySQL selbst auch keine Fehler beim Laden und Verbindung zeigt.

    Hast Du schonmal überprüft ob InSupport und
    InSupportt auch wirklich beide auf "true" sind?


    Einen Fehler sehe ich ehrlich gesagt nicht.


    Kann auch sein, dass ich gerade einen Optikfehler habe :D

    Ja, Du hast string bereits irgendwo anderes deklariert.


    Also mach's so:


    else if(InSupport[playerid] == true)
    {
    new adminlevel[56];
    if(GetPVarInt(playerid,"Adminlevel")==1)format(adminlevel,sizeof(adminlevel),"Supporter");
    else if(GetPVarInt(playerid,"Adminlevel")==3)format(adminlevel,sizeof(adminlevel),"Moderator");
    else if(GetPVarInt(playerid,"Adminlevel")==1335)format(adminlevel,sizeof(adminlevel),"Admin");
    else if(GetPVarInt(playerid,"Adminlevel")==1337)format(adminlevel,sizeof(adminlevel),"Lead-Admin");
    else if(GetPVarInt(playerid,"Adminlevel")==1338)format(adminlevel,sizeof(adminlevel),"Serverinhaber");


    GetPlayerName(playerid, sendername, sizeof(sendername));


    format(string, sizeof(string), "%s(%s) sagt: %s", sendername, adminlevel, text);
    SendClientMessage(playerid, HIER_MAL_EINE_ANDERE_FARBE, string);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(InSupportt[i] == true)
    {
    SendClientMessage(i, HIER_MAL_EINE_ANDERE_FARBE, string);
    return 1;
    }
    }
    }
    }


    else if(InSupportt[playerid] == true)
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));


    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    SendClientMessage(playerid, HIER_MAL_EINE_ANDERE_FARBE, string);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(InSupport[i] == true)
    {
    SendClientMessage(i, HIER_MAL_EINE_ANDERE_FARBE, string);
    return 1;
    }
    }
    }
    }

    Du hast ein paar Sachen ganz schön verdreht
    und musst auch nicht in beiden Funktionen alles
    für Supporter und Fragesteller doppelt abfragen.


    Eine Funktion für Fragesteller, die andere für Supporter.


    else if(InSupport[playerid])
    {
    new adminlevel[56];
    if(GetPVarInt(playerid,"Adminlevel")==1)format(adminlevel,sizeof(adminlevel),"Supporter");
    else if(GetPVarInt(playerid,"Adminlevel")==3)format(adminlevel,sizeof(adminlevel),"Moderator");
    else if(GetPVarInt(playerid,"Adminlevel")==1335)format(adminlevel,sizeof(adminlevel),"Admin");
    else if(GetPVarInt(playerid,"Adminlevel")==1337)format(adminlevel,sizeof(adminlevel),"Lead-Admin");
    else if(GetPVarInt(playerid,"Adminlevel")==1338)format(adminlevel,sizeof(adminlevel),"Serverinhaber");

    GetPlayerName(playerid, sendername, sizeof(sendername));


    new string[128];
    format(string, sizeof(string), "%s(%s) sagt: %s", sendername, adminlevel, text);
    SendClientMessage(playerid, HIER_MAL_EINE_ANDERE_FARBE, string);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(InSupportt[i])
    {
    SendClientMessage(i, HIER_MAL_EINE_ANDERE_FARBE, string);
    return 1;
    }
    }
    }
    }


    else if(InSupportt[playerid])
    {
    GetPlayerName(playerid, sendername, sizeof(sendername));


    new string[128];
    format(string, sizeof(string), "%s sagt: %s", sendername, text);
    SendClientMessage(playerid, HIER_MAL_EINE_ANDERE_FARBE, string);


    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(InSupport[i])
    {
    SendClientMessage(i, HIER_MAL_EINE_ANDERE_FARBE, string);
    return 1;
    }
    }
    }
    }

    Ich kenne mich mit sscanf zwar nicht gut aus,
    aber laut Dokumentation solltest Du es so versuchen:


    ocmd:accept(playerid,params[])
    {
    new anfrage[128];
    if(sscanf(params,"s",anfrage)) return SendClientMessage(playerid,Grau,"Benutze: /accept [Repair / Ticket / Refill / Taxi / Mechanic]");
    else
    {
    new cmdtext[10];
    if(strcmp(cmdtext,"repair",true) == 0)
    {
    if(GetPVarInt(playerid,"Mechaniker"))
    {
    new Mecha = GetPVarInt(playerid,"Mechaniker");
    new Preis = GetPVarInt(playerid,"MechanikerPreis");
    if(GetPlayerMoney(playerid)> Preis)
    {
    new string[256],string1[128];
    format(string,sizeof(string),"* Der Spieler %s hat deine Reperaturanfrage akzeptiert. Du hast den Reperaturpreis von %d$ erhalten.",PlayerName(playerid),Preis);
    format(string,sizeof(string),"* Du hast dein Auto von Mechaniker %s für %d$ reparieren lassen.",PlayerName(Mecha),Preis);
    new pCar = GetPlayerVehicleID(playerid);
    GivePlayerMoney(playerid,-Preis);
    GivePlayerMoney(Mecha,Preis);
    RepairVehicle(pCar);
    SendClientMessage(Mecha,Weiss,string);
    SendClientMessage(playerid,Weiss,string1);
    return 1;
    }
    }
    }
    }
    return 1;
    }

    if(strcmp(cmdtext, "repair", true) == 0)
    Hier liegt der Fehler...


    Du hast es bei Dir als String "anfrage" deklariert,
    also musst Du es so auch weiter verwenden.



    if(strcmp(anfrage, "repair", true) == 0)
    Dann klappt's auch.



    // Edit


    Mist, da war jmd schneller ;(

    Die Farbe ist wirklich ein bisschen eintönig und
    auch meiner Meinung nicht, nicht wirklich schick.


    Ansonsten sieht es ja eigentlich nicht schlecht aus.


    Du hast das Template sicherlich mit Photoshop erstellt. Richtig?