Drogendealer

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
  • Hey,


    Wen ich /seed buy eingebe kauft er die Pflanzen nicht automatisch warum?

  • Hey funktioniert denn Harvest oder plant einfach so?
    wenn nicht liegt es denke ich mal an der abfrage...
    if(sscanf(params, "s[30]i",Option)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
    Das amchst du zu dem hier
    if(sscanf(params, "s[30]",Option)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");


  • CMD:seed(playerid,params[])
    {
    new Option[25], string[128], Float:Pos[3];
    if(IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "Du kannst diesen Befehl in keinem Fahrzeug verwenden.");
    if(sscanf(params, "s[30]",Option)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
    if(strcmp(Option, "buy", true) == 0)
    {
    if(IsPlayerInRangeOfPoint(playerid, 3.0, -2109.5037,-0.4467,34.8972))
    {
    new preis = (2*1500);
    if(GetMoney(playerid) < preis)return SendClientMessage(playerid, COLOR_GREY, ERROR_MONEY);
    if((Spieler[playerid][pDrogenSamen]+2) > 2)return SendClientMessage(playerid, COLOR_GREY, "So viele Samen kannst du nicht mitnehmen.");
    Spieler[playerid][pDrogenSamen] = 2;
    GiveMoney(playerid, -preis);
    format(string, sizeof(string), "Du hast 2 Samen für %d$ gekauft.", preis);
    SendClientMessage(playerid, COLOR_GREEN, string);
    SendClientMessage(playerid, COLOR_GREEN, "Die Samen können nun mit ´/seed plant´ verwendet werden.");
    SendClientMessage(playerid, COLOR_GREEN, "Bitte beachte. Samen dürfen nicht an unerreichbaren/unrealistischen Stellen gepflanzt werden; bspw.");
    SendClientMessage(playerid, COLOR_GREEN, "in der Luft, auf Objekte/Bäume/Häuser, auf einer unrealistischen Stelle (keine Grünfläche).");


    }
    return 1;
    }
    if(strcmp(Option, "plant", true) == 0)
    {
    if(Spieler[playerid][pDrogenSamen] != 2)return SendClientMessage(playerid, COLOR_GREY, "Du benötigst mindestens 2 Samen, um eine Pflanze zu züchten.");
    if(Spieler[playerid][pGepflanzt] == 1)return SendClientMessage(playerid, COLOR_GREY, "Du hast bereits eine Pflanze angepflanzt.");
    if(GetPlayerInterior(playerid) != 0)return SendClientMessage(playerid, COLOR_GREY, "Du kannst keine Pflanzen in einem Interior anbauen.");
    GetPlayerPos(playerid, Pos[0], Pos[1], Pos[2]);
    for(new i=1;i<MAX_PFLANZEN;i++)
    {
    if(Drogen[i][dErstellt] != 1)
    {
    new query[128];
    format(query, sizeof(query), "INSERT INTO `script_drogen` (id) VALUES ('%d')", i);
    mysql_function_query(myCon, query, false, "", "");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Du hast 2 Samen gepflanzt. Mit ´/seed harvest´ kannst du den aktuellen Stand sowie die Position einsehen.");
    SendClientMessage(playerid, COLOR_LIGHTBLUE, "Der Mindestertrag an Drogen ist abhängig von der Zeit, mindestens jedoch werden 30 Minuten benötigt.");
    Drogen[i][dPflanzeObject] = CreateDynamicObject(19473, Pos[0], Pos[1], Pos[2]-1.0, 0, 0, 0, 0);
    Drogen[i][dID] = i;
    Drogen[i][dPflanzeX] = Pos[0];
    Drogen[i][dPflanzeY] = Pos[1];
    Drogen[i][dPflanzeZ] = Pos[2];
    Drogen[i][dErstellt] = 1;
    Spieler[playerid][pDrogenSamen] = 0;
    Spieler[playerid][pGepflanzt] = 1;
    new value = gettime()+(1200);
    Drogen[i][dPflanzenTimer] = value;
    format(Drogen[i][dBesitzer], 16, "%s", GetName(playerid));
    new pYear, pMonth, pDay, pHour, pMinute, pSecond;
    TimestampToDate(Drogen[i][dPflanzenTimer], pYear, pMonth, pDay, pHour, pMinute, pSecond, 1, 0);
    Drogen[i][dPflanzeText] = CreateDynamic3DTextLabel(" ",COLOR_WHITE,Drogen[i][dPflanzeX],Drogen[i][dPflanzeY],Drogen[i][dPflanzeZ],5.0);
    return 1;
    }
    }
    return SendClientMessage(playerid, COLOR_GREY, "Maximale Anzahl an Drogenpflanzen erreicht!");
    }
    if(strcmp(Option, "harvest", true) == 0)
    {
    if(Spieler[playerid][pGepflanzt] == 0)return SendClientMessage(playerid, COLOR_GREY, "Du hast keine Pflanze angepflanzt.");
    for(new i=1;i<MAX_PFLANZEN;i++)
    {
    if(Drogen[i][dErstellt] != 0)
    {
    if(!strcmp(GetName(playerid), Drogen[i][dBesitzer], false))
    {
    if(!IsPlayerInRangeOfPoint(playerid, 5.0, Drogen[i][dPflanzeX], Drogen[i][dPflanzeY], Drogen[i][dPflanzeZ]))
    {
    SetPlayerCheckpointEx(playerid, Drogen[i][dPflanzeX], Drogen[i][dPflanzeY], Drogen[i][dPflanzeZ], 3.0, CP_DROGEN, INVALID_CHECKPOINT_TYPE);
    return SendClientMessage(playerid, COLOR_GREY, "Du bist nicht an deiner Pflanze.");
    }
    if(gettime() < Drogen[i][dPflanzenTimer])return SendClientMessage(playerid, COLOR_GREY, "Die Pflanze ist noch nicht reif!");
    new marihuana = randomex(1, 6), query[128];
    new randomSkill = randomex(1, 3);
    GivePlayerDrogenSkill(playerid, randomSkill);
    format(string, sizeof(string), "Du hast deine Pflanze geerntet und %d Gramm Marihuana erhalten.", marihuana);
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    Spieler[playerid][pGepflanzt] = 0;
    Spieler[playerid][pMarihuana] += marihuana;
    format(query, sizeof(query), "DELETE FROM `script_drogen` WHERE `id`='%d'", Drogen[i][dID]);
    mysql_function_query(myCon, query, false, "", "");
    mysql_free_result();
    DestroyDynamicObject(Drogen[i][dPflanzeObject]);
    DestroyDynamic3DTextLabel(Drogen[i][dPflanzeText]);
    Drogen[i][dPflanzeText] = Text3D:INVALID_3DTEXT_ID;
    return 1;
    }
    }
    }
    }
    return 1;
    }



    Habe ich geändert,


    So aber das ding ist wen ich /seed buy eingebe bin an dem Punkt gibt er nichts aus -> normal müsste er die samen dann automatisch kaufen

  • if(sscanf(params, "s[30]i",Option)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");

    Ersetze diese Zeile zu:



    if(IsNull(params)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
    format(Option,30,params);

    ast2ufdyxkb1.png


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

  • C:\Users\Medion\Desktop\Daten Medion\GTA SA Datein\GTA Scripts\German\gamemodes\happyages.pwn(9908) : error 017: undefined symbol "IsNull"




    if(IsNull(params)) return SendClientMessage(playerid, COLOR_GREY, "Benutze /seed [buy/plant/harvest]");
    format(Option,30,params);

  • Beitrag von FineTime ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Zu spät ().
  • #if !defined IsNull #define IsNull(%1) \ ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))#endifdas meinste? oder




    //E:



    Funktioniert immer noch noch nicht wen ich /seed buy -> nimmt er nicht an er gibt keine nachricht nichts aus. Wen ich /seed plant gibt er nachricht aus das ich keine samen hab

    • Offizieller Beitrag

    Nirgendwo gibst du eine Meldung ab, wenn du nicht am richtigen Ort bist, vielleicht liegt es ja daran. Versuch das obige Beispiel.