[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
-
-
Ich hab keinen Link bekommen.
Ja, als stock kannst du es auch schreiben, dann sieht es so aus:
new string[128];
format(string, sizeof(string), "%s hat den Server betreten [%d]", SpielerName(playerid), playerid);
stock SendAdminMessage(ROT, string);stock SendAdminMessage(color, msg[])
{
for(new i = 0; i < MAX_PLAYERS; i++) if(SpielerInfo[i][Level] > 0) SendClientMessage(i, color, msg);
return 1;
}Du musst eben die if-Abfrage mit deiner Level-Abfrage ersetzen.
-
-
Hat jemand dafür eine Erklärung?
Code:
Der query der aufgerufen wird
mysql_tquery("(SELECT * FROM `ServerCars` WHERE `Y` < -1114.5 LIMIT 2) UNION (SELECT * FROM `ServerCars` WHERE `Y` > -1114.5 LIMIT 2)", MYSQL_SELECT_TEST, SelectHandle, 0);Aufgerufenes Callback
public OnMysqlQuery(resultid, spareid, MySQL:handle)
{
new query[100];
if(resultid == MYSQL_SELECT_TEST)
{
mysql_store_result(handle);
while(mysql_fetch_row(query))
{
print(query);
}
mysql_free_result(handle);
}
if(mysql_result_stored(handle)) mysql_free_result(handle);
return true;
}Laufwerk "G" ist mein Blue-Ray Brenner
//Edit: Problem gefunden.
Der Array in dem es gespeichert werden sollte (query) war zu klein -
Unter OnPlayerConnect schreiben
-
Wenn ich zwei Tabellen habe die zusammenhängen, dann kann ich doch auch beide löschen, oder?
Beispiel:
Tabelle1:Tabelle2:
Codenum Variable1 Variable2 ------+---------------+------------ 5 | 55 | 100 45 | 12 | 262 45 | 13 | 212 45 | 14 | 252 45 | 15 | 222 2 | 2 | 6
Wie muss der korrekte Syntax aussehen um alles mit ID 45 zu löschen?
So? Wenn ja, verstehe ich nicht, warum ich 2x die Tabellen auflisten lassen muss.
-
@snake112:
if(SpielerInfo[i][Level] > 0)Zu
if(sInfo[i][level] > 0) -
und das bei on Player connect ? oder wo
-
DELETE Tabelle1,Tabelle2 FROM Tabelle1,Tabelle2 WHERE Tabelle1.ID=45 AND Tabelle2.num=45
Normal machst du einen Inner-Join
SQLDELETE Tabelle1,Tabelle2 FROM Tabelle1,Tabelle2 WHERE Tabelle1.ID= Tabelle2.num AND Tabelle1.ID=45;
Tabelle1,Tabelle2 muss nicht umbedingt aufgelistet werden das query funktioniert genauso gut so
ob du jetzt Tabelle1,Tabelle2 nach DELETE hinzufügst bleibt dir überlassen manche machen dies eventuell zur übersicht.
-
und das bei on Player connect ? oder wo
So wie ich es hier geschrieben habe, nur mit der angesprochenen Änderung.
http://forum.sa-mp.de/gta-mult…ng-fragen-697#post1984743Der erste Block zu OnPlayerConnect der zweite Block ganz unten in den Gamemode.
-
Hey Breadfishler,
Und zwar will ich einen NPC ins Car einsteigen lassen, für die NPCs verwende ich das RNPC Plugin.
Gibt es eine möglichkeit einen Bot dann in ein Car einsteigen zu lassen? also mit Animation?MfG
-
Nochmals: NPC's verwenden ein Recording, welches von dir erstellt wurde.
Also musst du ein Recording machen, wo dieses Auto an der Stelle steht, wo du es brauchst.
Dann läufst du zum Auto und steigst ein.
Ein Tutorial zu diesem Thema -
@iFeet: Diese Plugins verwenden keine vorher aufgenommenen Records (deshalb heißt es in dem Tutorial ja aus "Rec-Frei").
Außerdem geht es nicht, dass man mit einem Record in ein Auto einsteigt, da ein NPC per Record nur zu Fuß oder nur im Fahrzeug sein kann.Gibt es eine möglichkeit einen Bot dann in ein Car einsteigen zu lassen? also mit Animation?
Ich denke nicht, dass das mit dem Plugin geht, zumal es ja nicht mal eine Funktion gibt um das für einen Spieler hinzubekommen. Es gibt zwar PutPlayerInVehicle, aber das führt die Animation nicht aus. Selbst wenn man die Animations-ID kennt scheint mir das nicht machbar, da man diese ja nicht mit dem Fahrzeug verknüpfen kann.Es müsste, das kannst du ja im englischen Forum mal vorschlagen, eine Funktion wie "PlayerEnterVehicle(playerid, vehicle)" geben, die den Spieler neben das Fahrzeug (vehicleid) setzt und dann die Animation durchführt, bzw. das Drücken von "Enter" simuliert.
-
Es müsste, das kannst du ja im englischen Forum mal vorschlagen, eine Funktion wie "PlayerEnterVehicle(playerid, vehicle)" geben, die den Spieler neben das Fahrzeug (vehicleid) setzt und dann die Animation durchführt, bzw. das Drücken von "Enter" simuliert.
Danke für die schnelle Antwort, das wäre eine Idee.
Danke für die Hilfe ich schau mal wies ausschaut wenn ich den NPC neben das car hinlaufen lasse und ihn dann rein setzte.MfG
-
Hallo.
Weiß denn einer,ob CallLocalFunction oder ein Stock schneller ist?
Gruß,
iEnerqie -
Weiß denn einer,ob CallLocalFunction oder ein Stock schneller ist?
Der direkte Aufruf ist wesentlich schneller, egal ob du ein public oder einen stock aufrufst. CallLocalFunction muss ja den string mitnehmen und erst umwandeln, das braucht alles Zeit.Hier hast du den Speedtest auch gleich:
http://forum.sa-mp.com/showthread.php?t=541819 -
@iFeet: Diese Plugins verwenden keine vorher aufgenommenen Records (deshalb heißt es in dem Tutorial ja aus "Rec-Frei").
Außerdem geht es nicht, dass man mit einem Record in ein Auto einsteigt, da ein NPC per Record nur zu Fuß oder nur im Fahrzeug sein kann.
Ich denke nicht, dass das mit dem Plugin geht, zumal es ja nicht mal eine Funktion gibt um das für einen Spieler hinzubekommen. Es gibt zwar PutPlayerInVehicle, aber das führt die Animation nicht aus. Selbst wenn man die Animations-ID kennt scheint mir das nicht machbar, da man diese ja nicht mit dem Fahrzeug verknüpfen kann.Es müsste, das kannst du ja im englischen Forum mal vorschlagen, eine Funktion wie "PlayerEnterVehicle(playerid, vehicle)" geben, die den Spieler neben das Fahrzeug (vehicleid) setzt und dann die Animation durchführt, bzw. das Drücken von "Enter" simuliert.
Die Funktion kann man nicht ausführen, da diese Clientseitig funktioniert.
Wenn man in der SA-MP Wiki nachschlägt, findet man vieles von diesen Informationen.
Dort sind dann alle IDs, sowie Erklärungen und Namen dazu.
D.h.Animationen wie das Aus- und Einsteigen werden Clientseitig geladen -> deswegen bei ca 200 Spielern auch Synchronisationsfehler (hoffe mal, dass ich es richtig geschrieben habe)Gruß,
iEnerqie. -
Hallo liebe com
ich habe eine kleine Frage, da ich Freitag wahrscheinlich anfangen will mein tutorial einzufügen/erstellen habe ich eine 2 keine fragen1 ich will den Spieler in eine virtuelle Welt setzten z.b 20 sieht er dann auch das gemappte ? ich habe das über ein Filterscript laufen da ich das nicht im Script haben will ( das gemappte wird mit CreateDynamicObject gemacht )
2 sollte ich den Spieler am besten in einer andere Welt setzen fürs tutorial das die anderen ihn nicht sehen und denken er hackt ?Mit Freundlichen Grüßen
Snake ♤ -
Ob er andere gemappte Objekte sieht weiß ich leider nicht, aber ich denke Ja.
Naja musst du wissen ob du in Lieber in einer anderen Welt setzen möchtest, ich würde es machen so das er die anderen Spieler nicht sieht und die anderen ihn nicht. -
1 ich will den Spieler in eine virtuelle Welt setzten z.b 20 sieht er dann auch das gemappte ? ich habe das über ein Filterscript laufen da ich das nicht im Script haben will ( das gemappte wird mit CreateDynamicObject gemacht )
2 sollte ich den Spieler am besten in einer andere Welt setzen fürs tutorial das die anderen ihn nicht sehen und denken er hackt ?
1) Ja, außer du hast dem Dynamic-Object eine virtuelle Welt zugewiesen.
2) Wäre zu empfehlen.