Beiträge von DJ Deagle

    Huhu,


    wie oben schon steht, habe ich andauernd den "Screen is terminating"-Error.
    Hier ein kleiner Auszug aus PuTTY:

    Code
    usr@156011:/home/SAMP# screen ./samp03svr
    [screen is terminating]


    Ich habe auch nur ./samp03svr versucht, dort wird der Prozess allerdings nach ca. 25 Minuten von alleine beendet:

    Code
    usr@156011:/home/SAMP# ./samp03svr
    
    
    Started server on XX.XX.XXX.XX:7777, with maxplayers: 500 lanmode is OFF.
    
    
    Killed


    Woran liegt das?


    lg

    if(sscanf(params,"iis",preis,maxprodukte,name))


    Damit man z.B. "Hans Peter Biz" als Biznamen nehmen kann, den namen bei SSCANF immer hinten dran schreiben.


    Hast du das sscanf-Plugin, das Include oder den stock?


    PS: Beim stock bizerstellen muss Name so eingetragen werden:
    stock Bizerstellen(Float:X,Float:Y,Float:Z,Name[],Preis,Maxprodukte)
    {
    //Code..
    }


    /edit: Soll name der Biz, oder SPielername sein?


    Soll ich sie direkt unter der InterPolateCameraPos setzen?


    Nein, du setzt einen Timer, der solange geht wie das InterpolateCameraPos, hier ein Beispiel:


    COMMAND:sprechen(playerid,params[])
    {
    if(Spieler[playerid][pLevel] == 1)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SetPVarFloat(playerid,"X",X);
    SetPVarFloat(playerid,"Y",Y);
    SetPVarFloat(playerid,"Z",Z);
    SetTimerEx("stopinterpolate",15000,false,"d",playerid);
    InterpolateCameraPos(playerid, 35.768413, -2645.905029, 40.368675, 32.859527, -2645.795166, 41.972183, 15000);
    InterpolateCameraLookAt(playerid, 33.074897, -2650.047607, 41.133026, 35.998821, -2649.338378, 40.362483, 15000);
    }
    if(Spieler[playerid][pLevel] >= 2)
    {
    SendClientMessage(playerid,0xFF63E9FF,"Du bist kein Level 1er!");
    }
    return 1;
    }


    forward stopinterpolate(playerid);
    public stopinterpolate(playerid)
    {
    SetPlayerPos(playerid,GetPVarFloat(playerid,"X"),GetPVarFloat(playerid,"Y"),GetPVarFloat(playerid,"Z"));
    SetCameraBehindPlayer(playerid);
    return 1;
    }


    habe aus langeweile mal alles gemacht, sollte eigl klappen.

    SetCameraBehindPlayer(playerid);
    Damit stoppt man InterpolateCameraPos & LookAt.


    Wenn nicht, frag die Position ab, und speicher sie mit SetPVarFloat.
    Dann nach dem Sprechen liest du sie aus und setzt den Spieler wieder an den Punkt, welcher in den PVars gespeichert ist.

    Huhu,


    wie oben schon erklärt, muss man bei der Registration das Tutorial 2 mal durchlaufen.
    Warum ist das so?
    Hier das wichtigste aus dem Tutorial, und alles, was dazu gehört:

    Peter PAWN-Code
    else if(TutTime[playerid] == 67)
    {
    SetPlayerPos(playerid,1191.0471,-912.3734,48.4298);
    SetPlayerCameraPos(playerid,1173.7498,-963.0220,66.3751);
    SetPlayerCameraLookAt(playerid,1199.3129,-909.8687,48.4400);
    KillTimer(TutTimer[playerid]);
    TutTime[playerid] = -1;
    TogglePlayerSpectating(playerid,false);
    ShowPlayerDialog(playerid,DIALOG_GESCHLECHT,DIALOG_STYLE_LIST,"Geschlecht auswählen","Männlich\nWeiblich","Weiter","Abbrechen");
    }

    Peter PAWN-Code
    if(FirstLogin[playerid] == true)
    {
    newtimer[playerid] = SetTimerEx("UpdateTextdraws",1000,1,"i",playerid);
    RandomPlayerScreen(playerid);
    if(!IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 0)
    {
    if(mysql_CheckAccount(playerid) == 0)
    {
    new Hour, Minute, Second;
    gettime(Hour, Minute, Second);
    if(Hour >= 1 && Hour <= 6)
    {
    SendClientMessage(playerid, COLOR_LIGHTRED, "Du kannst dich um diese Uhrzeit nicht registrieren. Bitte versuche es später erneut!");
    Kick(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration","Bitte registriere dich mit einem Passwort:","Register","Abbrechen");
    SetPlayerSkin(playerid,101);
    SpielerInfo[playerid][pSkin] = 101;
    }
    }
    else if(mysql_CheckAccount(playerid) == 1)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Dein Account wurde in unserem System gefunden!\nBitte logge dich mit deinem Passwort ein:","Login","Abbrechen");
    }
    }
    }
    }
    else if(pFirstLog[playerid] == true)
    {
    RandomPlayerScreen(playerid);
    TogglePlayerControllable(playerid,false);
    TutTime[playerid] = 1;
    TogglePlayerSpectating(playerid,true);
    TutTimer[playerid] = SetTimerEx("Tutorial",1000,1,"i",playerid);
    }

    Peter PAWN-Code
    case DIALOG_REGISTER:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Registration","Das eingegebene Passwort war zu kurz!\nBitte registriere dich mit einem längerem Passwort:","Register","Abbrechen");
    return 1;
    }
    else
    {
    CreateAccount(playerid, MD5_Hash(inputtext));
    SetPVarInt(playerid,"Eingeloggt",1);
    SpielerInfo[playerid][pNextPayday] = 0;
    SetMySQLint("accounts", "NextPayday", 0, "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][P_Timer] = SetTimerEx("PaydayTimeCheck",60000,1,"i",playerid);
    PDTimer[playerid] = SetTimerEx("UpdatePDTime",10000,1,"i",playerid);
    pFirstLog[playerid] = true;
    FirstLogin[playerid] = false;
    for(new i; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerTextDrawShow(i, Paydayzeit[i]);
    PlayerTextDrawShow(i, Money[i]);
    }
    }
    SpawnPlayer(playerid);
    }
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    if(strlen(inputtext) == 0)
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das eingegebene Passwort war falsch!\nBitte logge dich mit deinem Passwort ein:","Login","Abbrechen");
    return 0;
    }
    else
    {
    new SpielerNamee[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerNamee, MAX_PLAYER_NAME);
    if(!strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(SpielerNamee), true))
    {
    new str[128];
    format(str,sizeof(str),"Willkommen zurück, %s",PlayerName(playerid));
    SetPVarInt(playerid,"Eingeloggt",1);
    LoadPlayer(playerid);
    SCM(playerid,COLOR_WHITE,"");
    SCM(playerid,COLOR_WHITE,str);
    SCM(playerid,COLOR_WHITE,"");
    SpielerInfo[playerid][pNextPayday] = GetMySQLint("accounts", "NextPayday", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][P_Timer] = SetTimerEx("PaydayTimeCheck",60000,1,"i",playerid);
    PDTimer[playerid] = SetTimerEx("UpdatePDTime",10000,1,"i",playerid);
    if(SpielerInfo[playerid][pAdmin] > 0 && SpielerInfo[playerid][pAdmin] < 5)
    {
    new stir[128];
    if(SpielerInfo[playerid][pGeschlecht] == 1)
    {
    format(stir,sizeof(stir),"Meldung: %s hat sich als Supporter angemeldet. Er ist per /support erreichbar!",PlayerName(playerid));
    SendClientMessageToAll(ADMDUTY,stir);
    SupDuty[playerid] = 1;
    SetPVarInt(playerid,"inSupport",0);
    SetPVarInt(playerid,"SupportID",-1);
    Supporter ++;
    }
    else
    {
    format(stir,sizeof(stir),"Meldung: %s hat sich als Supporterin angemeldet. Sie ist per /support erreichbar!",PlayerName(playerid));
    SendClientMessageToAll(ADMDUTY,stir);
    SupDuty[playerid] = 1;
    SetPVarInt(playerid,"inSupport",0);
    SetPVarInt(playerid,"SupportID",-1);
    Supporter ++;
    }
    }
    for(new p; p < MAX_PLAYERS; p++)
    {
    if(IsPlayerConnected(p))
    {
    new frak = SpielerInfo[playerid][pFraktion];
    if(isPlayerInFrakt(p,frak) && SpielerInfo[p][pFraktion] != 0)
    {
    new msg[128];
    format(msg,sizeof(msg),"Nachricht: Der Spieler %s hat sich eingeloggt!",PlayerName(playerid));
    SCM(p,COLOR_ADMSG,msg);
    }
    }
    }
    for(new i; i < MAX_PLAYERS; i ++)
    {
    if(IsPlayerConnected(i))
    {
    PlayerTextDrawShow(i, Paydayzeit[i]);
    PlayerTextDrawShow(i, Money[i]);
    }
    }
    FirstLogin[playerid] = false;
    SpawnPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Das eingegebene Passwort war falsch!\nBitte logge dich mit deinem Passwort ein:","Login","Abbrechen");
    }
    }
    }
    else
    {
    Kick(playerid);
    }
    }


    Warum ist das so? :(


    lg

    Huhu,


    ja, es steht eigl alles in der Überschrift.
    Wie mache ich aus folgendem Callback:
    public _WBB_AddThread ( Username[ ] , Board , Prefix[ ] , Subject[ ] , Content[ ] , State , Closed , Disabled , Smilies , HTML , BBCodes , Signature , Index ) {
    new PostData[ 2000 ];
    format ( PostData , 2000 , "Username=%s&Board=%d&Prefix=%s&Subject=%s&Content=%s&State=%d&Closed=%d&Disabled=%d&Smilies=%d&HTML=%d&BBCodes=%d&Signature=%d" , Username , Board , Prefix , Subject , Content , State , Closed , Disabled , Smilies , HTML , BBCodes , Signature );
    SendRequest ( "AddThread" , PostData , HTTP_REQUEST_ADD_THREAD , Index );
    }


    das er das in ein bestimmtes Forum sendet?


    lg

    Sauber Hauke, gefällt mir.


    Allerdings, wann wird es, wie RoBoy schon fragte, eine Open Beta oder eine erste Veröffentlichung geben?


    Wird dafür der Updatezugang für die Betalizensen nocheinmal erweitert?



    PS: Wenn man als Betatester das Programm besitzen sollte, dann musste mir das mal schicken :D

    if(GetPVarInt(playerid,"inSupport") == 1 && GetPVarInt(playerid,"SupportID") != -1)
    {
    new Partner = GetPVarInt(playerid,"SupportID");
    new Admlvl[64];
    if(SpielerInfo[playerid][pAdmin]==1){format(Admlvl,sizeof(Admlvl),"Supporter");}
    else if(SpielerInfo[playerid][pAdmin]==2){format(Admlvl,sizeof(Admlvl),"Moderator");}
    else if(SpielerInfo[playerid][pAdmin]==3){format(Admlvl,sizeof(Admlvl),"Administrator");}
    else if(SpielerInfo[playerid][pAdmin]==4){format(Admlvl,sizeof(Admlvl),"Lead-Admin");}
    else if(SpielerInfo[playerid][pAdmin]==5){format(Admlvl,sizeof(Admlvl),"Serverinhaber");}
    GetPlayerName(playerid, sendername, sizeof(sendername));
    if(isPlayerAnAdmin(playerid,1)) { format(string, sizeof(string), "%s (%s) sagt: %s", sendername, Admlvl, text); }
    else { format(string, sizeof(string), "%s sagt: %s", sendername, text); }
    SCM(Partner,SUPCHAT,string);
    SCM(playerid,SUPCHAT,string);
    new Hour,Minute,Second;
    gettime(Hour,Minute,Second);
    new stringg[165], pname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pname, sizeof(pname));
    format(stringg,165,"[SUPPORTCHAT](%d:%d:%d) %s: %s",Hour,Minute,Second,pname,text);
    Log("chatlog.txt",string);
    return 0;
    }
    bau es dir um.

    HeyHoo,


    nach 20 Minuten in etwa, schmiert andauernd mein Server ab, leider weiss ich nicht warum........
    Ich habe ein Selfmadescript, welches nicht grade viele Timer besitzt, welche einen Servercrash hervorrufen können.


    Was da los?


    lg

    Huhuu,


    nach langer Zeit habe ich meinen alten Script wieder herangeschafft.
    MySQL-Datenbank usw, alles ist verbunden.
    Leider, werden mal wieder keine Häuser / Biz erstellt.


    Hier der Code:
    stock CreateHouse(Float:X,Float:Y,Float:Z,Level,Price,Rooms,Interior)
    {
    mysql_query("SELECT * FROM `haeuser`");
    mysql_store_result();
    new rows = mysql_num_rows();
    mysql_free_result();
    if(rows > MAX_HAEUSER) return 0;
    new query[2000];
    format(query,sizeof(query),"INSERT INTO `haeuser` (`ID`, `PosX`, `PosY`,\
    `PosZ`, `Level`, `Preis`, `Besitzer`, `Bought`, `Rooms`,`InteriorID`,`Interior`,`IntX`,`IntY`,`IntZ`,`Rentable`,\
    `RentPrice`, `Renter1`, `Renter2`, `Renter3`, `Renter4`, `Renter5`");
    format(query,sizeof(query),"%s,`Renter6`, `Kasse`, `VirtualWorld`)VALUES('%d', '%f', '%f', '%f', '%d', '%d', 'Niemand','0', '%d',\
    '%d', '%d', '%f', '%f', '%f', '1', '100', 'Niemand', 'Niemand', 'Niemand', 'Niemand', 'Niemand', 'Niemand', '0', '0')"\
    ,query,rows,X,Y,Z,Level,Price,Rooms,Interior,IntID[Interior][0],InteriorList[Interior][0], InteriorList[Interior][1], InteriorList[Interior][2]);
    mysql_query(query);
    LoadHouse(rows);
    return 1;
    }


    stock LoadHouse(HouseID)
    {
    new str[128];
    format(str,sizeof(str),"%d",HouseID);
    HausInfo[HouseID][hPosX] = GetMySQLfloat("haeuser", "PosX", "ID", str);
    HausInfo[HouseID][hPosY] = GetMySQLfloat("haeuser", "PosY", "ID", str);
    HausInfo[HouseID][hPosZ] = GetMySQLfloat("haeuser", "PosZ", "ID", str);
    HausInfo[HouseID][hLevel] = GetMySQLint("haeuser", "Level", "ID", str);
    HausInfo[HouseID][hPreis] = GetMySQLint("haeuser", "Preis", "ID", str);
    format(HausInfo[HouseID][hBesitzer],24,"%s",GetMySQLstring("haeuser", "Besitzer", "ID", str));
    HausInfo[HouseID][hBought] = GetMySQLint("haeuser", "Bought", "ID", str);
    HausInfo[HouseID][hRooms] = GetMySQLint("haeuser", "Rooms", "ID", str);
    HausInfo[HouseID][hInteriorID] = GetMySQLint("haeuser", "InteriorID", "ID", str);
    HausInfo[HouseID][hInterior] = GetMySQLint("haeuser", "Interior", "ID", str);
    HausInfo[HouseID][hIntX] = GetMySQLfloat("haeuser", "IntX", "ID", str);
    HausInfo[HouseID][hIntY] = GetMySQLfloat("haeuser", "IntY", "ID", str);
    HausInfo[HouseID][hIntZ] = GetMySQLfloat("haeuser", "IntZ", "ID", str);
    HausInfo[HouseID][hLocked] = GetMySQLint("haeuser", "Locked", "ID", str);
    HausInfo[HouseID][hRentable] = GetMySQLint("haeuser", "Rentable", "ID", str);
    HausInfo[HouseID][hRentPrice] = GetMySQLint("haeuser", "RentPrice", "ID", str);
    format(HausInfo[HouseID][hRenter1],24,"%s",GetMySQLstring("haeuser", "Renter1", "ID", str));
    format(HausInfo[HouseID][hRenter2],24,"%s",GetMySQLstring("haeuser", "Renter2", "ID", str));
    format(HausInfo[HouseID][hRenter3],24,"%s",GetMySQLstring("haeuser", "Renter3", "ID", str));
    format(HausInfo[HouseID][hRenter4],24,"%s",GetMySQLstring("haeuser", "Renter4", "ID", str));
    format(HausInfo[HouseID][hRenter5],24,"%s",GetMySQLstring("haeuser", "Renter5", "ID", str));
    format(HausInfo[HouseID][hRenter6],24,"%s",GetMySQLstring("haeuser", "Renter6", "ID", str));
    HausInfo[HouseID][hKasse] = GetMySQLint("haeuser", "Kasse", "ID", str);
    HausInfo[HouseID][hVW] = HouseID+1;
    HausInfo[HouseID][hPickup] = CreatePickup(1239,1,HausInfo[HouseID][hPosX],HausInfo[HouseID][hPosY],HausInfo[HouseID][hPosZ]);
    HausInfo[HouseID][hOutPickup] = CreatePickup(1318,1,HausInfo[HouseID][hIntX],HausInfo[HouseID][hIntY],HausInfo[HouseID][hIntZ],HausInfo[HouseID][hVW]);
    if(HausInfo[HouseID][hBought] == 0)
    {
    format(str,sizeof(str),"Dieses Haus ist zu verkaufen!\nPreis: %d€\nLevel: %d\nHaus kaufen: /buyhouse",HausInfo[HouseID][hPreis],HausInfo[HouseID][hLevel]);
    }
    else
    {
    if(HausInfo[HouseID][hRentable] == 1)
    {
    format(str,sizeof(str),"Besitzer: %s\nMietpreis: %d€\nZimmer mieten - /rentroom",HausInfo[HouseID][hBesitzer],HausInfo[HouseID][hRentPrice]);
    }
    else if(HausInfo[HouseID][hRentable] == 0)
    {
    format(str,sizeof(str),"Besitzer: %s",HausInfo[HouseID][hBesitzer]);
    }
    }
    HausInfo[HouseID][hLabel]=Create3DTextLabel(str,COLOR_RED,HausInfo[HouseID][hPosX],HausInfo[HouseID][hPosY],HausInfo[HouseID][hPosZ],7,0);
    HausInfo[HouseID][hOutLabel]=Create3DTextLabel("Austreten:\nEnter drücken",COLOR_RED,HausInfo[HouseID][hIntX],HausInfo[HouseID][hIntY],HausInfo[HouseID][hIntZ],5,HausInfo[HouseID][hVW]);
    return 1;
    }


    In die DB wird nix eingetragen.....


    Was da wieder los? -.-


    lg



    /e LoadHouse reingehaun