Beiträge von Dom_i

    Ich möchte, dass der Spieler grundsätzlich keine Leben durch das Tauchen verliert.
    Die Frage ist auch, wie ich das anstelle, denn der Spieler soll ja trotzdem Schaden durch z.B. Schüsse nehmen!


    Also die HP jederzeit zu "füllen" oder gar auf "Unbegrenzt (0x122E0) zu setzen, wäre blöd :/

    dies ist nur möglich, wenn du diesen Spieler direkt unter Wasser Spawnst.

    das möchte ich aber ungern tun.
    Der Spieler soll mit einer "Sauerstoffmaske" nach Eingabe des Befehls unbegrenzt unter Wasser atmen können.
    Sollte ich das dann nicht anders lösen als abzufragen ob der Spieler die "Schwimmanimation" macht, sollte ich dies
    dann unter OnPlayerUpdate oder lieber mit einem Timer lösen?


    Ich denke mal Timer wären da besser...

    Hey Leute,


    wie auch schon im Singleplayer möglich, bin ich auf der Suche nach einer Funktion (oder einer generellen Lösung),
    um einen Spieler unbegrenzt lang tauchen zu lassen, ohne dass er dabei HP verliert!


    Ich habe natürlich schonmal herum geguckt und bin auch teils fündig geworden, jedoch möchte ich
    ungern Timer oder via OnPlayerUpdate permanent üerprüfen ob der Spieler die "Schwimm-Animation" ausübt.


    Gibt es vielleicht eine andere Lösung?


    Gruß

    Schau im Server Log nach

    Oha oha...
    Hab mich wohl doch geirrt: :rolleyes:


    Code
    [23:48:45]  Loading plugin: mysql
    [23:48:45]  SA:MP MySQL Plugin v2.1.1 Loaded.
    [23:48:45]   Loaded.


    Also mit dem R5 sollte es klappen?



    #edit:


    Habe das ganze mal mit dem R5 probiert, jedoch kam dann folgendes:
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(881) : warning 213: tag mismatch
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(966) : error 017: undefined symbol "mysql_init"
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(966) : warning 213: tag mismatch
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(967) : warning 202: number of arguments does not match definition
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(967) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Zeilenblock (Fehler 881 :(
    stock mysql_GetInt(Table[], Field[], Where[], Is[])
    {
    new sqlint;
    new query[128];
    mysql_real_escape_string(Table, Table);
    mysql_real_escape_string(Field, Field);
    mysql_real_escape_string(Where, Where);
    mysql_real_escape_string(Is, Is);
    format(query, 128, "SELECT `%s` FROM `%s` WHERE `%s` = '%s' LIMIT 1", Field, Table, Where, Is);
    mysql_query(query);
    mysql_store_result();
    sqlint = mysql_fetch_int(connection);
    mysql_free_result();
    return sqlint;
    }


    Zeilen Zeile 966-967:
    connection = mysql_init(LOG_ONLY_ERRORS, 1);
    mysql_connect(SQL_HOST, SQL_USER, SQL_PASS, SQL_DATA,connection,1);

    Wichtig ist im Prinzip nur diese Zeile für deinen Code:

    Ja klar, jedoch ändert dies nichts an den Fehlern :/ :


    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5003) : error 017: undefined symbol "mysql_retrieve_row"
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5004) : error 017: undefined symbol "mysql_fetch_field_row"
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5005) : error 017: undefined symbol "str"

    if(clickedid == News[playerid]) { new string[356]; mysql_query("SELECT `Server` FROM `news`"); mysql_store_result(); mysql_retrieve_row(); mysql_fetch_field_row(string,"Server"); format(string,sizeof(string),"{FFFFFF}%s",str); for(new i=0; i == '~') string = '\n'; ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_MSGBOX,"Neuigkeiten von SERVERNAME",string,"O.K.",""); return 1; }

    Ich glaube du benutzt ein "neueres" MySQL Plugin...
    Meins ist das noch alte (glaube R5), daher folgende Fehler:


    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5003) : error 017: undefined symbol "mysql_retrieve_row"
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5004) : error 017: undefined symbol "mysql_fetch_field_row"
    C:\Users\Roland\Desktop\Rfl\gamemodes\cs.pwn(5005) : error 017: undefined symbol "str"

    Hey Leute,


    ich möchte einen längeren String aus meiner MySQL-DB in einen Dialog auslesen lassen.


    Der Inhalt der Zeile in MySQL sieht wie folgt aus:


    Code
    Das Projekt wurde erfolgreich gestartet.\n\nDamit man gucken kann ob auch alles läuft, machen wir mal\neinen Zeilenumbruch!


    Das Scripttechnische:


    if(clickedid == News[playerid])
    {
    new bannedstring[356],query[256];
    mysql_query("SELECT `Server` FROM `news`");
    mysql_query(query);
    mysql_store_result();
    new str = mysql_num_rows();
    format(bannedstring,sizeof(bannedstring),"{FFFFFF}%s",str);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_MSGBOX,"Neuigkeiten von SERVERNAME",bannedstring,"O.K.","");
    return 1;
    }

    Hey Leute,


    ich habe ein Tretminensystem gescriptet, welches auch einwandfrei funktioniert.
    Jedoch gibt es einen Makel:


    Die Minen schweben in der Luft, anstatt auf dem Boden (wo der Spieler sich befand) zu liegen.


    So sieht es momentan aus:


    CreateObject(19602,SpielerX,SpielerY,SpielerZ,0.0,0.0,0.0,0.0);


    Um wie viel Einheiten muss ich das Objekt verschieben, so dass es auf dem Boden "liegt" ? :)

    Hey ho,


    könnt ihr mir vielleicht sagen, warum dieser Stock falsch "returned" wird?


    Der Dialog wird nicht angezeigt, ich erhalte lediglich den bei "OnPlayerCommand" definierten return-Text.


    Stock:


    stock Statistiken(fromplayerid,forplayerid)
    {
    new Float:KD = pInfo[fromplayerid][pKills] / pInfo[fromplayerid][pTode];
    new adminlevel[64],jtext[20],ehren[21],ktext[20],tname[20],drank[20];
    switch(pInfo[fromplayerid][pJob])
    {
    case 0:(jtext="arbeitslos");
    }
    switch(pInfo[fromplayerid][pAdminlevel])
    {
    case 0:(adminlevel="-");
    case 1:(adminlevel="Supporter");
    case 2:(adminlevel="Moderator");
    case 3:(adminlevel="Administrator");
    case 4:(adminlevel="High-Admin");
    case 5:(adminlevel="Head-Admin");
    case 6:(adminlevel="Projektleiter");
    }
    switch(pInfo[fromplayerid][pARang])
    {
    case 0:{ehren="Private";}
    case 1:{ehren="Corporal";}
    case 2:{ehren="Sergeant";}
    case 3:{ehren="Master Sergeant";}
    case 4:{ehren="Warant Officer";}
    case 5:{ehren="Chief Officer";}
    case 6:{ehren="2nd Lieutenant";}
    case 7:{ehren="1st Lieutenant";}
    case 8:{ehren="Captain";}
    case 9:{ehren="Major";}
    case 10:{ehren="Colonel";}
    case 11:{ehren="Major General";}
    case 12:{ehren="General";}
    case 13:{ehren="Chief of Staff";}
    }
    switch(pInfo[fromplayerid][pTeam])
    {
    case 1:{tname="Städter";}
    case 2:{tname="Wilderer";}
    }
    switch(pInfo[fromplayerid][pDonator])
    {
    case 0:{drank="-";}
    case 1:{drank="Bronze";}
    case 2:{drank="Silber";}
    case 3:{drank="Gold";}
    case 4:{drank="Platin";}
    }
    switch(GetPlayerFightingStyle(fromplayerid))
    {
    case 4:{ktext="Straßenprügler";}
    case 5:{ktext="Boxen";}
    case 6:{ktext="Kung-Fu";}
    case 7:{ktext="Kickboxen";}
    case 15:{ktext="Grab-Kick";}
    case 16:{ktext="MMA-Elbow";}
    }
    new string[1000];
    format(string, sizeof string, "{BDBDBD} Statistik von {FF00FF} %s {BDBDBD} auf {FF00FF} Server Name\n\n\n",SpielerName(fromplayerid));
    format(string, sizeof string, "%s{BDBDBD}[Allgemeines]\n\n",string);
    format(string, sizeof string, "%sLevel: %i EXP: %d/%i Skin ID: %i Team: %s\n",string, GetPlayerScore(fromplayerid),pInfo[fromplayerid][pEXP],pInfo[fromplayerid][pbEXP],GetPlayerSkin(fromplayerid),tname);
    format(string, sizeof string, "%sAdminrank: %s Verwarnungen: %i Militärrang: %s\n\n\n",string,adminlevel,pInfo[fromplayerid][pWarn],ehren);
    format(string, sizeof string, "%s{BDBDBD}[Spielinternes]\n\n",string);
    format(string, sizeof string, "%sBeruf: %s Donator-Rank: %s Online-Zeit: %d Stunden\n\n",string,jtext,drank,pInfo[fromplayerid][pSpielzeit]);
    format(string, sizeof string, "%s[Besitztum]\n\n",string);
    format(string, sizeof string, "%sBargeld: %d Kontoguthaben: %d\n\n",string,pInfo[fromplayerid][pGeld],pInfo[fromplayerid][pBank]);
    format(string, sizeof string, "%s[Kampf-Statistik]\n\n",string);
    format(string, sizeof string, "%sMorde: %d Tode: %d KD: %.2f Kampfstil: %s \n\n",string,pInfo[fromplayerid][pKills],pInfo[fromplayerid][pTode],KD,ktext);
    ShowPlayerDialog(forplayerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistik-System 1.0",string,"OK","");
    return 1;
    }

    Öffne dein Script erneut und kompiliere. Was sagt das crashdetect Plugin jetzt?

    Folgende Fehlermeldungen werden nun quasi gespammt:



    Das ganze wird wirklich tausendemale geloggt...

    eige uns dann den Code, den das plugin erstellt hat (sollte sich in der server.log befinden).


    Folgendes wird in Massen geloggt:



    Was ist denn da los? :o

    Ich habe jetzt alles geuodatet und eingefügt (den Ordner "sscanf" muss ich ja soweit ich weiß nirgendswo einfügen).


    Trotzdem funktioniert immer noch nichts :/


    Was mich wundert ist, dass dieser Befehl den Server crasht:
    ocmd:me(playerid,params[])
    {
    if(Tot[playerid] == 1) return SCM(playerid,COLOR_RED,"Du bist Tot und kannst das nicht tun!");
    new str[100],str2[128],logstr[128];
    if(sscanf(params, "s", str))return SCM(playerid, COLOR_RED,"/me [TEXT]");
    format(str2,sizeof(str2),"%s %s",SpielerName(playerid),str);
    MeMessage(playerid,str2);
    format(logstr, sizeof(logstr), "%s: %s", SpielerName(playerid), str);
    ChatLog(str);
    return 1;
    }


    Und dieser hier funktioniert trotz Nutzung von SSCANF:
    ocmd:o(playerid,params[])
    {
    if(Tot[playerid] == 1) return SCM(playerid,COLOR_RED,"Du bist Tot und kannst das nicht tun!");
    if(isPlayerAnAdmin(playerid,1))
    {
    new inputtext[128],string[128];
    if(sscanf(params,"s",inputtext))return SCM(playerid, COLOR_RED,"/o [TEXT]");
    switch(pInfo[playerid][pAdminlevel])
    {
    case 0:{format(string,sizeof(string),"(({FFFFFF}%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 1:{format(string,sizeof(string),"(({CCFF9F}[SUP] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 2:{format(string,sizeof(string),"(({00FF80}[MOD] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 3:{format(string,sizeof(string),"(({0080FF}[ADM] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 4:{format(string,sizeof(string),"(({FFC400}[H-ADM] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 5:{format(string,sizeof(string),"(({FF0000}[H²-ADM] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 6:{format(string,sizeof(string),"(({FF0000}[OWN] %s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    }
    SCMTA(COLOR_WHITE,string);
    return 1;
    }
    else
    {
    if(pOOC_CD[playerid] > 0)return SCM(playerid,COLOR_RED,"Du musst zwischen dem Senden zweier Nachrichten 10 Sekunden warten!");
    if(OOCBool == 0)return SCM(playerid, COLOR_RED,"Der OOC-Chat ist zurzeit deaktiviert!");
    if(GetPlayerScore(playerid) < 2)return SCM(playerid, COLOR_RED,"Du benötigst Level 2!");
    new inputtext[128],string[128];
    if(sscanf(params,"s",inputtext))return SCM(playerid, COLOR_RED,"/o [TEXT]");
    switch(pInfo[playerid][pAdminlevel])
    {
    case 0:{format(string,sizeof(string),"(({FFFFFF}%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 1:{format(string,sizeof(string),"(({CCFF9F}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 2:{format(string,sizeof(string),"(({00FF80}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 3:{format(string,sizeof(string),"(({0080FF}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 4:{format(string,sizeof(string),"(({FFC400}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 5:{format(string,sizeof(string),"(({FF0000}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    case 6:{format(string,sizeof(string),"(({FF0000}*%s: {FFFFFF}%s))",SpielerName(playerid),inputtext);}
    }
    SCMTA(COLOR_WHITE,string);
    pOOC_CD[playerid] =10;
    return 1;
    }
    }

    Hey Leute,


    wie an dieser schon sehr kuriosen Überschrift habe ich ein wirklich schwerwiegendes Problem.
    Undzwar geht es um das allseitsbekannte Include "SSCANF".


    Ich habe eigentlich immer ohne Probleme mit SSCANF gearbeitet, bis vor ein paar Tagen...


    Nachdem ich wieder mit dem Scripten angefangen habe und losgescriptet habe,
    hatte ich soweit keine Probleme.


    Nach einigen Tagen hat auf einmal mein Server angefangen total zu "spinnen".


    Angefangen hat es, dass einige Skins nicht mehr gesetzt werden und auch gewisse Stocks nicht
    richtig ausgeführt werden.


    Anschließend hat das eingeben von Befehlen nicht mehr richtig funktioniert (einige Commands bringen den Server
    sogar zum crashen!!!).

    Meine Vermutung:


    Es muss an SSCANF liegen, da Scriptpassagen (vorallem Commands) ohne SSCANF-Geschichten einwandfrei funktionieren
    und keine Probleme bereiten.


    Meine Frage ist, ob jemand schonmal damit Erfahrung hatte, bzw. was ich nun tun kann, da ich echt hilflos bin.



    Geupdatet hatte ich, soweit ich weiß, das Ganze auch schonmal...

    Hey Leute,


    ich habe vorhin mal etwas rund um ESO gegoogelt und habe einen Thread des offiziellen ESO-Forums gelesen,
    wo erklärt wird, wie genau es abläuft seinen Account vom PC auf die Next-Gen zu übertragen, bzw. welche
    weitere Fragen es zu ESO gibt.


    Habe ich es richtig verstanden, dass ich um ESO auf der X-BOX zu spielen, ich mich lediglich mit meinem
    ESO Konto an der X-BOX anzumelden?


    Wenn ja, wie bekomme ich ESO auf der X-BOX gedownloadet, ohne es zu bezahlen (kaufen) ?


    Habt ihr eine Idee, bzw. habt ihr vielleicht mehr Infos?



    Danke im Voraus!



    (Der Thread: *klick* )