Problem mit System

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
  • Schönen Guten Abend / Morgen


    wollte mir wohl mal aus langeweile kleines Pflanzen System machen ( Drogen ) jedoch spackt das komplett rein



    CMD:pflanzen(playerid, params[])
    {
    if(!PI[playerid][P_VIP]) return SendClientMessage(playerid, -1, "{"GREY"}Dieser Befehl ist nur für VIP Mitglieder");
    if(PI[playerid][P_GAMEMODE] != M_FREEROAM) return SendClientMessage(playerid, -1, "{996600}Du befindest dich nicht im Freeroam Modus");
    if(!DrugsInfo[playerid][gepflanzt]){
    GetPlayerPos(playerid, DrugsPos[0],DrugsPos[1],DrugsPos[2]);
    DrugsInfo[playerid][DrugsObjekt] = CreateObject(801,DrugsPos[0],DrugsPos[1],DrugsPos[2], 0.00, 0.00, 0.00);
    new string[250];
    format(string,sizeof string,"Marihuana Pflanze\nvon: %s",PI[playerid][P_NAME]);
    DrugsInfo[playerid][Drugs3DText] = Create3DTextLabel(string, 0x008080FF,DrugsPos[0],DrugsPos[1],DrugsPos[2],40.0, 0, 0);
    SendClientMessage(playerid,-1,"{C6D855} [WEED]{"ORANGE"} Das Marihuana wurde gepflanzt nach 5 minuten kannst du diese ernten");
    DrugsInfo[playerid][gepflanzt1] = 1;
    DrugsInfo[playerid][gepflanzt] = true;
    SetTimer("Drug",300000,false);
    }
    else SendClientMessage(playerid,-1,"{C6D855} [WEED]{"ORANGE"} Du hast schon eine Marihuana-Pflanze gepflanzt");
    return 1;
    }


    Damit hätte ich eine Pflanze erstellt. Funktioniert auch alles Wunderbar, nur wenn mein Kollege eine erstellt wird mir die nach 5 minuten gegeben statt ihm
    verzweifle da ein wenig liegt wohl daran das ich der totale noob bin aber who cares ? :D




    bedanke mich für jegliche antworten

  • Sorry :D



    public Drug(playerid)
    {
    SendClientMessage(playerid,-1,"{C6D855} [WEED]{"ORANGE"} Dein Marihuana ist ausgereift");
    SendClientMessage(playerid,-1,"{C6D855} [WEED]{"ORANGE"} Zusäzlich erhälst du 1g als Bonus");
    PI[playerid][P_DROGEN] +=1;
    DrugsInfo[playerid][gepflanzt1] = 0;
    return 1;
    }

  • SetTimer("Drug",300000,false);

    Hier übergibst du keine playerid.


    Somit wird immer 0 genommen als Default Wert.


    Da du auf dem Server wahrscheinlich ID 0 bist, bekommst du das andauernd ;)


    Machen musst du das mit:


    SetTimerEx("Drug",300000,false,"i",playerid);


    Beachten solltest du aber bei der Methode 2 Dinge:


    • Wenn der Spieler offline ist, failt deine Methode.
    • Wenn der Spieler disconnected und ein anderer Connected, bekommt er ja die spielerid vom alten Spieler und bekommt dann das Marihuana ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Am besten so:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S