Beiträge von [F4L]Metin

    Hallo,


    mit diesem Script wird bei for() automatisch MAX_PLAYERS auf die höchste playerid gesetzt.


    dafür müsst ihr nur folgende sachen in euer script einfügen:


    möglichst direkt nach den includes:
    new MAX_PLAYER=MAX_PLAYERS;
    #define for(%1MAX_PLAYERS%2) for(%1MAX_PLAYER%2)


    beim connecten:
    if(playerid>MAX_PLAYER) MAX_PLAYER=playerid;


    beim disconnecten:
    if(playerid==MAX_PLAYER)
    for(new i=0;i<playerid;i++)
    if(IsPlayerConnected(i))
    MAX_PLAYER=i;


    MfG Metin


    edit: überschrift gewechselt
    edit: verbessert

    für Automaten: anim (VEND_USE) abfragen und danach geld abziehen. (funktioniert super, damit kann man auch einstellen wieviel heal man bekommt indem man z.b. 20hp abzieht wenn anim beendet ist)
    für Payn Spray undso: wenn spieler weniger geld hat dann diesen wert übernehmen. Wenn spieler 0 hat lieber nicht den wert übernehmen, weil nachm coneccten 0 hat also 0 dann servervariable einsetzen.



    ich wars also net^^


    hab ich au schon probiert daran liegt es nicht. hat jmd. ne andere idee?

    versuch mal:
    strins(BizInfo[0][bName], "Burger Shot North",0);




    meine frage:
    ich hab /sethp befehl und wenn man /sethp id 0 macht dann wird das leben zwar auf 0 gesetzt man stirbt aber erst wenn man iwo runterspringt, sonst kann man frei rumlaugen.
    mein code von sethp:


    ocmd:sethp(playerid,params[])
    {
    new pid,
    string[96],
    string2[96],
    Float:hp;
    if(sscanf(params,"uf",pid,hp)) return SendClientMessage(playerid,COLOR_ORANGE,"Benutze:/sethp [ID] [HP]");
    if(player[playerid][padmin] < 3) return SendClientMessage(playerid,COLOR_RED,"Du bist kein AdminLevel 3");
    SetPlayerHealth(pid,hp);
    format(string,sizeof(string),"Du hast {FF0000}%s{FF4847} auf %f Leben gesetzt",player[pid][pname],hp);
    format(string2,sizeof(string),"Du wurdest von {FF0000}%s{FF4847} auf %f Leben gesetzt",player[playerid][pname],hp);
    SendClientMessage(playerid,COLOR_HELLRED,string );
    SendClientMessage(pid ,COLOR_HELLRED,string2);
    return true;
    }



    Danke im vorraus.



    MfG Metin

    public OnGameModeExit()
    {
    for(new i=1;i<sizeof(fraktion);i++)



    {
    new txt[96];
    format(txt,96,"fraks/%i.ini",i);
    if(INI_Open ( txt ))


    {
    INI_WriteString ( "rang1",fraktion[i][frang1]);
    INI_WriteString ( "rang2",fraktion[i][frang2]);
    INI_WriteString ( "rang3",fraktion[i][frang3]);
    INI_WriteString ( "rang4",fraktion[i][frang4]);
    INI_WriteString ( "rang5",fraktion[i][frang5]);
    INI_WriteString ( "rang6",fraktion[i][frang6]);
    INI_WriteInt("skin1",fraktion[i][fskin][1]);
    INI_WriteInt("skin2",fraktion[i][fskin][2]);
    INI_WriteInt("skin3",fraktion[i][fskin][3]);
    INI_WriteInt("skin4",fraktion[i][fskin][4]);
    INI_WriteInt("skin5",fraktion[i][fskin][5]);
    INI_WriteInt("skin6",fraktion[i][fskin][6]);
    INI_WriteInt("skin7",fraktion[i][fskin][7]);
    INI_WriteInt("skin8",fraktion[i][fskin][8]);
    INI_WriteInt("skin9",fraktion[i][fskin][9]);
    INI_WriteInt("skin10",fraktion[i][fskin][10]);
    INI_WriteInt("skin11",fraktion[i][fskin][11]);
    INI_WriteInt("skin12",fraktion[i][fskin][12]);
    INI_Save();
    INI_Close();
    }
    }

    for(new i=1;i<sizeof(Biz);i++)
    {
    new path[96];
    format(path,96,"Biz/%i.ini",i);
    if(INI_Open ( path ))
    {
    INI_ReadString ( Biz[i][bname], "name", 20 );
    INI_WriteInt("money",Biz[i][bmoney]);
    INI_WriteInt("trash",Biz[i][btrash]);
    INI_WriteInt("matts",Biz[i][bmatts]);
    for(new x=0;x<sizeof(Biz[i][bprice]);x++)
    {
    new txt[96];
    valstr(txt,x);
    INI_WriteInt(txt,Biz[i][bprice][x]);
    }
    INI_Save();
    INI_Close();
    }
    }

    return true;
    }





    edit: daran liegst net crasht au wenn ich alles rausnehme

    naja da wird schon viel gemacht
    ich deaktivier mal onplayerupdate (umbenenen oder so), mal sehen obs dann geht



    edit: jo liegt daran muss es lieber mal reduzieren. sollte ich lieber einen timer nehmen? wenn ja wieviel ist eine optimale timerlänge? vill 0.5sek?

    hab meist typ 23 aber das ist glaub egal, früher klappte es, erst die letzten zeiten net mehr. und wenn er mehrmals nicht auf die callbacks reagiert crasht er meist auch danach.



    edit: könnte ich es einem moderator/admin oder so schicken damit er es im adminbereich hochlädt? will jetzt net allen zeigen



    edit^2: kann es daran liegen das zuviel mist im Onplayerupdate ist? sind 105zeilen?

    ich meine debug, sry verschrieben
    hatte das mit den print("debug*") gemacht dann waren keine crashs mehr, alles wiederrazusgenommen mal sehen was passiert.


    edit: juhuuu, 10:02Uhr imma noch kein crash hoffen wa dass es so weitergeht

    Hallo,


    mein script crasht jede volle stunde. ich hab eine function die jede minute ausgeführt wird,und ich glaube es liegt daran bin mir aber nicht sicher. Ich konnte nix finden, währe nett wenn ihr euch das auch mal ansehen könntet:
    public oneminute()


    {

    new string[6],hour,minutes;
    gettime(hour,minutes);
    SetWorldTime(hour);
    format(string, 6, "%d:%s%d", hour, (minutes < 10) ? ("0") : (""), minutes);
    TextDrawSetString(clock, string);
    HTTP(-1, HTTP_GET, "wetter.in/widgets/out/de/braunschweig/php/1/", "", "hweather");//wettersyncronisation
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(player[i][plogged]==false) i++;
    if(player[i][padmin]<4)
    player[i][pafktimer]++;
    if(player[i][probtimer]>0)
    player[i][probtimer]-=1;
    if(player[i][pafktimer]>=10)
    {
    SendClientMessage(i,COLOR_RED,"Du warst zu lange AFK (Abwesend)");Kick(i);
    }
    if(player[i][plogged]==true)
    {
    //happyhourzähler
    if(player[i][pafktimer]<2)
    player[i][pminutes]++;
    if(player[i][pminutes]==60)

    {
    player[i][pminutes]=0;
    player[i][phours ]++;
    player[i][plvlupleft]--;
    GameTextForPlayer(i, "~r~Happy Hour", 3000, 1);
    SendClientMessage(i,COLOR_LIGHTBLUE,"HAPPY-HOUR");
    SendClientMessageF(i,COLOR_LIGHTBLUE,"Zinsen: %i (0.1%%)",floatround(player[i][pbank]/1000, floatround_round));
    player[i][pbank]+=floatround(player[i][pbank]/1000, floatround_round);
    if(GetPlayerWantedLevel(i)!=0)
    {
    SetPlayerWantedLevel(i,GetPlayerWantedLevel(i)-1);
    SendClientMessageF(i,COLOR_LIGHTBLUE,"Wanted: %i/6",GetPlayerWantedLevel(i));
    }
    }

    if(player[i][plvlupleft]==0)
    {
    player[i][pminutes ] = 0;
    player[i][plvlupleft] = 10;
    SetPlayerScore(i,GetPlayerScore(i)+1);
    GameTextForPlayer(i, "~r~Level UP", 5000, 1);
    }
    }

    }
    return SetTimer("oneminute",60000,false);;

    }



    Die datei mit der Crashinfo kommt iwie auch nicht, ich hab den hoster schon darauf angesprochen mal sehen was kommt.



    MfG Metin