Kleine Feinheiten für befehl ersetllen

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,


    also ich habe den befehl prison erstellt... natürlich mit timer... er funktioniert auch... aber ich möchte jetzt noch 2 weitere einstellungen vornehmen:


    1) der befehl soll nur an diesem punkt 606.0347,-2878.1519,45.3313 funktionieren... ich weiß wie das bei onplayercommand funktioniert, also mit if(IsPlayerInRangeOfPoint, wie muss das jetzt bei ocmd aussehen?


    2) der timer läuft immer für 30 min wie kann man das ändern, das man die zeit oder das wantedlevel= zeit die man im gefängnis ist einstellen also zB /prison [id] [wantedlevel zB 60wps= 30 min oder zeit] [Grund]


    hier der befehl... wie gesagt der timer läuft immer 30 min:


    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • danke für die schnelle antwort,


    was mussen ich denn statt IsPlayerInRangeOfPoint beim ocmd verwenden.? ... der befehl soll nur an diesem punkt möglich sein

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Da musst du genau so das selbe verwenden.
    z.B. so:


    if(!IsPlayerInRangeOfPoint(playerid,3,x,y,z))//Deine Daten einfügen
    {
    return SendClientMessage(playerid,COLOR_RED,"Du musst an dem Punkt XY sein!");//Den Name des Ortes einstellen
    }


    Das mit der Zweiten Frage versteh ich nicht, wie meinst du das?

  • super so funktioniert es perfekt! genau so wie ichs wollt xD


    zu meiner 2. frage:


    der befehl spawnt einen spieler ja ins gefängnis und startet einen 30 minuten timer... wie kann man den befehl ändern, so dass man die zeit mit eingeben muss... also so sollte das dann aussehen: /prison [id] [zeit] [grund]


    das mit den wanted... meinte ich so, wenn man statt [zeit] die wanted anzahl zB 60 eingibt das man dann für 30 minuten im prison ist, wenn man 50wps eingibt für 25 min usw... also: /prison [id] [Wantedanzahl] [grund]

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • die wanted anzahl zB 60 eingibt das man dann für 30 minuten im prison ist

    Wieso wenn man 60 eingibt 30?
    Gib mir 5 Minuten, dann hast du deinen command


    Edit: Schau:



    ocmd:prison(playerid,params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid,3,x,y,z))//Deine Daten einfügen
    {
    return SendClientMessage(playerid,COLOR_RED,"Du musst an dem Punkt XY sein!");//Den Name des Ortes einstellen
    }
    if(!isPlayerInFrakt(playerid,24))return SendClientMessage(playerid,COLOR_ROT,"Du hast nicht die Berechtigung um diesen Befehl zu nutzen!");
    new pID, reason[128],string[128],zei;
    if(sscanf(params,"uis",pID,zei,reason))return SendClientMessage(playerid,COLOR_BLAU,"/prison [ID] [Zeit in Minuten] [Grund]");
    format(string,sizeof(string),"[REGIERUNG]: %s wurde von Soldat %s für %d Minuten ins Alkatraz eingesperrt! [Grund: %s]",SpielerName(pID),SpielerName(playerid),zei*60000,reason);
    SendClientMessageToAll(COLOR_ORANGE,string);
    SetPlayerPos(pID,630.9556,-2894.3494,45.3322);
    SetTimerEx("PrisonTimer",zei*60000,0,"i",playerid);
    ResetPlayerWeapons(pID);
    format(string,sizeof(string),"~r~Du bist für %d Minuten Insasse von Alkatraz! Du sitzt hier nun deine Strafe ab!",zei*60000);
    GameTextForPlayer(pID,string,4000,5);
    return 1;
    }


    /prison [ID] [Zeit in Minuten] [Grund]
    Das Bedeutet wenn du bei Zeit 60 eingibst, dann sitzt er eine Stunde im Knast.


    Edit2: Musste noch etwas ändenr, kopier den Code nochmal

  • jupp klappt =) allerdings steht wenn ich zB 1 minute beim befehl eingebe: "[REGIERUNG]: %s wurde von Soldat %s für 60000 Minuten ins Alkatraz eingesperrt!


    was muss ich machen das auch die minuten angezeigt wird und nicht die millisekunde?
    und wie kann ich es einstellen das mehrere fraktionen den befehl nutzen können zB:

    Zitat

    if(!isPlayerInFrakt(playerid,24)II !isPlayerInFrakt(playerid,24))return...usw


    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

  • Ups, ist mir ein kleiner Fehler unterlaufen
    Ändere
    format(string,sizeof(string),"[REGIERUNG]: %s wurde von Soldat %s für %d Minuten ins Alkatraz eingesperrt! [Grund: %s]",SpielerName(pID),SpielerName(playerid),zei*60000,reason);

    in
    format(string,sizeof(string),"[REGIERUNG]: %s wurde von Soldat %s für %d Minuten ins Alkatraz eingesperrt! [Grund: %s]",SpielerName(pID),SpielerName(playerid),zei,reason);

  • jop klappt ^^


    wenn ich das auch in zei ändere erscheint der text nicht mehr :D


    statt:


    Zitat


    format(string,sizeof(string),"~r~Du bist für %d Minuten Insasse von Alkatraz! Du sitzt hier nun deine Strafe ab!",zei*60000);
    GameTextForPlayer(pID,string,4000,5);


    habe ich:


    Zitat

    format(string,sizeof(string),"~r~Du bist für %d Minuten Insasse von Alkatraz! Du sitzt hier nun deine Strafe ab!",zei);
    GameTextForPlayer(pID,string,4000,5);


    funktioniert aber nicht xDD

    Mein Selfmade:

    1.Haussytem [99/100%]
    2.Handysystem [95/100%]
    3.Payday [95/100%]
    4.Autosystem [100/100%]
    5. kleinigkeiten, wo ich noch bugs habe^^ [75/100%]
    Wer mir helfen möchte und vorallem Lust oder Zeit hat, darf sich natürlich bei mir melden. :D


    >> ¡Einfach PN an mich! <<

    Marco

    Einmal editiert, zuletzt von [MM]Marco ()