Beiträge von SylpheedW

    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.


    Immer wieder geil, ne... ^^


    Hey, erstmal danke für deine Hilfe, abber wofürr das Accept[4], // Typ ID, Spieler ID, Parameter 1, Parameter 2 <- Dynamisch gehalten für bessere Übersicht


    Das ist ein Array damit etwas Ordnung reinkommt, in diesem wird die Typ ID der Anfrage = 0, die ID des Spielers von dem du die Anfrage bekommen hast = 1, und 2 Parameter z.B. für Preis und Anzahl



    Und wofür brauche ich #define ACCEPT_DRUGS 1


    Diese Konstante ist nützlich wenn man nicht mehr weiß welche ID das für den Array Anfrage Job war.


    z.B.:

    #define ACCEPT_DRUGS 1
    #define ACCEPT_GUNS 2



    Und was für 'ne Abfrage ist das:
    if(Player[pID][Accept][0] != ACCEPT_DRUGS)return SCM(...);
    Also was bezweckt sie?


    Wenn die Anfrage die der Spieler bekommen hat nicht für Drogen ist, sendet er im eine Nachricht und bricht weiteres ab.


    Hoffe dass ich deine Fragen beantworten konnt...


    Gruß, Piet

    Wir hatten letztens noch eine Diskussion, über Copy & Paste Leute ;)


    Nun schon wieder, etwas erklärt haste ja, aber er hätte es auch selber geschafft, in dem wir ihn erklären, was er machen muss.


    Tut mir leid, nur ich kann solche gescripteten Sachen schlecht erklären...


    #define ACCEPT_DRUGS 1


    enum spielerenum
    {
    ....
    Accept[4], // Typ ID, Spieler ID, Parameter 1, Parameter 2 <- Dynamisch gehalten für bessere Übersicht
    ...
    };


    ocmd:drug(playerid, params[])
    {
    if(GetPlayerJob(playerid) != JOB_DEALER)return SCM(...);
    new pID, anzahl, preis;
    if(sscanf(params, "udd", pID, anzahl, preis))return SCM(...);
    if(!IsPlayerConnected(pID))return SCM(...);
    if(Player[playerid][Accept][0] != 0)return SCM(...); Er hat noch eine Anfrage am laufen
    if(anzahl <= 0 || preis <= 0)return SCM(...);
    Player[pID][Accept][0] = ACCEPT_DRUGS;
    Player[pID][Accept][1] = playerid;
    Player[pID][Accept][2] = anzahl;
    Player[pID][Accept][3] = preis;
    format(...);
    SCM("%s will dir % Drogen für %€ verkaufen. /accept, /cancel");
    return 1;
    }


    ocmd:accept(playerid, params[])
    {
    if(!Player[pID][Accept][0])return SCM(...);
    new what[16];
    if(strcmp(params, "drugs", true, 5))
    {
    if(Player[pID][Accept][0] != ACCEPT_DRUGS)return SCM(...);
    // Geld nehmen, und Player[pID][Accept][1] geben
    // Accept alles auf 0 (0, 1, 2, 3)
    // formatierte Nachricht beiden senden
    }
    return 1;
    }


    Den /cancel solltest du dann auch schaffen...


    MfG, Piet :)

    Schick uns doch die Fehler...


    Und guck mal meinen überarbeiteten Beitrag an.


    Kaliber:


    else
    {
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid, GELB, "Du hast nun einen Admin rank!");
    SendClientMessage(playerid, GELB, "Der Spieler ist nun Admin!");
    }
    else
    {
    return SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    }


    Was ist das denn für ein Humbug??!




    ocmd:makeadmin(playerid, params[])
    {
    new pid,level;
    if(sscanf(params,"ud", pid, level))return SendClientMessage(playerid,GRAU,"Verwendung : /makeadmin [Spieler id] [Admin level]");
    if(!IstSpielerAdmin(playerid, 6))return SendClientMessage(playerid,ROT,"Du bist kein Adminstrator!");
    if(pid == INVALID_PLAYER_ID)return SendClientMessage(playerid,ROT,"Dieser Spieler ist nicht Online!");
    if(sSpieler[pid][Adminlevel] == level))return SendClientMessage(playerid,FMEDIC,"Der Spieler hat schon das gewünschte Admin level!");
    sSpieler[pid][Adminlevel] = level;
    SendClientMessage(pid, GELB, "Du hast nun einen Admin rank!");
    SendClientMessage(playerid, GELB, "Der Spieler ist nun Admin!");
    return 1;
    }


    stock IstSpielerAdmin(playerid, adminlevel){
    if(sSpieler[playerid][Adminlevel] >= adminlevel)return 1;
    return 0;
    }


    http://wiki.sa-mp.com/wiki/Sscanf_code


    new Suizide[MAX_PLAYERS];


    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(killerid == INVALID_PLAYER_ID)
    {
    //Spieler ins Krankenhaus setzen
    Suizide[playerid] = 1;
    printf("[suizide] %d", playerid);
    }
    return 1;
    }


    public OnPlayerSpawn(playerid)
    {
    if(Suizide[playerid])
    {
    Suizide[playerid] = 0;
    SetPlayerPos(playerid, X, Y, Z);
    return 1;
    }
    return 1;
    }


    Solltest du mal testen...


    Gruß, Piet

    Geh auf einen Zufälligen Server und gehst wieder runter.
    Jetzt öffnest du "GTA San Andreas User Files\SAMP\chatlog.txt" und DORT findest du ganz oben
    bei "Multiplayer gestartet" den Farbcode(in geschweißten Klammern).


    SendClientMessage(damagedid, BLUTROT, "Du wurdest von dem Tripolisopfer %s infiziert!", angreifer);


    Verusch es mal mit format... ^^


    /edit:

    new string[128];
    format(string, sizeof(string), "Du wurdest von dem Tripolisopfer %s infiziert!", angreifer);
    SendClientMessage(damagedid, BLUTROT, string);

    Muss man alles selber machen?! :huh:


    Gruß, Piet

    Es gibt kein Service Pack 4 für XP!?, nur für 2000
    Um in dein WLAN zu kommen gehst du auf die WLAN-Verbindung ( unter Netzwerkverbindungen ) und machst Drahtlosnetzwerke anzeigen, dann dein Netz und gibst Passwort ein.
    Dann sollte es eig. gehen...