Du meinst wahrscheinlich SetPlayerWorldBounds.
Beiträge von Goldkiller
-
-
read[x] = ' //Zeile 949
Das ist niemals die Komplette Zeile bzw so ist sie fehlerhaft.
Dort müsstest so etwas stehen:
read[x] = '\0';
read[x] = 'a';
Hab mal gegooglet und folgendes gefunden:
new File:BLACKLISTFILE = fopen("/M_Bot/M_Black.cfg", io_read);
if(BLACKLISTFILE)
{
while(fread(BLACKLISTFILE,read))
{
for(new x=0; x<strlen(read); x++)
{
if(read[x] == '\n')
{
read[x] = '\0';
}
}
if(!strcmp(read,playerip,false,TwoNumbersLength) || !strcmp(read,playerip,false))
{
fclose(BLACKLISTFILE);
return 1;
}
}
}
Quelle: http://pastebin.com/VbXD2zKa -
Du hast auch keine Zeit zu lesen was User vor dir schreiben,mh ?
PVar's werden beim Verlassen des Servers automatisch gelöscht.
Du musst das genauso machen, wie PatoD geschrieben hat, nur dass du zwischendrin noch mit deiner Dateispeicherungsmethode (MySQL, dini o.Ä.) die Koordinaten auch speichern - und dann wieder laden - musst.Zitatund das was @ PatoD Geschriben hat habe ich gemacht aber es tut sich nix wwenn ich sagen wir ma wo Anders hinlaufe dann Spawne ich immer noch an meiner base
Sagen wir mal ... du schreibst es nochmal ordentlich,sodass es Jeder versteht. Dennoch,wenn ich dich richtig verstanden habe, dann ist es auch richtig so. Was ThEDoG möchte,ist nicht genau das Gleiche,wie du es beschreibst ( oder doch, ich versteh dein Text nicht 100%ig ) . Er möchte die Spawn-Koordinaten beim betreten dort hinsetzen, wo der Spieler zuletzt war bevor er den Server das Letzte mal verlassen hat. -
Den Textdraw musst sicherlich erst mal für jeden Spieler erstellen. Sonst hast den Textdraw 1x und jeder sieht den gleichen, obwohl du jedem Spieler sicherlich unterschiedliche Daten anzeigen musst bzw möchtest.Daher brauchst du zuerst eine Globale Textdraw-Variable für alle Spieler.
new Text:tdTank[MAX_PLAYERS]; // Global
Beim betreten des Servers kannst dann den Textdraw für den Spieler erstellen ( beim verlassen das Zerstören nicht vergessen ) .Anzeigen natürlich nicht vergessen, am besten beim betreten eines Fahrzeuges.
tdTank[ playerid ] = TextDrawCreate(540.000000,427.5,"~r~0/0~g~ L");
Jetzt hast den Textdraw, musst ihn nur noch mit Text von Zeit zu Zeit aktualisieren.
Die format Zeile kannst fast komplett übernehmen.Die ~n~ am Anfang sind aber nutzlos, da du sicherlich den Textdraw schon an der korrekten Stelle hast.
format(string,sizeof(string),"~~w~%d~b~/~w~%d~r~Liter~n~~g~~h~%s",Gas[vehicleid],GetGasMax(GetVehicleModel(vehicleid)),VehicleName[GetVehicleModel(vehicleid)-400]);
Über TextDrawSetString kannst nun den Text festlegen.
TextDrawSetString( tdTank[playerid],string);
Mehr ist es nicht :-O. -
Eine Warnung,wunderbar. Wärst du auch so freundlich zu sagen,was für eine Warnung ?
Übrigens, 0x7F0BF7ist nicht die schwarz markierte Farbe aus diesem Post.
Es ist nur RGB, in SA:MP haben wir aber RGBA.
Bestimmt wird die Ingame so angezeigt:
http://www.color-hex.com/color/007f0bDie Farbe müsstest du in SA:MP so benutzen:
0x7F0BF7FF -
Guck mal in dem Startpost die Zeile 20 des Codes an.Dort ist ein return.
Das darf dort nicht hin,wenn nicht nach dem ersten erstellten Fahrzeug der Befehl bzw die Funktion beendet werden soll.
An stelle des "return" wäre ein "break" möglich, versuch es aber lieber erst mal ohne.Das "break" würde nur die Funktion etwas schneller machen.Weitere Dinge seh ich jetzt nicht,weshalb nur ein Fahrzeug spawnt ( kennen ja den Zusammenhang der Variablen nicht :\ ).
-
Du musst die erstmal laden.Die Interiors stecken in den *.IPL's von folgendem Ordner:
Zitat\maps\interior
Ganz sicher bin ich mir nicht, denke aber LSPD steck dort drin: int_LA
Musst einfach mal die Karten laden und über die Map fliegen. -
Die Funktion SetPlayerMoney gibt es auch standardmäßig nicht in SA:MP.
stock SetPlayerMoney(playerid, cash)
{
ResetPlayerMoney(playerid);
return GivePlayerMoney(playerid, cash);
}
Quelle. -
Liegt daran,dass du wohl in Mathe nicht ganz aufgepasst hast oder nicht genau auf die Funktionsbeschreibung schaust:
IsPlayerInArea(playerid, Float:minx, Float:maxx, Float:miny, Float:maxy)
minx, maxx , miny, maxy-1701.8481, -1802.6124, 828.7408, 749.1353
-2738.462, -2510.563, 590.1168, 736.0805
-2093.393, -2008.414, -108.1419, -56.85734
-2807.99, -2583.954, 313.9693, 479.6578Die Roten sind falsch.
-
Steht doch unten im zitierten Beitrag
ZitatSA-MP 0.3e Files:
Note: The linux server will be available in later RC versions.Außerdem,es ist RC ( Release Candidate ).
Die Server jetzt alle auf 0.3e umstellen ist sinnlos,da sowieso noch Änderungen vorgenommen werden.Das ist jetzt noch nicht die finale 0.3e Version. -
Zitat von Kalcor
SA-MP 0.3e RC
SA-MP 0.3e is mainly a security update. Some new features and models are planned. More will be added during the RC period.
- There are some minor security problems in the previous version which is resulting in servers being attacked with specially made tools. Resolving this issue requires both a client and server update.
- Fixed a bug introduced in 0.3d where a player might be able to avoid death if they have a custom animation applied.
- An issue setting the player colour of player IDs greater than 500 has been resolved.
- An issue where a player might get kicked if the server used SpawnPlayer() has been fixed.
- Fixed an issue with the server browser where it might crash if invalid data was returned by the server.Although SA-MP 0.3e is mainly a security update, there are a few new features:
- Added some new models models made by cessil including tophat, cane, several different wall sections.
- Scripted dialogs now have a caption bar.- The server can get the exact revision of the client using GetPlayerVersion().
native GetPlayerVersion(playerid, const version[], len); // Returns the SA-MP client revision as reported by the player- A parameter has been added to SetPlayerCameraLookAt() so that the camera will move to the new position, rather than teleport.
#define CAMERA_CUT 2
#define CAMERA_MOVE 1
native SetPlayerCameraLookAt(playerid, Float:x, Float:y, Float:z, cut = CAMERA_CUT);- A new tool has been added to make it easier to find positions for player attached objects. This new tool can also be used on ordinary objects.
SA-MP 0.3e Files:
Note: The linux server will be available in later RC versions.Client Installer:SA-MP 0.3e RC1 Client
Windows Server (20 players):SA-MP 0.3e RC1 Windows ServerEdit by Dog:
ZitatClient/server update SA-MP 0.3e RC2
- Fixed bug where the player might get teleported to 0,0,0 if they're surfing a vehicle that gets respawned/deleted.
- New pawns:pawn Code:
native AttachPlayerObjectToVehicle(playerid, objectid, vehicleid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:RotZ);
native InterpolateCameraPos(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
native InterpolateCameraLookAt(playerid, Float:FromX, Float:FromY, Float:FromZ, Float:ToX, Float:ToY, Float:ToZ, time, cut = CAMERA_CUT);
native AttachCameraToObject(playerid, objectid);
native AttachCameraToPlayerObject(playerid, playerobjectid);ZitatClient Installer: SA-MP 0.3e RC2 Client
Windows Server (20 players): SA-MP 0.3e RC2 Windows ServerZitatClient/server update SA-MP 0.3e RC3
- Fixed problem where player attached objects might appear floating, not attached to the player - if the game decided to stream the player out.
- Attached objects will be removed when the player respawns or enters class selection, not when the player dies (during the death animation).
- Added new objects from cessil: ~40 new walls including doorways and windows, handcuffs, police lights, speed bump, different coloured headphones.Screenshots of new handcuffs object:
ZitatClient Installer: SA-MP 0.3e RC3 Client
Windows Server (20 players): SA-MP 0.3e RC3 Windows ServerZitatClient/server update SA-MP 0.3e RC4
- Should fix vehicle ID messup if a dead vehicle was deleted by the game.
- Player slots for the RC are now uncapped (up to 500 players).
- Fixed texture filtering issue on the new models.
- Added noclip flymode camera example filterscript.
- New models from cessil: 40 more walls, vehicle barrier, bucket, scarf.
- The server can now enable the player's mouse cursor to click on a TextDraw:native TextDrawSetSelectable(Text:text, set); // the default is 0 (non-selectable)
native SelectTextDraw(playerid, hovercolor); // enables the mouse so the player can select a textdraw
native CancelSelectTextDraw(playerid); // cancel textdraw selection with the mouse
forward OnPlayerClickTextDraw(playerid, Text:clickedid);Notes on SelectTextDraw():
- All clickable TextDraws must use TextDrawTextSize to define the clickable area. It is possible to create TextDraws without using this function.
- You should enable the TextDraw box when doing the layout so you can see the region which is clickable. You can disable the box after.ZitatClient Installer: SA-MP 0.3e RC4 Client
Windows Server: SA-MP 0.3e RC4 Windows Server
Linux Server: SA-MP 0.3e RC4 Linux ServerZitat
Client/server update SA-MP 0.3e RC5- There was a new bug introduced in 0.3e RC4 where sunk vehicles might get deleted by the client.
- Fixed: TextDraw still using hover colour after selection was disabled.
- Extra security is added to script callbacks including OnDialogResponse.
- Fixed: Two-sided texture problem with the bucket model.
- Adds per-player TextDraw system with up to 256 TextDraws per player. There are now global-scope TextDraws and player-scope. All TextDraw functions have player variants:native PlayerText:CreatePlayerTextDraw(playerid, Float:x, Float:y, text[]);
native PlayerTextDrawShow(playerid, PlayerText:text);
native PlayerTextDrawHide(playerid, PlayerText:text);
native PlayerTextDrawSetString(playerid, PlayerText:text, string[]);
// ..[] etcZitatClient Installer: SA-MP 0.3e RC5 Client
Windows Server: SA-MP 0.3e RC5 Windows Server
Linux Server: SA-MP 0.3e RC5 Linux ServerZitatClient/server update SA-MP 0.3e RC6
- Fixes game crash if your vehicle is deleted while you're using the look behind camera.
- Removes Pay'n'Spray map icons.
- Adds GetVehicleModelInfo() pawn native for getting various information about vehicle models such as size etc.
- Local head movements are automatically disabled when using the attached object editor tool.
- Adds SetObjectMaterial() and SetPlayerObjectMaterial() so you can replace the texture on an object with a texture from another model in the game.
- New objects from cessil: for sale sign, gasmask, grass, poker table.
- Fixes a bug where an uncontrollable player might still appear to have animations (like jumping etc) to other players.ZitatClient Installer: SA-MP 0.3e RC6 Client
Windows Server: SA-MP 0.3e RC6 Windows Server
Linux Server: SA-MP 0.3e RC6 Linux ServerZitatClient/server update SA-MP 0.3e RC7
- Adds SetObjectMaterialText/SetPlayerObjectMaterialText for replacing an object's texture with text.
- Fixes problem with players being randomly cuffed if they spawned for you while alt-tabbed.
- Vehicle seat ID checks are less strict for planes and boats.
- SetPlayerAttachedObject now has 2 additional default parameters for material colour. This will require you to recompile your scripts for 0.3e.
- Material colours are now in ARGB format.
- New models from cessil: Blank squares for creating signs, some replacement buildings and houses.ZitatClient Installer: SA-MP 0.3e RC7 Client
Windows Server: SA-MP 0.3e RC7 Windows Server
Linux Server: SA-MP 0.3e RC7 Linux Server -
Ich wiederhole mich nochmal.
Übrigens ... wieso probiert man die SQL Befehle nicht einfach mal Lokal aus anstatt immer direkt Ingame ? bei phpMyAdmin kann man sich die Tabellen doch anzeigen lassen und sehen,ob dort etwas eingetragen wurde. Auch kann man dort die SQL Befehle ausführen lassen :\.
.
Zum Bild:
Das sind bestimmt alles keine DEFAULT Values eingetragen ( Du hast ja nur das Bild gezeigt , nicht die komplette Struktur ).
Daher musst du auch für Farbe1,Farbe2,Nos,Spoilter usw. einen Wert angeben beim einfügen ( INSERT ).Bei id ( falls auto_increment und unique ) reicht ein NULL. -
Zitat
aso also %s und %d sind vertauscht aber es geht immernoch nicht wenn ichs umdrehe
das habe ich schon x-mal getauscht deshalb war das gerade falsch. natürlich weis ich wies eig. sein muss
Woher soll es irgendjemand wissen,wenn du es so dann postest ?ZitatÜbrigens ... wieso probiert man die SQL Befehle nicht einfach mal Lokal aus anstatt immer direkt Ingame ? bei phpMyAdmin kann man sich die Tabellen doch anzeigen lassen und sehen,ob dort etwas eingetragen wurde. Auch kann man dort die SQL Befehle ausführen lassen :\.
Hinzu kommt... keiner weiss wie deine Tabelle autos aussieht. Keiner weiss,was bei mysql_CheckAccount zurückgegeben wird. Ist es 0, 1 oder vllt 4 ?
-
Also wirklich ... wenn bei mir SQL Kommandos nicht klappen lass ich mir die als erstes IMMER per print ausgeben.
format(query, sizeof(query), "INSERT INTO autos (Besitzer, Model) VALUES ('%d', '%s')", name, carmodel);
Dir fällt dort nix auf ? Ich versuche malprint()format zu spielen.ZitatINSERT INTO autos (Besitzer, Model) VALUES ('436', 'àú~§$')
Fehler gefunden ? GutÜbrigens ... wieso probiert man die SQL Befehle nicht einfach mal Lokal aus anstatt immer direkt Ingame ? bei phpMyAdmin kann man sich die Tabellen doch anzeigen lassen und sehen,ob dort etwas eingetragen wurde. Auch kann man dort die SQL Befehle ausführen lassen :\.
Bei mysql_CheckCar seh ich so keinen Fehler :-O.
-
Eines vorweg,ich mach dir den Code nicht fertig. Wenn du an einer Stelle nicht weiter kommst, sag welche.
Alleine schon der Timer bzw die Funktion area51() ist nicht korrekt.Da du SetTimer benutzt ( SetTimerEx würde mit Paremter funktionieren ) und keine Parameter ( Spielerid ) der Funktion area51 übergibst,wird sie immer für Spielerid 0 laufen.
Egal ob Jemand mit der ID 5 oder 324 in die Zone läuft,es wird nix passieren. Denn die Funktion läuft nur für Spielerid 0.Die einfachste Lösung dafür wäre folgendes.
Du musst zuerst mal eine Schleife in die Funktion area51 einbauen die durch alle Spieler geht.
Stichwort:
for(new i = 0 ; i < MAX_PLAYERS ; i++) {}Zitatdas versteh ich ja wohl aber wie ich es scripte.
Welchen Schritt verstehst du nicht ?
Welchen der Punkte kannst du nicht in Code umsetzen ? -
Eigentlich nicht so schwer.Du solltest trotzdem mal den Code zeigen,wo erkennt wird, ob Jemand in die Zone eingetreten ist.
Sonst kann ich dir auch Stichpunktartig vorgeben,was gemacht werden muss.
- Du musst wissen,welchem Team die Zone gehört ( Area51 vermutlich Army oder sowas in die Richtung,stimmts :-O ? )
- Beim betreten der Zone abfragen,zu welchem Team der Spieler gehört
- --> Gehört der Spieler nicht zum Team,welches die Zone besitzt ? Ja / Nein
- -----> JA: Dann Nachricht erstellen : <NAME> ist in <ZONE> / Area51 eingebrochen
- -----> NEIN : Nichts tun.
Mehr ist es eigentlich nicht :\. -
Mh. Du hast da etwas falsch verstanden.
DMSpawn[0] = SetPlayerPos(playerid,1750.6611,767.7841,10.8279);
DMSpawn[1] = SetPlayerPos(playerid,1637.4896,670.2835,10.8203);
DMSpawn[2] = SetPlayerPos(playerid,1588.8384,720.9872,58.2375);
DMSpawn[3] = SetPlayerPos(playerid,1663.5165,759.5008,19.9342);
Das funktioniert leicher nicht so,wie du es möchtest.
SetPlayerPos gibt dir nichts brauchbares zurück, was du später für dein random verwenden könntest.Das Gleiche gilt ebenfalls für SetPlayerColor. Auch würde er so die Spielerposition 4x setzen, was du bestimmt nicht möchtest.
Du könntest dir die Koordinaten in einem Array ( Multidimensionales ) ablegen und dort über random auf einen Index zugreifen. Übrigens,dir hätte auffallen müssen,dass SetPlayerPos 4 Parameter erwartet ( playerid, X , Y, Z ).
new
fDMPos[][3] = { // X , Y, Z
{1750.6611,767.7841,10.8279},
{1637.4896,670.2835,10.8203},
{1588.8384,720.9872,58.2375},
{1663.5165,759.5008,19.9342}
};
Jetzt könntest du über random einen Index auswählen.
new index = random(sizeof(fDMPos));
Den zufälligen Index haben wir jetzt. Jetzt brauchen wir nur die Position setzen.
SetPlayerPos(playerid, fDMPos[index][0] , fDMPos[index][1] , fDMPos[index][2] );
Schon würde der Spieler immer eine zufällig ausgewählte Position erhalten.Nach diesem Prinzip solltest du es auch für die Farben machen. Natürlich dort kein Multidimensionales Array.
new iColors[] = {0x000FFFFF,0x008500FF /* usw */}; -
Ist mir schon klar.Trotzdem bleibt die Frage,wieso speichert man die Passwörter im Klartext / unverschlüsselt ?
Es hat schon seinen Grund wieso man solche Sachen wie Passwörter verschlüsselt abspeichert. Stichwort Sicherheit ? Gibt genug Leute die Passwörter mehrfach verwenden, hab ich also sein Passwort vom Server probier ich es doch direkt mal in irgendeinem Forum,Netzwerk oder Messenger aus ... -
Wie kann man nur Passwörter in Klartext speichern wollen ... ?
-
Natürlich funktioniert es dann, dann fällt es aber unter folgendes:
ZitatDu solltest in das Userprofil schreiben,dass er gebannt ist.
Die PVars speichern und laden keine Werte aus irgendeinem Profil von alleine, falls doch, hätte ich dafür gernen eine Beweis :).Ob es im übrigen stock oder public SpielerSpeichern und Spielerladen ist,ist völlig nebensächlich. Ich befürchte aber,du weisst sowieso nicht,wofür das stock steht ( nicht Stock ). Sonst würdest erst gar nicht erwähnen,dass es "stock SpielerSpeichern" ist 0o.