Beiträge von Alexus

    ganz kurz nur. ich möchte eine variable (SkillPunkte1[MAX_PLAYERS]) um 1 addieren, um ein skillsystem zu erstellen. ich habe das wie folgt gemacht:
    new punkte = sSpieler[playerid][SkillPunkte1]+1;
    sSpieler[playerid][SkillPunkte1] = punkte;
    doch das geht nicht.
    wie stelle ich das an?

    ersetz mal
    PlayerMoney[giveplayerid] = PlayerMoney[giveplayerid] += 50000;
    mit
    PlayerMoney[giveplayerid] = GetPlayerMoney[giveplayerid] + 50000;

    du erstellst ganz oben eine neue variable
    new wanteds[MAX_PLAYERS];
    dann vergibst du im wantedbefehl oder bei onplayerdeath die wanteds mit:
    wanteds[playerid] = 5 //5 ist nur beispiel, bei playerid muss natürlich der hin, der die wtds bekommt
    SendClientMessage(playerid,GELB,"Aktuelles Wandetlevel: 5");
    und dann der timer bei onegamemodeinit:
    SetTimer("wantedabzug",300000,true);
    dann noch bestimmen, was beim timer passiert:
    forward wantedabzug();
    public wantedabzug()
    {
    for(new i=0; i<MAX_VEHICLES; i++)
    {
    if(wanteds[i] >= 1)
    {
    new level;
    level = wanteds[i]
    wanteds[i] = level-1
    SendClientMessage(i,GELB,"Dein Wantedlevel ist um 1 Wanted gesunken.");
    }
    }
    return 1;
    }


    müsste so eig gehen. wenn etwas falsch ist, bitte posten.
    und wie du die wanteds dann speichert weißt du sicher selbst ;D

    erstell eine dini datei, in der die wanteds gespeichet werden. dann stelltst du bei ingamemodeinit nen timer, der sich ständig wiederholt mit der zeitspanne, in der ein spieler einen wanted verlieren soll. in dem timer lässt du die wantedzahl auslesen und dezimierst sie um 1. pass aber auf, wenn der spieler 0 wtds hat, das er nicth weiter dezimiert. so ein aufbau sollte das ganze in etwa haben, du musst ja nicht unbedingt die wtds nehmen, die das spiel bietet, sondern eigene. das hat den vorteil , dass du mehr als 6 wtds haben kannst.
    ich hoffe ich konnte helfen

    /edit neuer code


    so:
    if(strcmp(cmdtext,"/Aduty",true)==0)
    {
    new str1[64], str2[64], name[MAX_PLAYER_NAME];
    SendClientMessage(playerid,ADUTY,"Du bist nun im Admin-Duty");
    GetPlayerName(pid,name,sizeof(name));
    format(str1,sizeof(str1),"======Admin %s ist nun im Admin Dienst.======",name);
    format(str2,sizeof(str2),"Admin %s",name);
    SendClientMessageToAll(ADUTY,str);// Admin %s muss da noch stehen
    SetPlayerColor(playerid,ADUTY);
    SetPlayerName(playerid,str2);//Der eigentliche Spieler Name noch dazu
    ShowPlayerMarkers(ADUTY);


    return 1;
    }


    hab aber ka was du mit palyer markers bezwecken willst...

    hi leute, ich habe auf meinem sampserver verschiedene objekte eingefügt. hierbei habe ich einen befehl (/blaulicht), bei dem auf dem wagendach solch ein blaulicht erscheint. dazu wird ja ein objekt erstellt. auch wenn ein admin duty geht (/aduty) bekommt er eine solche lampe auf den kopf.
    scheinbar habe ich heute das maximale limit an objekten erreicht. soweit alles ok. ich hab nen objektstreamer eingebaut. doch die lichter gehen nicht mehr. wisst ihr woran das liegt oder wie man das beheben kann?

    so, ich hatte vor kurzer zeit bereits einen chat mit einer for new schleife gearbeitet. nach dem mehrmaligen eingeben von nachrichten ist dann der server gecrasht. heute habe ich einen /givemoney befehl mit adminwarnung gescriptet, und siehe da, der server geht wieder down -,- was mache ich falsch?!
    hier der befehl:
    //givemoney
    dcmd_givemoney(playerid, params[])
    {
    new pid, betrag, grund;
    if(sscanf(params,"uds",pid,betrag,grund))
    {
    return SendClientMessage(playerid,WHITE,"Verwendung: /givemoney [ID] [Betrag] [Grund]");
    }
    if(sSpieler[playerid][Adminlevel] >= 4)
    {
    if(pid == INVALID_PLAYER_ID)
    {
    return SendClientMessage(playerid,ROT,"Spieler wurde nicht gefunden!");
    }
    else
    {
    new string1[128], string2[128], string3[128], admin1[128], admin2[128];
    new name1[MAX_PLAYER_NAME], name2[MAX_PLAYER_NAME];
    GetPlayerName(pid,name1,sizeof(name1));
    GetPlayerName(playerid,name2,sizeof(name2));
    if(playerid == pid)
    {
    GivePlayerMoney(pid,betrag);
    format(string3,sizeof(string3),"Du hast dir %d€ gegeben. Grund: %s",betrag,grund);
    SendClientMessage(playerid,GELB,string3);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Adminlevel] >= 1)
    {
    format(admin1,sizeof(admin1),"%s hat sich %d€ gecheatet. Grund: %s",name2,betrag,grund);
    SendClientMessage(i,ADMINWARNUNG,admin1);
    }
    }
    }
    else
    {
    GivePlayerMoney(pid,betrag);
    format(string1,sizeof(string1),"Du hast %s %d€ gegeben. Grund: %s",name1,betrag,grund);
    format(string2,sizeof(string2),"%s hat dir %d€ gegeben. Grund: %s",name2,betrag,grund);
    SendClientMessage(playerid,GELB,string1);
    SendClientMessage(pid,GELB,string2);
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(sSpieler[i][Adminlevel] >= 1)
    {
    format(admin2,sizeof(admin2),"%s hat %s %d€ gecheatet. Grund: %s",name2,name1,betrag,grund);
    SendClientMessage(i,ADMINWARNUNG,admin2);
    }
    }
    }
    }
    }
    return 1;
    }


    hilfe ist erwünscht^^
    ist ein fehler im script? oder warum geht der server sonst down?


    /edit sry, is bissl verrutscht im pwn text