Beiträge von DasNeo

    CMD:pd(playerid,params[])
    {
    new string[90];
    if(!IstSpielerInFraktion(playerid,2))return SCM(playerid,Rot,"Du bist kein Polizist");
    if(IsPlayerInRangeOfPoint(playerid,5,246.3600006,72.6699982,1003.8400269))
    {
    MoveObject(pdtuer,5,244.3699951,72.6800003,1003.8400269,2.0);
    SetTimer("GateClosetGate",5000,0);
    }
    else
    {
    SCM(playerid,Rot,"Du bist zu weit entfernt. Begebe dich zur PD Tür!");
    }
    return 1;
    }


    Habe das andere return übersehen. So sollte es gehen.

    if(IsPlayerInRangeOfPoint(playerid,5,246.3600006,72.6699982,1003.8400269))return SCM(playerid,Rot,"Du bist zu weit entfernt. Begebe dich zur PD Tür!");


    Du musst das return da raus machen und als else einfügen.


    CMD:pd(playerid,params[])
    {
    new string[90];
    if(!IstSpielerInFraktion(playerid,2))return SCM(playerid,Rot,"Du bist kein Polizist");
    format(string,sizeof(string),"Der befehl %s ist nicht vorhanden. Gebe %s ein!");
    return SCM(playerid,Rot,string);
    if(IsPlayerInRangeOfPoint(playerid,5,246.3600006,72.6699982,1003.8400269))
    {
    MoveObject(pdtuer,5,244.3699951,72.6800003,1003.8400269,2.0);
    SetTimer("GateClosetGate",5000,0);
    }
    else
    {
    SCM(playerid,Rot,"Du bist zu weit entfernt. Begebe dich zur PD Tür!");
    }
    return 1;
    }

    Der Unterschied zwischen den beiden ist, dass du bei dem
    "SELECT * FROM `accounts` WHERE 1"
    Alles auswählst, was in `accounts` drinn ist, und den Wert eins hat. (* = ALLES. Also: SELECT * FROM `accounts` WHERE 1 == Wähle ALLES von accounts wo 1)
    Das andere wählt nur die aus, die du angegeben hast.


    Zitat

    und wie kann ich dann den Wert von der Datenbank dann im Script einem Enum zuweisen?


    Da kann ich dir leider nicht helfen.


    (Ich lasse mich auch gerne verbessern, falls ich etwas falsches sage. X:)


    Ich hoffe ich konnte wenigstens ein bisschen helfen. :)


    Gruß,
    Neo. :)

    Du lässt eine for-schleife ablaufen, und schaust, ob der Abgefragte Admin ist. Falls ja, sendest du playerid eine Nachricht mit dem Namen und dem Rang von dem Admin.



    Vielleicht hilft dir das ein wenig:

    Spoiler anzeigen

    ocmd:admins(playerid, params[])
    {
    spielerLaden(playerid);
    new count = 0, stringsend[128], stringsend1[128];
    SendClientMessage(playerid, COLOR_ADMINSON, "Administratoren:");
    for(new i; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    if(GetPVarInt(playerid, "admin") >= 1)
    {
    if(GetPVarInt(playerid, "adminDuty") == 1)
    {
    format(stringsend, sizeof(stringsend), "On Duty: %s", spielerName(i));
    SendClientMessage(playerid, COLOR_ADMINSON, stringsend);
    count++;
    }
    else
    {
    format(stringsend, sizeof(stringsend), "Off Duty: %s", spielerName(i));
    SendClientMessage(playerid, COLOR_ADMINSOFF, stringsend);
    count++;
    }
    }
    }
    }
    format(stringsend1,sizeof(stringsend1), "Es sind %i Admins online.", count);
    SendClientMessage(playerid,COLOR_ADMINSON, stringsend1);
    return 1;
    }

    Achso.
    Ich dachte das wäre ein Wert, womit er überprüft, ob derjenige, der Stats eingibt überhaupt eine Anfrage bekommen hat.
    Jetzt weiß ich, wieso ich nie ein GF angefasst habe. :D


    Was hat es mit diesem x_nr eigentlich auf sich?


    Gruß,
    Neo. :)

    Ej Leute ich bins nochmal, habe es nun mit anklickbaren textdraws gemacht.


    Aber irgendwie habe ich was verpasst, seit wann gibt es playertextdraws und welche vorteile bringen sie mit sich?^^
    Beim requesten der class kommen nun die anklickbaren textdraws, soll ich da palyertextdraws nehmen oder nicht?


    Vielen Dank,
    Achatblack

    Playertextdraws werden zum Beispiel verwendet, wenn du allen Spielern gleichzeitig zeigen willst, aber jeder doch was anderes sehen soll.
    Damit meine ich zum Beispiel die FPS. Oder eine Box mit Statistiken und so weiter.


    Du solltest normale TextDraws verwenden, da die von dir ja sowieso gleich bleiben(?).


    Ich hoffe ich konnte helfen.
    (Ich lasse mich auch gerne belehren, falls ich falsch liegen sollte.)


    Gruß,
    Neo. :)

    if(strcmp(x_nr, "stats", true) == 0)


    zu


    if(strcmp(cmd,"/stats", true) == 0)


    Ausserdem musst du doch das:
    AcceptStats[playerid] = 999;
    aus dem /stats raus machen und es bei dem /show mit playa machen.
    Denke ich. :D


    Ich hoffe ich konnte helfen.


    Gruß,
    Neo. :)

    Mit deinem Code speicherst du einfach nur die Informationen von dem Spieler in die pInfo.
    Du musst es aber noch setzen.
    z.B. so:


    public saveAccounts(playerid)
    {
    new pName[MAX_PLAYER_NAME], path[200];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(path, 200, "/accounts/%s.ini", pName);
    dini_IntSet(path, "gender", pInfo[playerid][gender]);
    dini_IntSet(path, "faction", pInfo[playerid][faction]);
    dini_IntSet(path, "leader", pInfo[playerid][leader]);
    und so weiter
    }

    Ich glaube ja, dass Julien dahinter steckt.



    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Wobei die Methode von Ditti besser ist, da du bei der, die ich geschrieben hab, das Geld von dem Spieler erst auf 0 setzt, und es dann neu setzt.


    Zu der Methode von Prototype kann ich leider nichts sagen, da ich eigentlich nie mit so etwas arbeite. X:


    Gruß,
    Neo. :)

    ocmd:biz(playerid,params[])
    {
    new path[128], preis, art,setx[128],sety[128],setz[128],setp[128], seta[128], sstring[128];
    new string[128] = "binfo";
    format(path, sizeof(path), "/biz/%s.ini", string);
    if(sscanf(params, "ii", preis, art))
    {
    SendClientMessage(playerid, -1, "/biz [Preis] [Art: 1-5]");
    SendClientMessage(playerid, -1, "biz-Arten: 1: Klein, 2:Mittel, 3:Groß, 4:Restaurante, 5:Sonstige");
    }
    else
    {
    if(!dini_Exists(path))
    {
    dini_Create(path);
    SendClientMessage(playerid, -1, "Biz Datei erstellt!");
    dini_IntSet(path, "bMAX", 0);
    return 0;
    }
    else
    {
    new Float:x1, Float:y1, Float:z1;
    GetPlayerPos(playerid, x1,y1,z1);
    new math = dini_Int(path, "bMAX") + 1;
    dini_IntSet(path, "bMAX", math);
    format(setx, sizeof(setx), "x%i", dini_Int(path, "bMAX"));
    format(sety, sizeof(sety), "y%i", dini_Int(path, "bMAX"));
    format(setz, sizeof(setz), "z%i", dini_Int(path, "bMAX"));
    format(setp, sizeof(setp), "preis%i", dini_Int(path, "bMAX"));
    format(seta, sizeof(seta), "art%i", dini_Int(path, "bMAX"));
    dini_FloatSet(path, setx, x1);
    dini_FloatSet(path, sety, y1);
    dini_FloatSet(path, setz, z1);
    dini_IntSet(path, setp, preis);
    dini_IntSet(path, seta, art);
    format(sstring,sizeof(sstring), "Biz %i erfolgreich erstellt. p: %i a: %i", dini_Int(path, "bMAX"), dini_Int(path, setp),dini_Int(path,seta));
    SendClientMessage(playerid, -1, sstring);
    }
    }
    return 1;
    }


    So sieht das ganze dann in etwa in Aktion aus:




    Vielleicht ist das ja für jemandem hilfreich.
    Mir hat's auf jedenfall sehr geholfen. :)