PTP system wie auf Nova

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 bitte euch hier nicht so agressiv zu sein


    und PTP ist ein Event das fast jede woche da veranstaltet wird.


    Es läuft so ab das es ein Präsidenten gewählt wird und von den 2Gruppen abhaut.


    Es gibt 3 Gruppen


    1.Gruppe : Staat


    2.Gruppe : Mafia/Gangs


    3.Gruppe : Zivis


    der Staat verteildigt na klar den Präsidenten und die 2 anderen Gruppen versuchen ihn zu töten.


    Das Event soll 90min dauern wenn die Zeit um ist soll der Staat sein Gehalt kriegen.


    wenn ein Zivi den Präsi killt soll er ganz alleine die 1Mio kriegen.


    Also wenn ihr mir ein Tipp dafür gibt wie ich das scripten kann könnte ich euch bedankbar sein .


    Ich habe das mit dem Befehl garnicht kapiert den wenn ich /ptp z.b 13 eingebe soll bei jeden steht Der heutige Präsident ist id13 versucht ihn zu killen


    und wie mache ich das mit den Gruppen ?

  • Mit einem Timer
    nen Befehl
    und if abfragen, in dem du abfragst, wer in welcher frak ist.
    Und dann das geld zu ordnest

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • So ähnlich könnte dein System aussehen^^
    vllt hast du jetzt eine idee.



    new Event;




    //Bei /event o.Ä
    if(Event == 0)
    {
    Event = 1;
    SendClientMessageToAll(Farbe, "Das PTP Event wurde gestartet! "):
    SetTimer
    return 1;
    }
    else
    {
    SendClientMessage(playerid, Farbe, "Das Event läuft bereits! ");
    return 1;
    }
    //Unter OnPayerDeath
    if(Event == 1)
    {
    if(!IsACop(killerid) && IsAPräsi(playerid)
    {
    giveplayermoney(killerid, 1000000);
    sendclientmessagetoall(farbe, "... hat den Präsidenten getötet! das event ist vorbei! ");
    KillTimer


    }
    }


    mal ein kleiner aufbau^^

  • Wenn er nur für das Event ein Präsi sein soll, würde es doch so gehn.


    new Präsi[MAX_PLAYERS];


    //Bei deinem /ptp befehl
    Präsi[Spieler] = 1; //Jetzt ist er ein Präsi


    //Und bei OnPlayerDeath wird gefragt ob der tote ein Präsi ist.
    if(Präsi[playerid] == 1)
    {


    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Trotzdem sollst du dafür die grundlagen lernen, weil das nichts anderes ist.

    Falsche Freunde: Fragen nach Kippen !
    Wahre Freunde: Sind der Grund, warum du keine Kippen hast !
    Falsche Freunde: Nennen deine Eltern Frau/Herr !
    Wahre Freunde: Nennen deine Eltern Mom/Dad !
    Falsche Freunde: Holen dich aus dem Knast und sagen dir, was getan hast, war falsch !
    Wahre Freunde: Sitzen in der Zelle neben dir und sagen: Scheiße...wir haben‘s verkackt...war aber verdammt lustig ! :P
    Falsche Freunde: Haben dich noch nie weinen sehen !
    Wahre Freunde: Weinen mit dir !
    Falsche Freunde: Werden dich stehen lassen, wenn die Menge das tut !
    Wahre Freunde: Werden der kompletten Menge den Arsch treten, die dich stehen gelassen hat ! c:
    Falsche Freunde: Bleiben für ne Weile !
    Wahre Freunde: Bleiben ein Leben lang !
    Falsche Freunde: Werden die Person, die Scheiße über dich erzählt, blöd vollabern !
    Wahre Freunde: Werden sie einfach ausknocken !
    Falsche Freunde: Werden das hier ignorieren !
    Wahre Freunde: Es Kopieren !

  • Grundlagen lernen oder jemanden mit dem System beauftragen,
    Darum ist er ja hier -_-


    Nach meiner meinung nach funktioniert das am besten mit ocmd
    Das würde dann so aussehn


    ocmd:ptp(playerid,params[])
    {
    new pID; //Hier die definition wie wir den anderen Spieler nennen wollen
    if(sscanf(params,"u",pID/*Ob /ptp im zusammenhang mit einer ID angegeben wird */)) return SendClientMessage(playerid,FARBE,"Was für eine meldung kommen soll, wenn er die Playerid weg gelassen hat");
    Präsi[pID] = 1; //Hier wird der Spieler den wir angegeben haben Präsident gemacht
    //Was dann noch alles passiert kannst du selber machen, denke ich^^


    return 1;
    }

  • so habe mein befehl geschrieben nun wenn mich einer killt geht der Server down


    Hier mein befehl


    ocmd:ptp(playerid,params[])
    {
    new pID,name[24],string[128];
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT,"Verwendung: /PTP [spielerid]");
    PTP=1;
    Praesi[pID]=1;
    GetPlayerName(pID, name, 24);
    SendClientMessageToAll(ROT,"[__________|Protect the Präsident|___________]");
    format(string, sizeof(string), "Das PTP Event ist gestartet der Präsident ist %s", name);
    SendClientMessageToAll(BLAU, string);
    SendClientMessageToAll(BLAU,"Wer ihn tötet kriegt 1Mio auf sein Konto eingezahlt");
    SetTimer("PTPtimer",5400000,false);
    return 1;
    }



    public OnPlayerDeath(playerid, killerid, reason)
    {
    if(PTP==1)
    {
    new pID;
    if(Praesi[pID]==1)
    {
    new name[24];
    GetPlayerName(pID, name, 24);
    SendClientMessageToAll(ROT,"%s hat den Präsident getötet");
    GivePlayerMoney(killerid,1000000);
    SendClientMessage(killerid,BLAU,"Du hast den Präsident getötet");
    return 1;
    }
    }
    return 1;
    }


    was ist falsch korrekturen könnte es auch geben

  • public OnPlayerDeath(playerid, killerid, reason)
    {
    if(PTP==1)
    {
    if(Praesi[playerid]==1)
    {
    new name[24];
    GetPlayerName(playerid, name, 24);
    SendClientMessageToAll(ROT,"%s hat den Präsident getötet");
    GivePlayerMoney(killerid,1000000);
    SendClientMessage(killerid,BLAU,"Du hast den Präsident getötet");
    return 1;
    }
    }
    return 1;
    }


    So kannst du das nicht machen, hier gibt es kein pID^^
    Bei OnPlayerDeath gibt es nur playerid und killerid, ausser du machst eine Schleife rein ;)