Beiträge von [BE]Mika2828

    if(!strcmp(cmdtext, "/exitdeathmatch", true))
    {
    if(isindm[playerid] == 1)
    {
    if(IsPlayerInAnyVehicle(playerid) == 0)
    {
    ResetPlayerWeapons(playerid);
    new string[256];
    new name[MAX_PLAYER_NAME], str[56];
    GetPlayerName(playerid, name, sizeof(name));
    format(string, 256, "%s hat das Deathmatch Verlassen. [/Exitdeathmatch]",name);
    SendClientMessageToAll(COLOR_TOTALGREEN,string);
    for (new i = 0; i < MAX_PLAYERS; i++)
    {
    // Check if player is connected and not a NPC
    if (IsPlayerConnected(i) && !IsPlayerNPC(i))
    {
    // Set the default speed boost for each player
    SpeedBoostMultiplier[i] = 1.5;
    }
    }
    SpawnPlayer(playerid);
    isindm[playerid] = 0;
    SendClientMessage(playerid, COLOR_RED, "Deathmatch verlassen.");
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Bitte Verlasse erst dein Fahrzeug.");
    }
    }
    else
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist nicht im Deathmatch!");
    }
    return 1;
    }


    Sollte so passen


    public Alter(playerid)
    {
    new Alterstr[50];
    GebD[playerid]+=1;// GebD Setzt du beim TuT auf die Angabe die der Spieler angibt
    AltersErk[playerid]+=1;
    if(GebD[playerid]== 2010){
    format(Alterstr,sizeof(Alterstr),"Du bist %d Jahre Alt",AltersErk[playerid]);
    SendClientMessage(playerid,farbe,Alterstr);
    AltersErk[playerid]=0;
    KillTimer(AltersTimer[playerid]);
    }
    return 1;
    }


    So Sollte das ganze dann Aussehen.
    Mit einem Timer dann wiederholen lassen.
    AltersTimer[playerid] = SetTimerEx("Alter", 1000, true, "i", playerid);


    Bitte nicht einfach kopieren sondern Nachdenken und nach deinen Wünschen anpassen. Das ist nur eine Vorlage.


    Mfg Micha

    kann sein das ich deine Frage falsch verstehe.
    Aber wenn der Spieler sein geburtsdatum eingibt. Die zahl die er eingibt in einem Timer mit +1 auf "2010" hochrechnen. Nebenbei noch eine Variable die im Timer mitläuft die von 0 mit +1 hochgerechnet wird.Wenn die erste Variable dann 2010 erreicht hat sollte die Zweite Variable dann das Alter wiedergeben.


    Wenn ich das ganze falsch verstanden habe.. einfach ignorieren^^

    Bei deiner Variante kann es das Pickup AkWeapon allerdings nur einmal geben.
    Für mich aber nicht zu gebrauchen.
    Was wäre nehmlich wenn 2 Spieler mit WaffenPacket 1 Sterben?
    nur 1 Pickup.....


    Mfg Micha

    Naja ich kriege die Waffe nicht.


    Also


    Ich erstelle DropMp5[playerid]


    Nun muss ich ja DropMp5[i] abfragen. Also ob das Pickup "DropMp5" von irgendwem ist.


    Edit: Soweit ich weis ändert DropMp5[MAX_PLAYERS] nichts an der Sichtbarkeit des Pickups.


    Mfg Micha

    Moin ich wollte mir ein kleines Weapon drop bauen, allerdings etwas anders.
    Nur leider will das nicht so ganz gehen. Das Pickup wird createt. Allerdings kriegt man die Waffe nicht.
    Hier mal die Teile.


    Wird in Onplayerdeath ausgelöst.
    Soweit funktioniert es.


    public DropMainWeapon(playerid)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    if(GetPVarInt(playerid,"WaffenPacket")==1){
    DropShotgun[playerid] = CreatePickup(349,23,x, y, z,-1);
    }
    else if(GetPVarInt(playerid,"WaffenPacket")==2){
    DropMp5[playerid] = CreatePickup(353,23,x, y, z,-1);
    }
    else if(GetPVarInt(playerid,"WaffenPacket")==3){
    DropM4[playerid] = CreatePickup(356,23,x, y, z,-1);
    }
    else if(GetPVarInt(playerid,"WaffenPacket")==4){
    DropSniper[playerid] = CreatePickup(358,23,x, y, z,-1);
    }
    else if(GetPVarInt(playerid,"WaffenPacket")==5){
    DropRpg[playerid] = CreatePickup(359,23,x, y, z,-1);
    }
    return 1;
    }


    Nun der teil der im Onplayerpickup ist.
    Das ganze funktioniert nicht.


    for (new i = 0; i < MAX_PLAYERS; i++){
    if(IsPlayerConnected(i)){
    if(pickupid == DropShotgun[i]){
    GivePlayerWeapon(playerid, 25, 357);
    DestroyPickup(pickupid);
    return 1;
    }
    if(pickupid == DropMp5[i]){
    GivePlayerWeapon(playerid, 29, 357);
    DestroyPickup(pickupid);
    return 1;
    }
    if(pickupid == DropM4[i]){
    GivePlayerWeapon(playerid, 31, 357);
    DestroyPickup(pickupid);
    return 1;
    }
    if(pickupid == DropSniper[i]){
    GivePlayerWeapon(playerid, 34, 357);
    DestroyPickup(pickupid);
    return 1;
    }
    if(pickupid == DropRpg[i]){
    GivePlayerWeapon(playerid, 35, 357);
    DestroyPickup(pickupid);
    return 1;
    }
    }
    }


    Kleine erklärung dazu. Ich frage ab ob das Pickup die Pickupid Drop... hat.
    Meiner Meinung nach sollte die Logik korrekt sein .
    Würde mich um hilfreiche Antworten freuen.


    Mfg Micha

    Mal eine kurze frage, wie speichert man den etwas in einem Pickup und gibt es dan Später wieder beim Aufnehmen wieder.
    So recht werde ich aus deinem Code darüber nicht Schlau ?!


    Mfg Micha

    if(strcmp(cmdtext, "/knastbesuch", true) == 0)
    //if(PlayerInfo[playerid][pLocal] == 103 || PlayerToPoint(1.5, playerid, 279.6973,1821.4025,17.6406))
    {
    SetPlayerPos(playerid,2495.1907,-1670.0270,333.4455);
    SetTimerEx("KnastEnde", 60000, false, "i", playerid);
    return 1;
    }


    forward KnastEnde(playerid);


    public KnastEnde(playerid)
    {
    SetPlayerPos(playerid,1552.3998,-1675.5367,16.1953);
    return 1;
    }

    Pass auf, ich verwende Variablen, die ich nicht in einer datei Speicher. Sondern wie zum beispiel new Firstconnect[MAX_PLAYERS].
    Diese Variable wird nicht in einer Datei gespeichert spondern ist nach jedem reconnect des Spielers auf 0.
    So meine frage lautete ob man pVars für soetwas verwenden kann. Oder es nur eine Option ist zum Abspeichern.
    Verstanden?


    Ich kenne mich schon ganz gut mit Scripten aus. Nur sind diese Pvars neu für mich.
    mfg Micha