Beiträge von Woozie

    Sperr doch den Namen aus. Oder gib deinem SA-MP Server ein Passwort und gib dieses nur an erwünschte Spieler.


    Problem an der Sache ist ja, wenn jemand will, schafft er es auch auf deinem Server zu kommen. Passwortschutz oder Namenssperre wäre einfacher. Oder halt eine Whitelist gleich.

    Code
    format(query,sizeof(query),"UPDATE `accounts` SET `Level`=%d,`Geld`=%d,`Kills`=%d,`Tode`=%d,`TLevel`=%d,`Fraktion`=%d,`Adminlevel`=%d,`Banned`=%d WHERE `Name`='%s'", GetPlayerScore(playerid),sInfo[playerid][pGeld],sInfo[playerid][pKills],sInfo[playerid][pTode],sInfo[playerid][pTLevel],sInfo[playerid][pFraktion],sInfo[playerid][pAdminlevel],sInfo[playerid][pBanned],ShowPlayerName(playerid));

    Probiers mal so.


    1. ein Komma fehlte zwischen Fraktion und Adminlevel
    2. lass die Leerstellen im Query weg, da du einen größeren String benötigst


    Sollte gehen. Ansonsten gibt es immer mysql_error() Abfrage, k.A. welches Plugin du nutzt, die dir immer die Fehlermeldung ausgibt. Alternativ kopier deinen Query über PMA (phpMyAdmin) und lass dir dort den Fehler ausgeben.

    Ja, und was willst du unter OnPlayerDeath machen? Du kannst bei SetSpawnInfo kein Interior oder VWorld einsetzen. Dies musst du unter OnPlayerSpawn machen ;).
    Ich selber vergebe unter OnPlayerDeath nur die SetSpawInfo an die Spieler, Rest wird unter OnPlayerSpawn gemacht. Meiner Erfahrung nach fehlerfreier als direkt unter OnPlayerDeath.

    Wüsste zwar jetzt nicht, wo das Problem in deinem Command besteht, aber beheb das doch unter dem Callback OnPlayerDeath mit einem SetSpawnInfo und einer Variable (z.B. playerDeath[playerid] = 1) und unter OnPlayerSpawn eine Abfrage (if (playerDeath[playerid]) {playerDeath[playerid] = 0; SetPlayerInterior(playerid, <id des gewünschten Interiors>);}

    Ich möcht mich hier auf mal einklinken, wenn ich darf.


    Ich spiele GTAO auf meiner 360 und bin auch dort schon Cheatern (Modder sind doch was anderes, Leute) begegnet. Entweder killen (den leichtesten Weg) sie alle Spieler auf dem Server oder "modden" sich Geld. So hab ich erst gestern Abend ein Angebot bekommen, zusammen mit einem "Modder" in einer privaten Sitzung an 100.000.000GTA$ zu kommen. Hab ihm aber gesagt, daß ich sowas nicht mache und es mir lieber ehrlich verdien, was ich auch bei SA-MP immer getan habe und tue.


    Zu GTA Online selbst:
    Anfangs war ich skeptisch und zufrieden bin ich heute noch nicht wirklich. R* verpennen das Potential an GTAO. Man kann wirklich nur "böse" Dinge tun, nichts anständiges (außer Rennen fahren). Mir persönlich fehlt da "die gute Seite". Die Kontaktmissionen schein ich nun auch nahezu alle durch zu haben. Okay, seitdem ich im Web nachgelesen habe, wie man an die richtigen Raubüberfälle (Heists) rankommt, ist GTAO für mich derzeit richtig interessant. Leider laufen diese "Heists" nur mit 4 Spielern ab. Das heisst, min. 2 Idioten hat man immer dabei. Allein oder zu zweit wäre auch klasse, nur geht das ja leider nicht.

    Mir ist aufgefallen, wenn man sich normal im Forum anmeldet (HTTPS), bleibt man eingeloggt. Klickt man auf Donator's Club oder Gamekey-Angebote (beide nur HTTP), wird man ausgeloggt. Ist ein wenig nervig. Denke mal, da müssen nur die Links angepasst werden. Wollte es dennoch mal erwähnen.

    Das ganze laggt im Mehrspieler Modus...Außerdem sind das ja die Standard Interiors von GTA SA. Ich betrete das ganze und sobald ich mit dem laufen beginne, hängt alles!

    Sprich, im SP laggt es nicht? Mal einen anderen Server getestet ob das da auch ist? Falls es nur bei diesem einen laggt, liegt das wahrscheinlich am Script/Objekte, die dort verwendet werden.

    Ehm, hab ich das überlesen oder wurde das gar nicht erwähnt/gefragt? Laggt es im Einzel- und im Mehrspielermodus (SP und SA-MP) oder nur in einem von beiden?


    @.Moersy
    das Bearbeiten der stream.ini funktioniert aber nur im SP und nicht unter SA-MP. Letzterer benutzt eine eigene, die verschlüsselt in der samp.saa ist.

    Les doch mal meine Posts....
    du musst es so schreiben:


    new id=CreateObject(3975, 1469.2183, -1643.1805, 12.9006, 0.0000, 0.0000, 180.0000);SetObjectMaterial(id, 11, 8399, "vgs_shops", "vgsclubwall05_128", 0xFFFFFFFF);SetObjectMaterial(id, 8, 4010, "lanblokb2", "sl_lavicdtwall1", 0xFFFFFFFF);

    Wetschi, was Kaliber schreibt ist vollkommen richtig.


    Bei deinem Code ganz oben erstellst du ja durch CreateObject immer ein neues, also 2 in deinem Beispiel. CreateObject gibt die neue ID zurück und mit der arbeitet dann SetObjectMaterial. Da du in jeder deiner Zeile (SetObjectMaterial) ein neues Objekt (CreateObject) erstellst, veränderst du auch nur immer einen Index pro Objekt. Daher muss er das Objekt erstellt, die ID in eine Variable gespeichert und danach mit der Variable gearbeitet werden.

    if(!strlen(inputtext) || strlen(inputtext) < 3 || strlen(inputtext) > 25){return ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,"Projekt - Authentifizierung","","Bestätigen","");}

    Kleiner Tipp:
    das erste strlen(inputtext) kannst du weglassen.


    Code
    if (strlen(inputtext) < 3 || strlen(inputtext) > 25) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Projekt - Authentifizierung","","Bestätigen","");

    Hast du mal auf deine HDD geachtet, wenn du ein Interior betrittst? Muss er viel Laden oder zuckt das Lämpchen nur kurz. Muss er dabei viel Laden, solltest du mal deine HDD überprüfen.


    Ansonsten nutz die Option "Als Administrator ausführen" und Kompatibilitätsmodus "Windows XP SP3".