deathmatcharena neue funktion? + frage

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,


    ich habe mal ne frage, und ich habe schon geguckt, aber nirgendswo ne antwort gefunden...


    ich möchte in meinem rl server eine deathmatch arena erstellen. also das grundgerüst weiß ich, also wie man rein kommt etc, aber ich würde gern eine neue funktion erstellen: isplayerinarena. ich weiß leider nicht wie das geht, sie soll abfragen, ob der spieler sich in der arena befindet.


    kann ich das einfach so machen?


    stock isPlayerInArena(playerid,hier muss wahrscheinlich auch noch was hin)
    {
    if(IsPlayerInRangeOfpoint(playerid, usw)return 1;
    return 0;
    }



    ist wahrscheinlich falsch...



    ok meine


    frage:


    wie kann ich es machen, das die maps nach einer runde wechseln... ich wollte machen,das eine runde 5 minuten geht und es 3 maps gibt... ich möchte ja auch, das die spieler auf der geraden aktiven map spawnen...



    ja das sind meine 2 fragen, wäre nett wenn ihr mir helfen würdet...



    LG


    Marco


    //EDIT: Ist meine frage zum kompliziert, habt ihr kein bock mir zu helfen oder sind schon alle offline?^^

    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 ()

  • stock isPlayerInArena(playerid,arenaid)
    {
    new Float:x,Float:y,Float:z;
    GetPlayerPos(playerid,x,y,z);
    switch(arenaid)
    {
    case 0: if(minx > x && maxx < x && miny > y && maxy < y) return 1; // die cords sind wie bei den Gangzonen
    //usw
    }
    return 0;
    }


    Das sollte dein 1. Problem lösen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ok danke blackace^^


    mit einer map klappt es wunderbar :D
    wie kann ich das jetzt machen wenn man mehr als nur eine map hat?... ich denke man muss ja iwie abfragen welche map gerade läuft oder? sagen wir mal ich muss die map defienieren oder? also zB so: new map1 = und dann die coodinaten?

    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

  • Deswegen war ja auch meine Idee eine Arena ID festzulegen, damit kann man die aktuelle Map gut abfragen ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ah gute idee^^


    ähm.. muss ich jetzt hier die spawnposition hier nehmen oder die ganze map vermessen? ok ich kann es mir eig schon denken, aber ich frage lieber nochmal nach :)


    case 0: if(minx > x && maxx < x && miny > y && maxy < y) return 1;

    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

  • Wie bei den GangZonen und SetWorldBounds es muss dann die komplette Map sein


    Du nimmst dann die Cords von oben links und unten rechts ;)

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ok, also ich hab das jetzt gemacht, klappt auch, also dann muss ich ja das nächste einfach mit case 1 usw weitermachen, aber wiekann ich machen, das nach 5 minuten die nächste map ausgelesen wird und man nur auf er aktiven map gespawnt wird?

    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

  • mit nem Timer und ner Var die du auf die Map nummer legst?
    also if(Map == 2) SetPlayerPos(playerid,x,y,z);

    "Bevor ich mir Informationen aus der "Bild" hole,
    werde ich anfangen, Wahlergebnisse danach vorauszusagen,
    neben welchen Busch unsere Katze gepinkelt hat."

    Margarete Stokowski

  • ok,


    ich hab jetzt nochmal ein bisschen rumprobiert:
    also wie kann ich zB sagen, das wenn ich 2 maps habe:


    case 0: if(minx > x && maxx < x && miny > y && maxy < y) return 1; // die cords sind wie bei den Gangzonen
    case 1: if(minx > x && maxx < x && miny > y && maxy < y) return 1;



    wie kann ich abfragen welche der beiden maps gerade bespielt wird?


    ich versteh das mit den vars nicht wirklich kannst du mir das

    Zitat

    Ich würd die Var einfach auf die MapNummer setzen wenn du die Map lädst/festlegst


    vllt nochmal erklären wenn du zeit hast ?^^


    Oder kann mir sonst vllt jemand helfen? :D



    LG

    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 ()

  • Mach doch einfach das hier:


    new IsInArena[MAX_PLAYERS];


    Wenn der Spieler die Arena betritt:


    IsInArena[playerid] = 1;


    Wenn er sie verlässt:


    IsInArena[playerid] = 0;


    Jetzt kannst du Abfragen:


    if(IsInArena[playerid])
    {
    //....
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • ich glaube du hast nicht ganz verstanden was ich vorhabe^^ trotzdem ansich ein guter vorschlag,


    aber ich möchte, das es zB 3 maps gibt, und man immer auf die map gesetzt wird, die gerade bespielt wird.

    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

  • noskill hat schon recht das die einfachere methode abzufragen ob einer in der arena ist ;) da sind dann nämlich die cooardinaten egal da ja die Variable dem spieler zugewiesen wurde und du dann immer abfragen kannst mit if ob derjenige in der Arena ist ;)

    Zitat

    naja aufm homeserver mit kumpel getestet und nix laggt von daher sollte nen richtiger server mit sowas keine probs haben

    *an Kopf schlag
    sowas kommt Raus wenn man erst absendet ohne nachzudenken. Bitte Leute Hirn einschalten beim Posten...

  • mhm... ich frage aber schon ab ob der spieler in der arena ist mit der funktion if(isplayerinarena(plaerid,arenaid)
    ;)


    ich möchte das jetzt so machen, wenn ich den server starte, läuft map 1 in dem fall in dem stock case 0, der timer läuft ab, dann wird man auf map 2 geportet.
    usw... und wenn man halt die arena betritt, soll man je zu der arena geportet werden, wo derzeit der timer läuft bzw welche derzeit bespielt wird.


    und das dann nochmal mit einer 3. map

    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 ()

  • :D okay ich versuch es mal,


    wie muss ich die spawns denn laden?
    und wie defienieren... sry ich kenne mich nicht sehr gut mit enums aus :S


    ich habs bis jetzt so:



    #define mapspawns 3
    enum jailenum
    {
    mapspawn,
    mapspawn,
    mapspawn,
    }

    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