Beiträge von Kaliber


    WTF 8|
    Das ist totaler Blödsinn !!! :wacko:


    So schaut der Befehl aus:


    if(strcmp(cmd, "/heal", true) == 0)
    {
    if(GetVehicleModel(GetPlayerVehicleID(playerid)) != 416) return 1;
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp)) return SendClientMessage(playerid, rot, "Verwendung: /heal [spielerid]");
    new pID = ReturnUser(tmp);
    if(IsPlayerConnected(pID) && pID != playerid && GetPlayerMoney(pID) >= 200)
    {
    GivePlayerMoney(pID, -200);
    SetPlayerHealth(pID, 100);
    new name[24], str[64];
    GetPlayerName(playerid, name, 24);
    format(str, 64, "Du wurdest von %s geheilt !",name);
    SendClientMessage(pID, rot, str);
    GetPlayerName(pID, name, 24);
    format(str, 64, "Du hast %s geheilt !",name);
    SendClientMessage(playerid, rot, str);
    }
    return 1;
    }


    mfg. :thumbup:

    Hier mal so paar Codeschnipsel ;)



    enum pInfo{
    pLeader,
    pMember,
    pRank
    };
    new Stats[MAX_PLAYERS][pInfo];


    if(strcmp(cmd, "/gründen", true) == 0)
    {
    if(Stats[playerid][pRank] == 0)
    {
    ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT,"Gang gründen","Gib den Namen deiner Gang ein:","Bestätigen","Abbrechen");
    }
    return 1;
    }
    //In dem entsprechendem Callback
    if(dialogid == 1)
    {
    if(strlen(inputtext) > 0 && response == 1)
    {
    new string[128], name[24];
    GetPlayerName(playerid, name, sizeof name);
    format(string, sizeof string,"Spieler %s hat die Gang %s gegründet !",name,inputtext);
    SendClientMessageToAll(0xFFFFFF, string);
    Stats[playerid][pLeader] = 1;
    Stats[playerid][pRank] = 6;
    //Dann einfach noch den Gangnamen speichern mit Dini und vorher abfragen ob es diese Gang schon gibt
    }
    }


    So ein paar Schnipsel, der Rest ist wie bei einem Standart Fraktionssystem ;)


    mfg. :thumbup:

    Naja, also hier ein paar Verbesserungsvorschläge:


    • Könnte man das nicht alles in ein TextDraw Schreiben ?
    • Lösche alle überflüssigen Callbacks !
    • Bei deinen Befehlen geht es Ressourcensparender, schau:
      if (strcmp("/gmx", cmdtext, true, 10) == 0)
      //schreibe es lieber so:
      if (strcmp("/gmx", cmdtext, true, 4) == 0) //Also immer die string Größe Anpassen !


    Aber ansonsten, sieht es okay aus ;)


    8/10 ;)


    mfg. :thumbup:

    Okay, dazu will ich auch mal was sagen, also folgendes:


    • Man verliert 100$ wenn man stirbt, auch wenn man das nicht bei OnPlayerDeath eingetragen hat !
    • Man müsste, wenn man der playerid Geld geben will es so machen: GivePlayerMoney(playerid, 200);
    • Wenn man der playerid Geld abziehen will, GivePlayerMoney(playerid, -100); dann würde der Spieler 200$ verlieren !


    mfg. :thumbup:

    //Oben im Script
    new ppID[MAX_PLAYERS];


    //in deinem cmd
    ppID[playerid] = giveplayerid; //giveplayerid = anderer Spieler


    if(dialogid==DIALOG_POLIZEI)
    {
    if(response==0) return 1;
    if(response==1)
    {
    if(!IsPlayerConnected(ppID[playerid])) return 1;
    new listitem,string[128],Float:x,Float:y,Float:z;
    GetPlayerPos(ppID[playerid],x,y,z);
    SetPlayerCheckpoint(playerid,x,y,z,3);
    format(string,sizeof(string),"%s hat deine Anfrage entgegengenommen! Er wird gleich bei dir eintreffen!",SpielerName(playerid));
    SendClientMessage(ppID[playerid],BLAU,string);
    format(string,sizeof(string),"Du hast die Anfrage von %s angenommen! Er wurde auf der Karte makiert!",SpielerName(ppID[playerid]));
    SendClientMessage(playerid,BLAU,string);
    Polizei[ppID[playerid]]= 0;
    Anfrage[ppID[playerid]]= 0;
    return 1;
    }
    }


    So musst du das machen ;)


    mfg. :thumbup:

    Leute hab ich mich erschrocken als ich mir diese Schei*e angeschaut habe, also echt, wenn hier um diese Zeit 13 Jährige oder jüngere unterwegs sind, die können doch nicht schlafen 8|


    Gebt doch bitte ausführlichere Warnhinweise bevor ihr sowas: Das willst du nicht klicken


    oder das mit der Hypnose Postet, finde ich nicht okay ^^


    Trotzdem geil :D


    mfg. :thumbup:

    Mach das mal so:


    public BenzinVerlust()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if (Motor[i] == true)
    {
    Tank[i] = Tank[i]-1;
    if (Tank[i]<1)
    {
    Tank[i] = 0;
    GetVehicleParamsEx(i,engine,lights,alarm,doors,bonnet,boot,objective);
    SetVehicleParamsEx(i,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
    Motor[i] = false; // Setzt den Bool wieder auf falsch zurück.
    print("TANK LEER!");
    }
    }
    }
    return 1;
    }


    mfg. :thumbup:

    Du musst das so laden:


    stock AccountLaden(playerid)
    {
    new Playerdatei[128];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Playerdatei,sizeof(Playerdatei),"/Accounts/%s.ini",name);
    SetPlayerScore(playerid, dini_Int(Playerdatei,"Level"));
    SetPlayerMoney(playerid, dini_Int(Playerdatei,"Money"));
    SetPVarInt(playerid,"Eingeloggt",1);
    return 1;
    }


    mfg. :thumbup: