Tazer&Bomben leg funktion im DM GM

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
  • Also ich möchte gerne eine Tazer funktion in einem DM GM haben aber ich weiß nicht wie kann mir bitte jemand sagen wie das geht ? also man soll so oft tazern können wie man will also ohne zeit beschränkung und wenn der jenige schon getazert ist soll da eine nachricht kommen "ist bereits getazert" und man soll nicht durch das auto tazern können


    Bomben leg funktion also da soll ne zeit beschränkung von 10mins sein der timer der bombe ist auf 60sekunden und es soll eine große explosion geben und wenn man eine bombe legt soll da auch das dazu gehörige object spawnen wenn die bombe hoch gegangen ist soll das object wieder weg


    MFG:Nico Porath

  • kann mir denn keiner helfen ? zumindest die tazer funktion :)

  • Schreiben musst dus selber, ich kann dir allerdings einige Anregungen geben.
    Tazern:
    Um den Spieler zu freezen, benutze
    TogglePlayerControllable(playerid, 0); zum unfreezen wieder
    TogglePlayerControllable(playerid,1);.
    Damit du die Nachricht "ist bereits getazert" senden kannst, musst du beim freezen/unfreezen eine Variable setzen wie z.B.
    pTazed[playerid] = 1; beim freezen und pTazed[playerid] = 0; beim Unfreezen. Bei deinem /tazer Command kannst du dann die Variable des Spielern, der getazert wird abfragen, sollte die auf 1 stehen, dann sende die Nachricht.
    Damit der Spieler wieder unfreezt wird nach einer gewissen Zeit musst du einen Timer benutzen, welche den Spieler wieder laufen lässt (unfreeze).


    Bombenlegen:
    Ja das ist noch einfacher, einfach bei deinem /plant Befehl einen Timer setzen auf 60 Sekunden welcher dann einfach CreateExplosion auslöst. Um dabei die Position nach 60 Sekunden wieder herauszufinden, kannst du bei /plant einfach CreateObject benutzen (ein Bombenobjekt gibt es sicherlich) und dann in deinem Callback, der nach 60s ausgeführt wird (da wo auch dein CreateExplosion drin ist) einfach GetObjectPos und die CreateExplosion dann da ausführen wo das Objekt lag. Ach ja DestroyObject nicht vergessen am Ende.

  • if (strcmp("/plant", cmdtext, true, 10) == 0)
    {
    new Float:x,Float:y,Float:z);
    GetPlayerPos(playerid, x, y, z;
    CreateExplosion(x,y,z-0.5,2,10);
    ich habs nur so weit und so kommt die explosion direkt vor dem Spieler und sofort nach dem man den befehl eingegeben hat


    if (strcmp("/plant", cmdtext, true, 10) == 0)
    {
    new Float:x,Float:y,Float:z;
    settimer("plant",1500,0);
    GetPlayerPos(playerid, x, y, z);
    CreateExplosion(x,y,z-0.5,2,10);


    dann bleibt das immer noch gleich kann mir das bitte jemand so umschreiben das es mit dem timer geht ? das mit dem object bekomm ich denn noch alleine hin :)