Also Sprache hab ich KP, aber Hex-Editing und komplexe Algorithmen sowie Variablen verwendet man da auch.
Danke für deine Antwort, evtl kennt ja noch jemand n Tutorial dazu?
Wollt mich damit mal bisschen beschäftigen.
Also Sprache hab ich KP, aber Hex-Editing und komplexe Algorithmen sowie Variablen verwendet man da auch.
Danke für deine Antwort, evtl kennt ja noch jemand n Tutorial dazu?
Wollt mich damit mal bisschen beschäftigen.
Guten Abend, wollt hier mal aus reinem Intresse nach fragen, ob jemand ein Tutorial für die Programmierung von Künstlicher Intelligenz hat.
D.h. Bots o.ä.
Und welche Sprachen dafür empfehlenswert sind (+IDE), C++/C#?
Kann ich auch wenn ich nicht 100 verschiedene Zahlen auf schreiben will sowas in der art machen 1000-5000 das er sich da eine Zahl raussucht?
- Tom
Kann ich auch wenn ich nicht 100 verschiedene Zahlen auf schreiben will sowas in der art machen 1000-5000 das er sich da eine Zahl raussucht?
- Tom
Kann ich auch wenn ich nicht 100 verschiedene Zahlen auf schreiben will sowas in der art machen 1000-5000 das er sich da eine Zahl raussucht?
- Tom
GivePlayerMoney(playerid, ranom(100000));
Sollte klappen
//Edit: Falls nicht, korrigiert mich bitte.
Hallo, gibt es eine möglichkeit um Teile aus dem Script extern zu speichern und zu verlinken?
Anstatt ein tausend zeilen langes Script könnte man es doch in mehrere Dateien einteilen und diese werden eingebunden? Gibt es hier eine Möglichkeit dies mit a) den Stocks zu machen und b) den Inhalten der Funktionen (public Onblabla) ?
Falls du deine Objekte in einem 2 Script speichern / laden willst, denn mach dirn Filterscript dafür.
Ehrlich gesagt, versteh ich auch nicht so ganz was du meinst.
Wofür willst du das Script in 100 Datein zerteilen?
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD1, "Benutzung: /check [Spieler ID]");
return 1;
}
Nimm mal das return 1; weg... sollte gehen, denk ich mal
C:\Users\Steinauer\Desktop\Script\Stunt Selfmade\gamemodes\lvdm.pwn(221) : error 001: expected token: "-string end-", but found "-identifier-"
Hast du da noch einen String deklariert?
Falls ja poste mal bitte die Zeilen dazu.
Hier heißt die Variable nur "Var" und bei der Abfrage "Variable" ?
Ja ist mit Absicht so, die heißt anders im Script
Habe die nur hier umbenannt, sonst sind meine Ideen nachher wieder weg.
Die Variable wird über n Befehl mit OCMD erhöht auf 1, klappt ja auch alles soweit.
Nur beim spawnen, klappts halt nicht.
//Edit: Was evtl noch wichtig wäre, im Gamemode (womit ich das FS teste) wird die SpawnPos mit SetSpawnInfo gesetzt, d.h. SpawnPlayer(playerid); geht.
Aber sobald, er die Var auf 1 hat, respawnt er auch dort. (Hoffe man versteht mich )
Woran machst du den fest, as die Variable auf 1 ist?
Posten den Script-Teil doch auch mal wo er die "Variable" auf 1 setzt!
if(Var{playerid} == 0)
{
Var{playerid} = 1;
}
Alles anzeigenEhhmmm xD mach mal so
Schau mal, dann siehst du den Unterschied, gebe mal nen Tipp auf die Klammern
public OnPlayerSpawn(playerid)
{
if(Variable(playerid) == 1)
{
SetPlayerPos(playerid,-376.8379,-4230.9829,17.6320);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 30, 9999);
}
return 1;
}
Du weisst aber das { } = Charvariable ist...
Bringt mich auch nicht weiter aber danke.
Noch jemand anders ne Erklärung?
Wenn jetzt ein Spieler stirbt, und die Variable auf 1. ist, denn müsste er doch eigentlich respawnen?
Respawnt allerdings am normalen Spawn...
public OnPlayerSpawn(playerid)
{
if(Variable{playerid} == 1)
{
SetPlayerPos(playerid,-376.8379,-4230.9829,17.6320);
GivePlayerWeapon(playerid, 24, 9999);
GivePlayerWeapon(playerid, 30, 9999);
}
return 1;
}
Alles anzeigenMach deine Schleife wieder hin, dein connect war falsch.
Und warum
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2-10, 5.0);
MoveObject(sfpdtor[1], -1641.40002, 676.59998, 6.2, 3.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2-10, 5.0);
MoveObject(sfpdtor[2], -1641.40002, 684.09998, 6.2, 5.0);
das? Du lässt 2x 2 gleiche Objekte moven, was war falsch an dem was ich gesagt habe.
-10 = Runterfahren
5.0 = Hochfahren...
Naja, prüf mit nem Timer ob ein Spieler in der Nähe vom Tor ist, und denn lässte es moven.
Diablo 3, ab und zu ist noch ok.
Ansonsten Anno 1404 (Letztens erst bei gamesload gekauft :P)
//Edit: Selten auch noch CSS... und sonst halt SA:MP
Und wie ist jetzt der Befehl?
Alles anzeigen
if (strcmp("/showpos", cmdtext, true, 10) == 0)
{
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new string[128];
format(string, sizeof(string), "Deine Position ist: %f, %f, %f", X,Y, Z);
return 1;
}
Wenn du das schon doppelt postest, denn bitte richtig. (Da fehlt die SendClientMessage)
ggf. mit ocmd:
ocmd:showpos(playerid,params[])
{
if(!IsPlayerAdmin)return SendClientMessage(playerid, 0xFFFFF, "Du bist nicht als RCON-Admin eingeloggt!");
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new string[128];
format(string, sizeof(string), "Deine Position ist: %f, %f, %f", X,Y, Z);
SendClientMessage(playerid, 0xFFFFF, string);
}
Alles anzeigenHallo Leute,
Ich bin neu in der Scripting Zene un ich wolle einen Befehl machen /showpos
wenn ich /schwopos ein gebe damit ich eine Message bekomme mit der X Y Z Kordinate wo ich gerade stehe
Ich würde mich freuen wenn mir einer helfen könnte
MFG,
lehmzwerk
new Float:X, Float:Y, Float:Z;
GetPlayerPos(playerid, X, Y, Z);
new string[128];
format(string, sizeof(string), "Deine Position ist: %f, %f, %f", X,Y, Z);
Ungetestet
Alles anzeigenYup jetzt kann ich auch auf Fehlersuche gehen und würde auch gerne gleich einmal Anfangen.
Erstens, sagtest du nicht, dass das Objekt etwas später wieder erstellt werden soll?
Wenn ja solltest du hier mit einer simplen Variable arbeiten welche abfragt welchen Status es derzeitig hat und bei Status 0 den Timer erneut ausführt und die Variable +1 setzt.
Dann würde ich es ungefähr so machen (alles zusammen).
new obj, ObjName[MAX_PLAYERS],RespawnStatus;
forward Respawn(playerid);
public Respawn(playerid)
{
if(RespawnStatus==0)
{
if(var{playerid} == 1)return SendClientMessageToAll(ROT, "Objekt abgegeben!"), Obj+=1,RespawnStatus=1,DestroyObject(ObjName[playerid]);
}
else if(RespawnStatus == 1
{
ObjName[playerid]=CreateObject(2993,-384.2000122,-4133.7001953,23.2999992,0.0000000,0.0000000,0.0000000);
SendClientMessageToAll(GRÜN, "Das Objekt wurde respawnt!");
}
return 1;
}
PS: Ist jetzt mehr oder weniger nur Pseudocode, jedoch würde ich dir raten für ObjName noch, da es ja an Spieler attached ist, die playerid zu returnen.
Danke vielmals, aber hatte sich schon erledigt.
Habe es oben auch editiert
Naja aber noch ne kleine Frage, wenn der Spieler nicht in der Nähe vom Objekt ist... soll das Objekt sozusagen auch zerstört werden ( 5 Meter )
if(VAR2 == 1 && !IsPlayerInRangeOfPoint(playerid, 5, X, Y, Z))
{
DestroyObject(ObjName);
}
X, Y, Z Habe ich mit GetPlayerPos ausgelesen...
Ich benutze kein Streamer, es dürften aber auch nur um die 60 Autos sein, die waren davor auch alle drin.
Denn zeig mal ein paar Zeilen dazu, sonst können wir dir auch schlecht helfen.
Alles anzeigenHallo zusammen, folgendes Problem,
seit ich ein paar Autos im Script geladen habe,befinden sich nur 25 Autos auf dem Server, was aber eigentlich viel mehr sein dürften?
Ich habe in keinster Weiße dort eingegriffen, nur Autos ersetzt.
Was könnte das sein?
Benutzt du einen Streamer?
Es gibt ein Limit für Max. erstelle Autos (Glaube 500) danach brauchst du soviel ich weiß einen Streamer.
Alles anzeigenHallo Community,
wenn ich den befehl ingame benutze steht da -120 sekunden aber ich will das da 120 sekunden steht und wenn er 0 sekunden hat soll er gespawnt werden
das bei onplayerdeath
Friedhoft[playerid] = gettime() + 120;
das bei dem befehl
if(strcmp(cmd, "/friedhof", true) == 0)
{
new zstring[128];
new sekunde = gettime() - Friedhoft[playerid];
format(zstring,sizeof(zstring),"Du bist noch %i sekunden auf dem Friedhof",sekunde);
SendClientMessage(playerid,COLOR_WHITE,zstring);
return 1;
}
Alles anzeigenHallo Community,
wenn ich den befehl ingame benutze steht da -120 sekunden aber ich will das da 120 sekunden steht und wenn er 0 sekunden hat soll er gespawnt werden
das bei onplayerdeath
Friedhoft[playerid] = gettime() + 120;
das bei dem befehl
if(strcmp(cmd, "/friedhof", true) == 0)
{
new zstring[128];
new sekunde = gettime() - Friedhoft[playerid];
format(zstring,sizeof(zstring),"Du bist noch %i sekunden auf dem Friedhof",sekunde);
SendClientMessage(playerid,COLOR_WHITE,zstring);
return 1;
}
new sekunde = gettime() - Friedhoft[playerid]; Fällt was auf? Du ziehst die Zeit ab.. ( - 120 Sek.)
Alles anzeigenHallo zusammen.
Habe gerade angefangen mit Scripten, und habe da Fehler dirn,die ich allein nicht bewältigt bekomme.
Vllt kann mir wer helfen ? Gern auch über Teamviewer ???
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(84) : warning 219: local variable "Spielerdatei" shadows a variable at a preceding level
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(85) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(312) : error 004: function "Login" is not implemented
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(353) : warning 219: local variable "Spielerdatei" shadows a variable at a preceding level
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(354) : warning 219: local variable "name" shadows a variable at a preceding level
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(365) : error 055: start of function body without function header
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(368) : error 021: symbol already defined: "GetPlayerName"
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(370) : error 010: invalid function or declaration
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(374) : error 010: invalid function or declaration
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(376) : error 010: invalid function or declaration
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(380) : error 010: invalid function or declaration
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(383) : warning 203: symbol is never used: "Spielerdatei"
C:\Users\Jennifer\Desktop\GTA SA SERVER uvm\jennyselfmade.pwn(383) : warning 203: symbol is never used: "name"
Es sind Variablen dabei, die schon im Script existieren.
Und welche, die garnicht benutzt werden.
D.h. du musst die doppelten Variablen löschen, und die anderen benutzen oder löschen.
Gut jetzt habe ich in etwa verstanden was du meinst. dann solltest du erstens mit einer Schleife zum ablegen nutzen (Zerstören des Objektes).
Zudem wie du es derzeitig hast wird es nur für eine playerid ausgeführt, also wäre auch hier eine Schleife angebracht um es für alle auszuführen.
Jedoch kann ich mir immer noch nicht sehr viel vorstellen unter den 10 Zeilen die du jetzt insgesamt gepostet hast. Also ich verstehe was du machen willst, aber ich sehe derzeitig nicht warum es nicht funktioniert (der Timer nicht startet).
forward Respawn(playerid);
public Respawn(playerid)
{
if(var{playerid} == 1)return SendClientMessageToAll(ROT, "Objekt abgegeben!"), Obj+=1; //Bis hier kommt der Code noch...
DestroyObject(ObjName); //Aber hier ist denn Sense :D
ObjName = CreateObject(2993,-384.2000122,-4133.7001953,23.2999992,0.0000000,0.0000000,0.0000000);
SendClientMessageToAll(GRÜN, "Das Objekt wurde respawnt!");
return 1;
}
So, das sollte helfen?
//Edit noch mal ausgebessert
//Edit² Hat sich erledigt, habs nun in einen IF-Block gesetzt, anstatt mit Return (Funktioniert nun), danke an alle