[SAMMELTHREAD] Kleine Scripting Fragen

Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Jetzt sieht es so aus.


    Jedoch kommt wenn der Name falsch ist der Warntext nicht.

  • Meinst du das ungefähr so?


    Code
    if(!strcmp(inputtext,UserDaten[playerid][user_Name]) || (strlen(inputtext) < 1))


    Wenn ich einen falschen name eingeb kommt Deiser Name ist falsch", jedoch wen ich den richtigen Namen eingeb kommt "Dieses Passwort ist falsch".


    Woran kann da liegen?


    Dialoge:

    OnUserLogin:


    Code
    new rows,string[500];
    	cache_get_row_count(rows);
    	if(rows == 0)
    	{
    		format(string,sizeof(string), "Dieses Passwort ist falsch");
    		SendClientMessage(playerid,ROT,string);
    		ShowPlayerDialog(playerid, DIALOG_LOGIN1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Anmeldung", "{FFFFFF}Um spielen zu können musst du dich einloggen", "{FFFFFF}Einloggen", "{FFFFFF}Abbrechen");
    	}

    Edit: Fail gefunden


    Edit: @Andosius meintest du das so ungefähr? Siehe Beitragsanfang.
    Weiterer Edit: Ist es mir mit meinem Code irgendwie möglich, dass ich beim Login den Namen ändere und mit dem neuen Namen dann spiele? Also angenommen im Serverbrowser ist name x drin der auch in der db ist und ich geb ingame dann den namen y an der auch in der db ist.

  • hallo habe mal eine frage nach einem tot. Mir werden Die namen der Spieler nicht angegeben aber die Tatwaffe schon. Woran liegt es?



    public OnPlayerDeath(playerid, killerid, reason)
    {
    PlayerInfo[playerid][pTot] = 1;
    PlayerInfo[killerid][pKills]+=1;
    GivePlayerMoney(killerid,1000);
    WantedLevel[killerid] += 2;
    new gunname[64];
    GetWeaponName(reason, gunname, sizeof(gunname));
    format(string, sizeof(string), "%s wurde von %s ermodert! Tatwaffe: %s",playerid,killerid,gunname);
    ABroadCast(COLOR_RED,string,1);


    und wie kann ich machen das PDler nicht +2 wanteds kriegen ?

  • #EDIT i DUMM
    if(PlayerInfo[killerid][pFraktion] != 1) { WantedLevel[killerid] += 2; }


    pFraktion ändern wenn es bei dir nicht so heißt und 1 ist die Frakid.

    Einmal editiert, zuletzt von Abbas ()

  • ok danke habe es nun. Nächstes Problem:


    Zeile (3803) : error 017: undefined symbol "CreateDynamicObject"


    Ich habe zu viele CreateObject deshalb muss man dann ja CreateDynamicObject nutzen.
    Aber wie bzw. wo definiere ich die ganzen Sachen?


    hab das jetzt einfach stur unter GamemodeInt eingepackt "CreateDynamicObject(4867, 800.962646, -2158.845703, 11.832575, 0.0000, 0.0000, 179.5182);"

  • Guten Abend!


    Und zwar möchte ich folgndes machen.
    Ich log mich ausverehen mit nem Namen ein dr in der DB nicht existiert und möhte ingame meinen Namen ändern sodass er auch den richtigen Acount mit Passwort n der DB findet. Wie mach ich das am besten?


    Hier ein Lösungsansatz der aber nicht klappt.


    Danke im Voraus


    Allrounder18


    Edit: Der Nam in der Tabliste soll geändert werden sobald ich den Namen im Dialog eingebe und dann soll ich mich mit dem dazugehörigen Passwort einloggen können.

  • Das es mit SetPlayerName geht ist mir bewusst. Nur weiß ich et ganz wohin ich das schreiben soll und wie dann erkannt wird das der Name scho inder DB steht.


    Aktell siht es so aus.



    Ich denke, es wäre am ebsten das gaze bei Dialog Reginfo zu mahen.


    Edit: Das Problem ist zar noch nicht gelöst aber ich steh vor em anderen Problem.


    Code
    #define WEBSITE  website
    new website = ServerInfo[server_Website];

    Kann ich es irgendwie machen, dass website mit ServerInfo[server_Website]; defined ist?
    ServerInfo[server_Website]; ist ein Mysql Wert. Damit ich zb im Dialog schreiben könnte Besucht uns auf unserer #WEBSITE und d ann soll eben das kommen was defined ist.


    MfG

  • Du meinst ca. so?


    Code
    new string[200];
    		format(string,sizeof(string),"{FFFFFF}Es wurde kein Account mit diesem Namen in unserer Datenbank gefunden.\nBitte registriere dich auf auf unserer Website {B90000}""%s""{FFFFFF}.",ServerInfo[server_Website]);
    		ShowPlayerDialog(playerid, DIALOG_REGINFO, DIALOG_STYLE_MSGBOX, "{B90000}Austrian Roleplay {FFFFFF}- Accountinfo", string, "{FFFFFF}Ausloggen", "");

    Hast du für die andere Frage eventuell auch ne Lösung bitte?

  • Halli Hallo,
    hätte wieder eine kleine Frage und zwar benötige ich im Filterscript
    einen Wert welcher aus dem Gamemode kommt.
    (Tank Wert um das Auto beim erstellen einen Wert hinzufügen zu können).


    Mein Funktion im Gamemode selbst sieht wie folgt aus:


    Autos[GetPlayerVehicleID(playerid)][Tank];


    und mein Public im Gamemode um das im FS mit CallRemoteFunction zu holen:


    forward GetTank(playerid);
    public GetTank(playerid)
    {
    new Float:tank;
    tank = Autos[GetPlayerVehicleID(playerid)][Tank];
    return tank;
    }


    bei return tank gibt er mir jedoch ein tag mismatch,
    ich denke ich verwende das falsch , aber wie sollte ich das am besten sonst übergeben O_o

  • Code
    (0) : error 075: input line too long (after substitutions)

    Ich habe ein Dialog im Style MSGBOX und ja die Zeile ist zu lang, kann ich das irgendwie in verschiedene Zeilen schreiben?
    mache ich einfach in der nächsten weiter geht es nicht, weil dann wieder arguments fehlen in der Zeile davor

    wm2c6p1.png
    Ich weiß, dass ich weiß, dass ich nichts weiß.

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen