Daran lags nicht, liegt an meinem Register Stock. Das ist mir auch gerade erst aufgefallen o0.
Trotzdem Danke
Daran lags nicht, liegt an meinem Register Stock. Das ist mir auch gerade erst aufgefallen o0.
Trotzdem Danke
Das Ganze hilft aber nix, wenn kein Random drin ist. So wie es aussieht, ist ja keines drin.
deklarier die Variable Pilotneu mal global, das heißt, Du setzt die Variable einfach mal nach ganz oben ins Script.
//EDIT: Und wo ist eig. die Random Funktion? o0
Moinsen,
Der Server findet meine amx nicht.
Der Fehler ist folgender:
Zitat[21:23:42] Script[gamemodes/dm.amx]: Run time error 19: "File or function is not found"
Doch im Gamemodes Ordner befindet sich die dm.amx.
Ich habe sie bereits gelöscht und neu hochgeladen, jedoch immer dieser Fehler.
Ich habe auch aus der Dropbox ein Backup geladen, hat ebenfalls nichts geholfen.
Ich habe momentan keine Ahnung, wo der Fehler liegen könnte.
Hat jmd. eine Idee?
//EDIT: Mir ist folgendes im Log ufgefallen:
ZitatLoading plugin: mysql.so
[22:19:36] Failed (plugins/mysql.so: cannot open shared object file: No such file or directory)
[22:19:36] Loaded 0 plugins.
wie man aber hier sieht
http://screencloud.de/-0ogt3xi4ag
ist die mysql.so drin.
Grüße
Einen fehler habe ich schon gefunden:
SpawnPlayer(playerid);
SendClientMessage(playerid,0x00A93CFF,"Herzlich Willkommen auf Crosslines GTA SA RL Server!");
new pfad[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(pfad,sizeof(pfad),"/scriptfiles/Crossline.ini",name);//hier ersetzt Du "%s" mit dem Namen
SetSpawnInfo(playerid,0,dini_Int(pfad,"skin"),1765.6999511719, -1921.0999755859, 13.60000038147,212.2234,0,0,0,0,0,0);
LoadStats(playerid);
Du führst die Funktion "SpawnPlayer" aus, bevor Du erst die Informationen zum Spawnen gibst.
Serte SpawnPlayer einfach in die Zeile nach "SetSpawnInfo". Also zwischen SetSpawnInfo und LoadStats.
Und nein @Maffin, kann ich mir nicht vorstellen xD
//EDIT: WBB Tag Fail xD
Deswegen ersetzt Du ja im Format "%s" mit dem Namen des Jenigen, der connected, bzw. disconnected.
Warum der das jetzt allerdings nicht speichert ist mir ein Rätsel.
Du benutzt doch sonst auch Dini oder?
Es muss sogar so sein, denn sonst schreibt der in eine "%s.ini" und die existiert ja nicht.
Mal ne andere Frage: Existiert zu dem Zeitpunkt schon eine "Crossline.ini"?
Geschrieben sollte schon was werden, jedoch ist bei OnPlayerConnect ein Fehler.
Und zwar liest Du den Skin immer aus der "%s.ini" aus.
Du musst das in ein Format machen:
new pfad[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(pfad,sizeof(pfad),"/scriptfiles/%s.ini",name);//hier ersetzt Du "%s" mit dem Namen
SetSpawnInfo(playerid,0,dini_Int(pfad,"skin"),1765.6999511719, -1921.0999755859, 13.60000038147,212.2234,0,0,0,0,0,0)
Dann sollte es funktionieren.
public OnPlayerConnect(playerid)
{
public OnPlayerDisconnect(playerid, reason)
new pfad[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(pfad,sizeof(pfad),"/scriptfiles/%s.ini",name);
SendClientMessage(playerid,0x00A93CFF,"Herzlich Willkommen auf Crosslines GTA SA RL Server!");
SetSpawnInfo(playerid,0,dini_Int(pfad,"skin"),1765.6999511719, -1921.0999755859, 13.60000038147,212.2234,0,0,0,0,0,0);
LoadStats(playerid);
SpawnPlayer(playerid);
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new pfad[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(pfad,sizeof(pfad),"/scriptfiles/%s.ini",name);
dini_IntSet(pfad,"skin",GetPlayerSkin(playerid));
new Float:x;
new Float:y;
new Float:z;
GetPlayerPos(playerid,x,y,z);
positionx = x;
positiony = y;
positionz = z;
if (!dini_Exists(FileStats(playerid)))
{
dini_Create(FileStats(playerid));
}
SaveStats(playerid);
return 1;
}
new pfad[50], name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
format(pfad,sizeof(pfad),"pfad/%s.ini",name);
%s ist ein Platzhalter, an dessen stelle dann der Wert von "name" eingefügt wird. Mehr findeste dazu im Wiki :>
public OnPlayerDisconnect(playerid, reason){
dini_IntSet(pfad,"skin",GetPlayerSkin(playerid));
return 1;
}
public OnPlayerConnect(playerid){
SetSpawnInfo(playerid,0,dini_Int(pfad,"skin"),x,y,z,facingangle,0,0,0,0,0,0);
SpawnPlayer(playerid);
}
Wie speicherst Du die Accountdaten? Dini? oder Mysql? oder mit was?
Speicher unter OnPlayerDisconnect mit GetPlayerSkin die Skin ID und dann lädtst diesen Wert in SetSpawnInfo beim 3. Parameter.
OnPlayerConnect und da
SetSpawnInfo(playerid,0,15,1765.6999511719, -1921.0999755859, 13.60000038147,212.2234,0,0,0,0,0,0);
SpawnPlayer(playerid);
Die einzelnen Parameter:
ZitatAlles anzeigenplayerid The PlayerID of who you want to set the spawn information.
team The Team-ID of the chosen player.
skin The skin which the player will spawn with.
Float:X The X-coordinate of the player's spawn position.
Float:Y The Y-coordinate of the player's spawn position.
Float:Z The Z-coordinate of the player's spawn position.
Float:Angle The direction in which the player needs to be facing after spawning.
weapon1 The first spawn-weapon for the player.
weapon1_ammo The amount of ammunition for the primary spawnweapon.
weapon2 The second spawn-weapon for the player.
weapon2_ammo The amount of ammunition for the second spawnweapon.
weapon3 The third spawn-weapon for the player.
weapon3_ammo The amount of ammunition for the third spawnweapon.
Gruß
//EDIT parameter Liste eingefpügt
Unter OnPlayerDeath folgendes:
ForceClassSelection(playerid);
Moinsen,
folgendes Problem:
Trotz erfolgreicher Entfernung des Objektes wird keine Object.xml erstellt.
Ich gehe immer nach folgenden Schritten vor:
1. F8 -> start object_deleter
2. gehe ich mit dem Fadenkreuz auf das Objekt(ersteres wird rot)
3. t -> /remove -> "Objekte werden entfernt"
Objekt ist entfernt.
Doch die object.xml ist im Ordner nicht zu finden. Ich habe bereits im resources Ordner gesucht und im Ordner "object_deleter".
Nirgendwo ist diese Datei.
Was mache ich falsch?
Grüße
//EDIT: Rechtschreibung
Ihr wisst schon, dass bei
random(999999);
auch eine einstellige Zahl rauskommen kann? Sehr tolle Telefonnummer.
//EDIT: Kleine Verbesserung
Evtl hilft Dir unten die "Grafik" uf dieser Wiki Seite weiter: Klick
Es dreht sich nichts.
Y+
X- X+
Y-
//EDIT Ja, sieht gerade etwas scheißé aus, aber hoff. wirste mich verstehen
Moinsen,
bin gerade dabei eine Multiaccount suche zu machen.
Folgender Code:
ocmd:checkmulti(playerid,params[]){
new pID;
if(sscanf(params,"u",pID))return SendClientMessage(playerid,ROT,"/checkmulti [ID]");
if(IsPlayerAnAdmin(playerid,3)){
new ip[16], query[128], name[MAX_PLAYER_NAME];
GetPlayerIp(pID, ip, sizeof(ip));
GetPlayerName(pID, name, sizeof(name));
format(query, sizeof query, "SELECT `ip` FROM `accounts` WHERE `ip` = '%s' and name != '%s'", ip,name,ip);
mysql_query(query);
mysql_store_result();
new rows = mysql_num_rows();
mysql_free_result();
if(rows > 0)
{
new str[100];
format(str,sizeof(str),"Multiaccount: %s -> %s",SpielerName(pID));
SendClientMessage("");
}
}else{
SendClientMessage(playerid,ROT,"Du hast nicht die nötigen Rechte.");
}
}
Jetzt weiß ich zwar den Namen vom geprüften, jedoch nicht den vom Multiaccount.
Wie bekomme ich diesen heraus?
Danke schonmal.
Grüße
//EDIT: PWN Tags eingefügt