Wie erstellt man einen minensystem

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
  • Willst du die minen gleich im GM haben?


    musste enums erstellen ...


    beim sekundentimer abfragen ob er in reichweite ist, und Explosion createn ....
    Wenn du davon keine ahnung hast mache ich die es^^

  • ok habe keine ahung :P


    und kannst du mir ein fs machen


    danke im vorraus


    was meinste mit einstellen, soll mann nicht /mine machen können und nach 10 sek. ist eine scharfe mine am standort?




    nein sonder das soll in einer mafia sein und wen man drauf tritt das man in die luft geht.


    ohne commands

  • also schiwierig ist das alle mal nicht ...


    Aber ein Fs mache ich dir nicht ....


    enum mMm
    {
    Float:MineX,
    Float:MineY,
    Float:MineZ,
    MineDetonated
    };
    new Float:Mine[][mMm]={
    {0.0,0.0,0.0,false},//X,Y,Z,Hochgegangen?
    {0.0,0.0,0.0,false}
    };


    im einem Sekundentimer .... jeder RL-GM hat ein...


    for(new i=0;i<MAX_PLAYERS; i++)
    {
    for(new mm=0;mm<sizeof(Mine);mm++)
    {
    if(IsPlayerInRangeOfPoint(i,5.0,Mine[mm][MineX],Mine[mm][MineY],Mine[mm][MineZ]))
    {
    if(!Mine[mm][MineDetonated])
    {
    Mine[mm][MineDetonated]=true;
    CreateExplosion(Mine[mm][MineX],Mine[mm][MineY],Mine[mm][MineZ], 7, 10);
    }
    }
    }
    }

  • kannst du bitte ausfühllicher schreiben


    ich check noch nicht soviel

    Ist doch schon perfekt beschrieben!
    Du musst halt noch bei new Float:
    Die X,Y,Z-Koordinaten eintragen!
    Natürlich solltest du das ganze in dein Script/FS eintragen und falls nicht vorhanden,einen SekundenTimer erstellen!
    (SetTimer("SecTimer",1000,1);)
    Dazu natürlich auch die passende public!

  • Ich glaube, dass zählt als Thread Push aber egal...


    @ Topic:


    Du könntest doch auf einfach per IsPlayerInRangeOfPoint prüfen ob er inner nähe eines bestimmten Punkt ist, und dann eine Explosion beim Player Kreieren, bzw. da wo die Miene liegt :P wäre ja sonst unlogisch ^^


    Edit:/ So hab was gescriptet:


    oben


    forward MienenFeld(playerid);
    new MienenTimer[MAX_PLAYERS];


    Bei OnPlayerConnect
    MienenTimer[playerid] = SetTimerEx("MienenFeld", 1000, 1, "i", playerid);// Zeit nach belieben veränderbar, 1000 ist jetzt eine Sekunde, bei 0, Explodiert das Teil sofort :D


    Dann erstellst du ein Public:
    public MienenFeld(playerid)
    {


    if(IsPlayerInRangeOfPoint(playerid,4,1707.6882,1025.5309,10.8203)) //Beispiel Pos, ist nur kurz Kopiert die Pos d.h einfach ändern... die 4 muss auf 4.0 geändert werden glaub ich, wenn sie innerhalb von 4 Metern explodieren soll bin mir grad nicht so sicher :D bei mir hats geklappt, (kA wie nah ich dran war :D)
    {
    CreateExplosion(1707.6882,1025.5309,10.8203,7,10.10); //Erstellt an der bsp. Pos eine Explosion, des Typ 7 mit einem Radius von 10 Metern...
    }


    //Hier einfach wie da oben
    if(IsPlayerInRangeOfPoint....
    {
    CreateExplosion....
    }


    return 1;
    }


    Aso und bei OnPlayerDisConnect:
    KillTimer(MienenTimer[playerid]);


    Muss klappen, selber getestet :D

    Einmal editiert, zuletzt von Aarys ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Jop ginge auch aber ich denke fürn Anfang ist das mit Timer doch besser^^


    aber ich machs auch immer so (Ich weiß Recourcen Fressend :D)


    PS: Recourcen Richtig geschrieben? O.o


    Edit:/ Wie geht was?


    Edit2:/
    Fehlerhafte Infos wtf 8|

    Einmal editiert, zuletzt von Aarys ()