Beiträge von ruppe

    ich glaub du hast mich falsch verstanden, der PayDay funktioniert aber der text dazu wird nicht angezeigt und der timer is auch bei ongamemodeinit drin.


    edit: habs selbst hinbekommen habe die sendclientmessage falsch gesetzt.

    hallo leute hab ein kleines problem und zwar hab ich ein payday erstellt und der funktioniert auch alles keine errors und so xD aber irgend wie wird der Text dazu nicht angezeigt.
    Kann mir einer sagen warum die nicht angezeigt werden?
    die zeilen sind:
    public PayDay(playerid)
    {
    new string[128];
    new std_x,sek_x,min_x;
    gettime(std_x,min_x,sek_x);
    if(min_x == 41)
    {
    for (new i; i < MAX_PLAYER_NAME; i++)
    {
    if(IsPlayerConnected(i))
    {
    new nxtlevel = Spieler[playerid][Level];
    new payday = nxtlevel*1000;
    new kosten;
    kosten = payday/100*19;
    GivePlayerMoney(i,payday-kosten);
    Spieler[playerid][pExp]++;
    //GameTextForPlayer(i," ~p~ PayDay",6,5000);
    SendClientMessage(playerid,ROT,string);
    format(string,sizeof (string),"||______________PayDay_________________||");//<---- die zeile werden nicht angezeigt
    format(string,sizeof (string)," GrundGehalt:[%d$]Mehrwertsteuer:[-%d$]",payday,kosten);<---- und die zeile
    }

    }
    }
    //return 1;
    }

    Hallo libe Community ich habe ma wieder ne Frage. Ich möchte gern das mein skin wenn jemand gestorben ist gespeichert und beim neu spawnen geladen wird. Ich habe den skin per dini gespeichert und die zeilen die ich dazu geschrieben habe sind diese.
    bei OnPlayerDeath
    public OnPlayerDeath(playerid, killerid, reason)
    {
    new name[128], accFormat[128];
    GetPlayerName(playerid,name,sizeof(name));
    format(accFormat,sizeof accFormat,"%s.datei",name);
    {
    //dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    SetPlayerSkin(playerid,dini_Int(accFormat,"skin")); //lade und setze den gespeicherten Skin
    }
    return 1;
    }
    und wenn er spawnt hab ich das so gemacht
    public OnPlayerSpawn(playerid)
    {
    new name[128], accFormat[128];// Gleiche
    GetPlayerName(playerid,name,sizeof(name)); // wie
    format(accFormat,sizeof accFormat,"%s.datei",name);

    if(gTeam[playerid] == 1)
    {
    if(Spieler[playerid][Member] == 1 || Spieler[playerid][Leader] == 1)
    {
    //dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    SetPlayerSkin(playerid,dini_Int(accFormat,"skin"));//lade und setze den gespeicherten Skin
    SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
    }
    }
    if(gTeam[playerid] == TEAM_GROVE)
    {
    if(Spieler[playerid][Member] == 2 || Spieler[playerid][Leader] == 2)
    {
    //dini_IntSet(accFormat,"skin",GetPlayerSkin(playerid));
    SetPlayerSkin(playerid,dini_Int(accFormat,"skin"));//lade und setze den gespeicherten Skin
    SetPlayerPos(playerid,2482.7224,-1668.4399,13.3417);
    }
    }
    return 1;
    }
    also mein problem is jetz das wenn ich einen anderen skin vergebe und der spieler sich danach ausloggt wird der skin gespeichert. wenn der spieler aber nach dem ich einen skin vergeben habe stirbt wird der skin auf den vorherigen skin zurückgesetzt.
    kann mir pls jemand helfen.


    edit: hat sich erledigt hab es selbst hin bekommen.

    thx das hilft mir wirklich weiter :)


    edit
    also ic hab da noch ein kleines problem
    ich schick ma die zeilen
    dcmd_dm1(playerid,params[])
    #pragma unused params
    {
    for(new i=0 ; i <GetMaxPlayers() ; i++) // Hiermit sagst du das i die maximalen Spieler sind
    {
    if( i <= 2) // wenn i größer oder gleich 2 Spieler ist
    {

    new pname[MAX_PLAYER_NAME],string[64]; // Kann auch im Header eingesetzt werden
    GetPlayerName(playerid, pname,sizeof pname);
    format(string, sizeof(string), "|||> %s ist jetzt im DM beigetreten.[/dm1]",pname); //Öffentliche Nachricht
    SendClientMessageToAll(GREEN,string); //Farbe von der Nachricht
    SetPlayerWorldBounds(playerid, 2755.282, 2474.133, 2877.362, 2614.334);//Das sind unsichtbare Mauern
    SetPlayerVirtualWorld(playerid, 2); //Damit man nur mit Spielern spielt die nur im DM sind
    ResetPlayerWeapons(playerid); //Alle Waffen werden einmal entfernt
    SendClientMessage(playerid, ROT, "Tippe /exitdm1 um das DM zu verlassen!");
    GivePlayerWeapon(playerid, 24, 500); // Nun geben wir unseren Spieler die Waffen
    GivePlayerWeapon(playerid, 27, 500); // 2. Waffe (beliebig)
    istimdm[playerid] = 1; //Hier wird eingestellt das der Spieler in nun in einem DM ist
    new rand = random(sizeof(RandomSpawn));
    SetPlayerPos(playerid, RandomSpawn[rand][0], RandomSpawn[rand][1],RandomSpawn[rand][2]);
    SetPlayerFacingAngle(playerid, RandomSpawn[rand][3]);
    TogglePlayerControllable(playerid,0);
    if( i >= 1)
    {
    TogglePlayerControllable(playerid,1);
    SendClientMessage(playerid,GREEN,"DM gestartet!!");


    }
    }
    }
    return 1;
    }
    mein problem is en es weniger als zwei spieler sind wird er nicht gefreezt aber er sollte eigentlich gefreezt sein und wenn mehr als 1 spieler im dm ist sollen sie entfreezt werden. weis wer was ich anders machen muss

    Also ich habe zwei stunts gemappt einmal einen monstertruck stunt und einen Infernus stunt bei beiden stunts sollte es zwei checkpoints geben ich habe das beim monstertruck stunt so gemacht
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new vehicleid1 = GetPlayerVehicleID(playerid);
    if(newstate == PLAYER_STATE_DRIVER)
    {
    for(new j = 0;j<sizeof Monstertruck;j++)
    {
    if(vehicleid1 == Monstertruck[j])
    {
    SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$ + 1 Scorepunkt!!");
    SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
    monstertruckbelohnung[playerid] = 1;
    }
    }
    }
    return 1;
    }
    dann bei on player checkpoint
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(monstertruckbelohnung[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,5000);
    SetPlayerCheckpoint(playerid,1273.0817,-2631.7896,22.4908,10.0);
    monstertruckbelohnung[playerid] = 2;
    }
    if(monstertruckbelohnung[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,5000);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new car;
    car = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(car);
    SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
    }
    return 1;
    }
    beim infernusstunt habe ich das dann so fortgesetzt
    und sieht jetzt so aus
    public OnPlayerStateChange(playerid, newstate, oldstate)


    {


    new vehicleid1 = GetPlayerVehicleID(playerid);


    if(newstate == PLAYER_STATE_DRIVER)


    {
    for(new j = 0;j<sizeof Monstertruck;j++)
    {
    if(vehicleid1 == Monstertruck[j])
    {
    SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$ + 1 Scorepunkt!!");
    SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
    monstertruckbelohnung[playerid] = 1;
    }
    }
    for(new j = 0;j<sizeof Infernusstunt;j++)
    {
    if(vehicleid1 == Infernusstunt[j])
    {
    SendClientMessage(playerid,GREEN,"Fahre nun den Infernus-Stunt-Pakour ab und Gewinne 20000$ + 1 Scorepunkt!!");
    SetPlayerCheckpoint(playerid,-2324, -1897, 668, 20.0);
    Infernusstuntbelohnung[playerid] = 1;
    }
    }
    }
    return 1;
    }
    und bei onplayercheckpoint sieht das dann so aus
    public OnPlayerEnterCheckpoint(playerid)
    {
    if(monstertruckbelohnung[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,5000);
    SetPlayerCheckpoint(playerid,1273.0817,-2631.7896,22.4908,10.0);
    monstertruckbelohnung[playerid] = 2;
    }
    if(monstertruckbelohnung[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,5000);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new car;
    car = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(car);
    SetPlayerPos(playerid,1958.3783, 1343.1572, 15.3746);
    }
    if(Infernusstuntbelohnung[playerid] == 1)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,10000);
    SetPlayerCheckpoint(playerid,-2324, -2397, 528,20.0);
    Infernusstuntbelohnung[playerid] = 2;
    }
    if(Infernusstuntbelohnung[playerid] == 2)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid, 10000);
    SetPlayerScore(playerid, GetPlayerScore(playerid) + 1);
    new car;
    car = GetPlayerVehicleID(playerid);
    SetVehicleToRespawn(car);
    }
    return 1;
    }
    so mein problem is jetzt wenn ich bei beiden stunts beim ersten checkpoint ankomme werde ich gerespawnt und das auto auch aber es sollte eigentlich der zweite checkpoint angezeigt werden.Kann mir jemand sagen was daran falsch ist ?



    edit: kann mir niemand bei meinem problem helfen?pls

    danke für eure hilfe und euren schnellen antworten maddin hatte recht alle includes neu rundergeladen und jetz gehts also dankee. :D


    edit*
    es sind zwar keine errors mehr drin aber irgendwie streamt er die objecte nicht?
    hab kein plan woran das liegen könnte.

    also ich habe mir den objectstreamer von incognito gedownloaded und hab alles in das richtige format convertiert.
    jetzt kommt aber eine warnung und ich weis nich wie die zu beheben geht.
    C:\Dokumente und Einstellungen\Rico\Desktop\samp.0.3c server\pawno\include\streamer.inc(449) : warning 202: number of arguments does not match definition
    kann mir jemand sagen woran das liegt?
    so sieht jetzt das filterscript aus
    #include <a_samp>
    #include <streamer>
    #if defined Filterscript
    #define STREAMER_TYPE_OBJECT (0)


    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Map");
    print("--------------------------------------\n");
    //----------------------------------Monster*Map-------------------------------//
    CreateDynamicObject(8040,1272.23535156,-2604.48535156,13.37515259,0.00000000,0.00000000,173.99597168);
    CreateDynamicObject(8040,1272.23535156,-2604.48535156,13.37515259,0.00000000,0.00000000,173.99597168);
    CreateDynamicObject(14387,1233.25524902,-2595.00708008,13.58950043,0.00000000,0.00000000,354.00000000);
    CreateDynamicObject(14387,1230.66711426,-2594.75732422,15.55420017,0.00000000,0.00000000,354.00000000);
    CreateDynamicObject(16092,1226.28515625,-2597.25976562,9.03881454,0.00000000,0.00000000,264.00000000);
    CreateDynamicObject(16092,1226.89941406,-2591.39941406,9.02999973,0.00000000,0.00000000,263.99047852);
    CreateDynamicObject(1632,1227.13488770,-2594.61938477,13.08892822,30.00000000,0.00000000,263.00000000);
    CreateDynamicObject(1632,1221.70703125,-2593.86523438,7.50000000,15.00000000,0.00000000,262.99621582);
    return 1;
    }

    die warnung ist immernoch da vielleicht liegt es an den zeilen darüber ich schreib die mal rein.
    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    new scoreid = GetPlayerScore(playerid);
    // new vehicleid1 = GetPlayerVehicleID(vehicleid);
    new vehicleid = GetPlayerVehicleID(playerid);
    new vehiclemodel = GetVehicleModel(vehicleid);
    {
    if(vehiclemodel == 444)
    {
    SendClientMessage(playerid,GREEN,"Fahre nun den Monster-Truck Pakour ab und Gewinne 10000$!!");
    SetPlayerCheckpoint(playerid,1168.9661,-2591.3164,12.4549,10.0);
    monstertruckbelohnung[playerid] = 1;
    }
    return 1;
    }
    if(scoreid<5)
    {
    if(vehiclemodel == 425)
    {
    if (gTeam[playerid] == TEAM_ARMY)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Dein Score ist zu niedrig um mit dem Hunter zu fliegen[mind.5 Score]!!");
    }
    }
    }
    return 1;
    }

    also ich habe ein kleines problem ich wollte gern das man erst in ein bestimmtes auto einsteigen kann ab einen bestimmten scorelevel.und habe schon das in mein script geschrieben.
    unter OnPlayerStateChange habe ich das geschriebenif(scoreid << 5)
    {
    if(vehiclemodel == 425)
    {
    if (gTeam[playerid] == TEAM_ARMY)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,ROT,"Dein Score ist zu niedrig um mit dem Hunter zu fliegen[mind.5 Score]!!");
    }
    }
    }
    return 1;
    }
    aber irgendwie bekomm ich eine warnung
    warning 225: unreachable code
    die zeile mit der warnung ist:
    if(scoreid << 5)
    kann mir jemand vielleicht nen tip geben was daran falsch sein könnte?

    public OnPlayerSpawn(playerid)
    {
    M_OnPlayerSpawn(playerid);
    TextDrawShowForPlayer(playerid,Copyright);
    TextDrawShowForPlayer(playerid,ModeName);
    SetPlayerToTeamColor(playerid);
    TextDrawShowForPlayer(playerid, Time), TextDrawShowForPlayer(playerid, Date);
    //InitLockDoors(playerid);
    STDPlayer[playerid] = 0;
    OnDuty[playerid] = 0;
    SetPlayerArmour(playerid,0);
    gTeam[playerid] = PlayerInfo[playerid][pTeam]; //Set the Team
    if (gTeam[playerid] == 4) //medic / criminal reset team
    {
    gTeam[playerid] = 3;
    }
    if(gPlayerLogged[playerid] == 0)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "** Du musst dich voher einloggen oder dir einen Account erstellen! ***");
    Kick(playerid);
    return 1;
    }
    if(AtClothes[playerid] == 1)
    {
    PlayerInfo[playerid][pChar] = GetPlayerSkin(playerid);
    PlayerInfo[playerid][pModel] = GetPlayerSkin(playerid);
    AtClothes[playerid] = 0;
    }
    if(PlayerInfo[playerid][pTot] == 1 && FirstSpawn[playerid] == 0)
    {
    if(PlayerInfo[playerid][pOrigin] == 1)
    {
    so müsste es richtig sein