Beiträge von Kaliber

    Kaliber: Deine Aussage "Umso mehr Zeilen, umso schlechter ist das Script" ist komplett falsch. Wenn du schon Beiträge schreiben willst, dann bitte auch mit sinnvollen Inhalten.


    Ja, das ist natürlich relativ, aber ein Script mit 30k Zeilen ist eigentlich schlecht, da man soviele einfach nicht brauch :)

    Ich weiss, dass es nicht gerade viel ist, ich freue mich auf Kritik Ideen und Verbesserungsvorschläge


    Also, was jetzt die Jetpack Funktion mit den Dialogen zu tun hat ist mir noch unklar :D


    Aber egal, schön das du dich einwenig mit C++ auseinander setzt ;)


    Die Umsetzung ist naja...da kann man noch ein bisschen was rausholen :D


    Aber schonmal nicht schlecht ;)


    mfg. :thumbup:

    Was habe ich falsch gemacht?


    So einiges :D


    Probiere es einfach mal so:


    ocmd:godmode(playerid,params[])
    {
    #pragma unused params
    new Float:Q[4];
    GetPlayerPos(playerid,Q[0],Q[1],Q[2]);
    GetPlayerHealth(playerid, Q[3]);
    CreateExplosion(Q[0], Q[1]+1, Q[2]+1, 7, 20.0);
    SetTimerEx("God_Mode_Check", 2000, 0, "if",playerid,Q[3]);
    SendClientMessage(playerid,-1,"Der Godmode Check wird durchgeführt...");
    return 1;
    }


    forward God_Mode_Check(playerid,Float:health);
    public God_Mode_Check(playerid,Float:health) {
    new Float:health1;
    GetPlayerHealth(playerid,health1);
    if(health1 == health) SendClientMessage(playerid,-1,"Du benutzt Godmode !"),Kick(playerid); //Hier benutzt er Godmode
    else SendClientMessage(playerid,-1,"Du benutzt keinen Godmode !");
    return 1;
    }


    Aus dem Kopf geschrieben, sollte aber gehen ^^


    mfg. :thumbup:

    Schön gedacht, funktioniert leider nicht nach Schema A :D


    z.B.:


    stock GetHighestPlayerVariable(varname[]) // Beispiel: Variable Level[MAX_PLAYERS] => GetHighestPlayerVariable(Level); => returnt die höchste Variable
    {
    new temp;
    for(new i; i < MAX_PLAYERS; i++)
    if((temp < varname[i]))
    temp = varname[i];
    return temp;
    }


    Hier sucht Pawn nach varname, aber nicht nach dem Namen des Parameters, dass wird nicht übernommen ;)


    Das auch:


    stock GetPlayerWithHighestVariable(varname[]) // Beispiel: Variable Level[MAX_PLAYERS] => GetHighestPlayerVariable(Level); => returnt den Spieler mit der höchsten Variable
    {
    new temp, pID;
    for(new i; i < MAX_PLAYERS; i++)
    if((temp < varname[i]))
    temp = varname[i], pID = i;
    return pID;
    }


    Funktioniert nicht ^^


    Das auch nicht:


    stock GetHighestVehicleVariable(varname[]) // Beispiel: Variable vID[MAX_VEHICLES] => GetHighestVehicleVariable(vID); => returnt die höchste Variable
    {
    new temp;
    for(new x; x < MAX_VEHICLES; x++)
    if((temp < varname[x]))
    temp = varname[x];
    return temp;
    }


    Also ab hier ganz ganz viele Funktionen gehen nicht :D


    Solltest das nochmal durchdenken ;)


    mfg. :thumbup:


    Das habe ich nicht mit rein genommen, da ihr mal selber auch noch was tun sollt :P


    Aber danke für die guten Ideen :)


    //Edit: Auch danke an die ganzen Kommentare :)


    mfg. :thumbup:

    Schreibe es mal so:


    if(!strcmp("/afk",cmdtext,true))
    {
    new string[128];
    if(!afk[playerid]) {
    format(string,sizeof(string),"%s ist in den afk Modus gegangen",SpielerName(playerid));
    Alle(-0,string);
    SCM(playerid,-1,"Benutze /AFK um wieder zu kommen");
    TogglePlayerControllable(playerid,0);
    afk[playerid] = true;
    }
    else {
    format(string,sizeof(string),"%s ist wieder zurück",SpielerName(playerid));
    Alle(-0,string1);
    TogglePlayerControllable(playerid,1);
    afk[playerid] = false;
    }
    return 1;
    }


    //Edit: deklariere es so: new bool:afk[MAX_PLAYERS];


    mfg. :thumbup: