Hilfe! (Medipack Feature) (Bin neu :P)

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
  • Ja, du machst das mit einer Player Variable, also so:


    //oben in deinem Script
    new pack[MAX_PLAYERS];


    //dein Heal Pack Befehl
    if(pack[playerid] == 1) return SendClientMessage(playerid, rot,"Du besitzt bereits einen Heal Pack !");
    pack[playerid] = 1;


    //und der Heal Command
    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    if(pack[playerid] == 0) return SendClientMessage(playerid, rot,"Du hast kein Heal Pack mehr !");
    pack[playerid] = 0;
    SetPlayerHealth(playerid,100);
    return 1;
    }


    mfg. :thumbup:

    ast2ufdyxkb1.png


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

  • Meinst du des so?


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    if(pack[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF,"Du hast kein Heal Pack mehr !");
    pack[playerid] = 0;
    SetPlayerHealth(playerid,100);
    return 1;
    }
    return 0;
    }


    und wo genau kommt das andere jetzt hin :D?


  • also noch genauer gehts doch wohl garnicht. wenn du nicht scripten kannst, warum machst du dich gleich an sowas? fang doch erstmal mit was leichtem an. ;)

  • jetzt mal ne ganz ehrliche frage... kannst du lesen???


    //dein Heal Pack Befehl
    if(pack[playerid] == 1) return SendClientMessage(playerid, rot,"Du besitzt bereits einen Heal Pack !");
    pack[playerid] = 1;


    was teht da drüber in grün?? du willst doch nur, dass man es dir macht. selbst ist die frau von heute. ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Du hast jetzt zwei Threads aufgemacht mit diesem Account und einen anderen mit deinem wahrscheinlich anderen account. Sowas nennt man Multiaccount und ist verboten. Wenn du was wissen möchtest schreibs in deinen alten Thread. Und nicht immer neue eröffnen.


    //Siehe Script Base sind 3 Threads von ihm drin mit dem gleichen Thema, eins wurde vor kurzem gelöscht.


    MFG

  • Ich habs im Script gemacht, das KEINE ERRORS ODER WARNINGS mehr kommen, nur das Problem ist jetzt


    das wenn man das medipack im shop kauft, man das Leben sofort geresettet kriegt, es sol aber nur resetten wenn man /heal schreibt, wie geht das?


    Hier ist der Command:
    if (strcmp("/heal", cmdtext, true, 10) == 0)
    {
    if(pack[playerid] == 0) return SendClientMessage(playerid, 0xFF0000FF,"Du hast kein Medipack mehr !");
    pack[playerid] = 0;
    SetPlayerHealth(playerid,100);
    SendClientMessage(playerid, 0x00C100FF,"Du hast dich geheilt.");
    if(pack[playerid] == 1) return SendClientMessage(playerid, 0xFF0000FF,"Du besitzt bereits einen Medipack !");
    pack[playerid] = 1;
    return 1;
    }


    Hier der Shop:
    }
    if(listitem == 1)
    {
    SendClientMessage(playerid,0x7AA4A6FF,"Du hast dir ein Medipack gekauft!");
    SetPlayerHealth(playerid,100);
    GivePlayerMoney(playerid,-1000);
    return 1;
    }


    Wie geht es,das wenn er auf dem listitem 1 , es kauft und er ein "medipack" erhält, aber das leben immeroch so bleibt wie es war, und erst wenn er /heal schreibt, das das leben aufgefüllt wird?

  • Ja ach ^^, ich habs jetzt entfernt, aber wie sonst soll das leben geresettet werden ?! wenn man drauf klickt,bzw. es kauft dann passiert nichts, nur geld wird weg genommen, aber man soll sein leben dann im laufe des games mit /heal resetten, das aber auch nur wenn man es im shop gekauft hat! :D Also was muss ich ändern :pinch:

  • du musst auch nen befehl dafür machen und dort die abfrage einbauen, die kaliber dir schon gegeben hat.


    if(pack[playerid] == 1) return SendClientMessage(playerid, 0xFF0000FF,"Du besitzt bereits einen Medipack !");
    pack[playerid] = 1;
    das kommt dann in den befehl rein und nicht in den /heal befehl. ;)