Dann kannst du in deiner Datenbank die ID des Teleports auf AUTO_INCREMENT stellen.
Wenn du dann einen Teleport hinzufügst, dann kannst du das mit einem INSERT INTO Query machen (siehe Beispiel) und mit mysql_insert_id() die neue ID auslesen (siehe Beispiel).
Beiträge von Jeffry
-
-
Vom Code her sieht es in etwa so aus:
In das enum von SpielerInfo einfügen:
Überall dort wo du einen Skin setzt:
Beim SpielerSpeichern:
Beim SpielerLaden:
Füge dann noch bei OnPlayerConnect das ein:
Und dann, bei OnPlayerSpawn:
Bedenke, dass das so keine Copy-Paste-Lösung ist, sondern du musst die Variablen-Namen natürlich an deine Bezeichnungen anpassen. -
Versuche es mit dieser All In One Package: http://www.chip.de/downloads/A…ne-Runtimes_37449838.html
-
In welcher Fraktion bist du denn (Nummer)?
-
Du musst die ID des Clans auch aus der Datenbank lesen, und anstatt i+1 der Variable j zuweisen.
-
Dann so, sofern die Nummern mit den Fraktionen übereinstimmen:
C
Alles anzeigenpublic OnPlayerSpawn(playerid) { if(!isPlayerInFrakt(playerid, 0)){ if(SpielerInfo[playerid][Spawnchange]==1) { new fID; fID = SpielerInfo[playerid][Fraktion]; SetPlayerPos(playerid, bInfo[fID][b_ix],bInfo[fID][b_iy],bInfo[fID][b_iz]); SetPlayerInterior(playerid, bInfo[fID][b_interior]); SetPlayerVirtualWorld(playerid, fInfo[fID][f_world]); SetPlayerColor(playerid, fInfo[fID][f_color]); } } return 1; } -
{1925.4830,663.5787,10.8203,2324.3987,-1149.5460,1050.7101,12}
Hast du denn hierzu eine Variable, oder ein Array, oder irgendwas? Kannst du das mal posten, irgendwas dazu?
-
Ja, aber wie setzt du die Position? Ich will sehen, welche Variablen du dort nutzt. Mit den Koordinaten an sich fange ich nichts an, außer du trägst die direkt in das SetPlayerPos bei OnPlayerSpawn ein, was du wahrscheinlich nicht willst.
-
Nein, das sind nur Koordinaten.
Den Code, mit dem du das Interior betrittst (Befehl, ...?). -
Wie betrittst du denn sonst das Interior?
Poste dazu bitte mal den Code. -
-
Vor:
Das hier:
Ganz unten im Gamemode:C
Alles anzeigenstock ReturnPlayerID(l_PlayerName[]) //©Jeffry { new l_name[MAX_PLAYER_NAME]; for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerName(i, l_name, MAX_PLAYER_NAME)) { if(!strcmp(l_name,l_PlayerName, true)) return i; } } for(new i = 0; i < MAX_PLAYERS; i++) { if(GetPlayerName(i, l_name, MAX_PLAYER_NAME)) { if(strfind(l_name,l_PlayerName,true)!=-1) return i; } } return INVALID_PLAYER_ID; } -
Hatte es grade selbst verwechselt.
So war es gemeint:CAttachObjectToVehicle(object,vID,X/2.0,Y/2.0,0.0,0.0,0.0,0.0); AttachObjectToVehicle(object,vID,-X/2.0,Y/2.0,0.0,0.0,0.0,0.0);Eins wäre dann auf der linken Seite und eins auf der rechten Seite, jeweils vorne an der Motorhaube.
Nach diesem Prinzip hier:
[wiki]AttachObjectToVehicle[/wiki]
-
Ein Blinkersystem meinst du?
Da müsstest du + bzw - X/2.0 nehmen, und Y/2.0 für links/rechts. Von der Höhe her wird es halt nicht immer ganz passen nehme ich an. Aber du könntest es mit dem Z-Offset einfach mal bei 0 lassen. -
-
Kann es auch sein, dass das "name" aus dem "enum{}" das Problem machen kann?
Das wird der Grund des Problems sein, ja, da dort "name" nicht als alleinstehendes Array/String deklariert ist, sondern als Wert eines enums.
-
Ja, das ist korrekt.
Möglicherweise hast du "name" schonmal irgendwo definiert, aber nicht als Array. Versuche deshalb mal in den zwei Zeilen oben das "name" umzubenennen, zu "pname" oder so. -
Poste bitte noch den Teil von OnPlayerSpawn dazu, der, der die Position des Spielers setzt, wenn der SpawnChange an bzw. aus ist.
-
Das ist bereits seit der Umstellung auf WBB4 mehrmals gemeldet, ich habe auch schon mit dem Team Rücksprache gehalten, ob es denn möglich ist, den CODE Code zu kopieren, wie du es auch erwähnt hast. Dies ist allerdings leider nicht möglich.
Zusammen mit seegras und maddin haben wir aber einen relativ guten Weg gefunden, das für die alten Posts umzustellen. Der Lösungsansatz ist da auf jeden Fall vorhanden, nur ist es keine Kleinigkeit, und etwas heikel, da direkt in der Datenbank gearbeitet werden muss, aber sobald seegras die Änderungen einspielt, sollten die alten Posts auch wieder lesbar sein.Siehe auch:
IMHO: Sammlung von Punkten zum neuen Forum -
Du hast die vehicleid als zweiten Parameter vergessen und du darfst nicht die modelid nutzen, sondern musst die objectid nutzen, sprich du musst das Objekt erst mit CreateObject erstellen, in eine Variable bzw. ein Array speichern und das dann nutzen.
Siehe: [wiki]AttachObjectToVehicle[/wiki]