Wie ich soweit erkennen kann, werden also die Werte vorher auf 0 gesetzt, oder irre ich mich? :o
Ehm...mal eine doofe Frage, hast du überhaupt mit INSERT INTO was in die Datenbank geschrieben? ![]()
Wie ich soweit erkennen kann, werden also die Werte vorher auf 0 gesetzt, oder irre ich mich? :o
Ehm...mal eine doofe Frage, hast du überhaupt mit INSERT INTO was in die Datenbank geschrieben? ![]()
Bei mir erstellt er nur 1 Explosion nach 50 Sekunden, dann kommt nichts mehr. Ist da was Falsch? Oder wie mache ich dass, das sich der Timer immer wiederholt?
50 Sekunden? ![]()
//z.B. unter OnPlayerSpawn
SetTimerEx("explode",1000,0,"i",playerid);
forward explode(playerid);
public explode(playerid)
{
if(!IsPlayerConnected(playerid)) return 0;
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD
return SetTimerEx("explode",1000,0,"i",playerid);
}
Dann erstellt er jede Sekunde eine Explosion ![]()
Schreib es so:
CMD:motor(playerid)
{
if(!IsLoggedIn(playerid))return 1;
new string[128];
if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_GREY, "** Du befindest dich in keinem Fahrzeug.");
new vehicleid = GetPlayerVehicleID(playerid);
if(pRefillVehicle[playerid] == 1)return SendClientMessage(playerid, COLOR_GREY, "** Du kannst den Motor nicht anschalten während du das Fahrzeug tankst!");
if(IsAFahrrad(GetVehicleModel(vehicleid)))return SendClientMessage(playerid, COLOR_GREY, "** Dieses Fahrrad hat keinen Motor!");
if(Vehicle[vehicleid][vehFuel] <= 0.0)return SendClientMessage(playerid, COLOR_GREY, "** Das Fahrzeug hat kein Benzin mehr!");
if(!(IsAFraktionsVeh(vehicleid) == INVALID_VEHICLE_ID))
{
if(IsValidVehicle(vehicleid))
{
new fV = IsAFraktionsVeh(vehicleid);
if(Spieler[playerid][pFraktion] == fVehicle[fV][vehFraktion])
{
if(Vehicle[fVehicle[fV][vehID]][vehMotor] == false)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = true;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[fVehicle[fV][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", fVehicle[fV][vehID]);
return 1;
}
else if(Vehicle[fVehicle[fV][vehID]][vehMotor] == true)
{
Vehicle[fVehicle[fV][vehID]][vehMotor] = false;
GetVehicleParamsEx(fVehicle[fV][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(fVehicle[fV][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[fVehicle[fV][vehID]][VehicleTimer]);
return 1;
}
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
}
for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
{
if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
if(vehicleid == Spieler[playerid][pBusID])
{
if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBusID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBusID]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBusID]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBusID]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBusID], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBusID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBusID]][VehicleTimer]);
return 1;
}
}
if(vehicleid == Spieler[playerid][pBike])
{
if(Vehicle[Spieler[playerid][pBike]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pBike]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pBike]);
return 1;
}
else if(Vehicle[Spieler[playerid][pBike]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pBike]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pBike], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pBike], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[Spieler[playerid][pBike]][VehicleTimer]);
return 1;
}
}
if(vehicleid == Spieler[playerid][pFSVehicle])
{
if(IsValidVehicle(Spieler[playerid][pFSVehicle])){
if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == false)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = true;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[Spieler[playerid][pFSVehicle]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", Spieler[playerid][pFSVehicle]);
return 1;
}
else if(Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] == true)
{
Vehicle[Spieler[playerid][pFSVehicle]][vehMotor] = false;
GetVehicleParamsEx(Spieler[playerid][pFSVehicle], engine, lights, alarm, doors, bonnet, boot, objective);
SetVehicleParamsEx(Spieler[playerid][pFSVehicle], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Spieler[playerid][pFSVehicle]);
return 1;
}
}
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
}
Man kann doch sicher aber das auch anders löschen ausser neu zu installieren oder?
Downloade dir mal den CC Cleaner ![]()
Lass den mal über dein System laufen, damit löschst du viele unnötige Dateien und den temporären Speicher, evtl geht es dann wieder ![]()
mfg. ![]()
Ist der return falsch gesetzt?
Ja...schon, das macht so keinen Sinn..schreib das mal so:
for(new slot,i=playerid; slot<MAX_PLAYER_VEHICLES; slot++)
{
if(vehicleid != PrivateVehicle[i][slot][vehID]) continue;
GetVehicleParamsEx(PrivateVehicle[i][slot][vehID], engine, lights, alarm, doors, bonnet, boot, objective);
if(Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] == false)
{
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = true;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_ON, lights, alarm, doors, bonnet, boot, objective);
format(string, sizeof(string), "%s startet den Motor seines Fahrzeuges", GetName(playerid));
SetPlayerChatBubble(playerid, string, COLOR_PURPLE, 25.0, 7500);
Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer] = SetTimerEx("OnVehicleTimer", 1136, 1, "i", PrivateVehicle[i][slot][vehID]);
return 1;
}
Vehicle[PrivateVehicle[i][slot][vehID]][vehMotor] = false;
SetVehicleParamsEx(PrivateVehicle[i][slot][vehID], VEHICLE_PARAMS_OFF, lights, alarm, doors, bonnet, boot, objective);
SendClientMessage(playerid,COLOR_LIGHTBLUE,"Du stellst den Motor ab.");
KillTimer(Vehicle[PrivateVehicle[i][slot][vehID]][VehicleTimer]);
return 1;
}
return SendClientMessage(playerid, COLOR_GREY, "** Du besitzt keine Schlüssel für dieses Fahrzeug.");
Schreibe es mal so ![]()
mfg. ![]()
Also wenn der Spieler irgendwo ist, findet in der Nähe eine Explosion statt?
Genau ![]()
Also das ein Paar Explosionen automatisch Hochgehen, ohne das der Spieler betroffen ist
Dann mach einfach sowas:
//z.B. unter OnPlayerSpawn
SetTimerEx("explode",1000,0,"i",playerid);
forward explode(playerid);
public explode(playerid) {
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
return CreateExplosion(x+random(75)+25, y+random(75)+25, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD
}
Dann finde zufällig um den Spieler herum Explosionen statt ![]()
arum geht das Tor bitte nicht auf?
Achte auf die returns!
Schreib es so:
CMD:auf(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 10.0, 244.11, 72.45, 1002.00))
{
if(Spieler[playerid][pFraktion] != 1)return SendClientMessage(playerid,-1,"Sie dürfen das Tor nicht öffnen!");
MoveDynamicObject(LSPDObj[1], 247.5598, 72.4479, 1002.0016, 3);
SetTimer("LSPDTor2",5000,0);
printf("Tor 2-2");
}
return 1;
}
mfg. ![]()
Guten Morgen euch allen.
Mir war mal langweilig und mir ist aufgefallen, dass die Funktion TextDrawGetText nicht existiert, also habe ich sie mal kurz implementiert.
Funktionen:
native TextDrawGetText(Text:id);
native PlayerTextDrawGetText(PlayerText:id);
Beispiel:
Obwohl eigentlich der Name schon sagt was diese Funktion macht, hier nochmal ein Beispiel:
new Text:x = TextDrawCreate(50.0,666.0,"Hallo");
printf("Im TextDraw mit der ID %d steht: %s",_:x,TextDrawGetText(x));
/*
Output:
Im TextDraw mit der ID 0 steht: Hallo
*/
Im Filterscript nutzbar?
Ja, auch im Filterscript ist die Include nutzbar, aber bitte gebt das an:
#define FILTERSCRIPT
#include <text>
Download:
Source-Code: Pastebin
Direkter-Download: MediaFire
Schlusswort:
Hoffe ein paar Leute können es gebrauchen ![]()
Habe alle Funktionen getestet gehabt und keine Fehler sind aufgetreten, falls ihr aber was findet, gebt mir bescheid ![]()
Freue mich natürlich über jede Art von Kommentar.
mfg. ![]()
Kann man per Timer Explosionen erstellen mit einem eigenen Public?
Natürlich ![]()
//z.B. unter OnPlayerSpawn
SetTimerEx("explode",1000,0,"i",playerid);
forward explode(playerid);
public explode(playerid) {
new Float:x,Float:y,Float:z;
GetPlayerPos(playerid,x,y,z);
return CreateExplosion(x, y, z, 12, 10.0); //würde den Spieler zum explodieren bringen xD
}
mfg. ![]()
Nun, wenn du AddPlayerClass nutzt, dann returnt das eine Klasse.
#define TEAM_COP 0
#define TEAM_BALLAS 1
#define TEAM_GROVE 2
#define MAX_TEAMS 3
new team[MAX_TEAMS];
//Unter OnGameModeInit
team[TEAM_COP] = AddPlayerClass(280,...);
AddPlayerClass(281,...);
AddPlayerClass(282,...);
AddPlayerClass(283,...);
AddPlayerClass(284,...);
team[TEAM_BALLAS] = AddPlayerClass(102,...);
AddPlayerClass(103,...);
AddPlayerClass(104,...);
team[TEAM_GROVE] = AddPlayerClass(105,...);
AddPlayerClass(106,...);
AddPlayerClass(107,...);
public OnPlayerRequestClass(playerid,classid)
{
if(classid < team[TEAM_BALLAS])
{
TextDrawShowForPlayer(playerid, team_cop); //Hier zum beispiel wäre er Cop
}
else if(classid < team[TEAM_GROVE])
{
TextDrawShowForPlayer(playerid, team_Ballas); //Hier zum beispiel wäre er Ballas
}
else
{
TextDrawShowForPlayer(playerid, team_Grove); //Hier zum beispiel wäre er Grove
}
return 1;
}
Hoffe das hilft dir ein wenig ![]()
mfg. ![]()
Gangfight[i][minX]
Oben verwendest du aber anstatt i, gGangfightID ![]()
Schreibe das also mal so:
GangfightZone[i] = GangZoneCreate(Gangfight[gGangfightID][minX],Gangfight[gGangfightID][minY],Gangfight[gGangfightID][maxX],Gangfight[gGangfightID][maxY]);
mfg. ![]()
bis auf eben diesen Marker
Meinst du einen Roten Marker auf der Map? ![]()
Dann schau dir diese Funktion mal an: SetPlayerMarkerForPlayer
Damit kannst du soviele Spieler wie du willst auf der Map anzeigen lassen ![]()
mfg. ![]()
Les dir mal den Thread durch: http://gta-sa-mp.de/forum/3-sa…utos-was-drauf-schreiben/
(Google ist schon was tolles)
mfg. ![]()
Nutze bitte mysqli ![]()
Schreibe es mal so:
$mysqli = new mysqli("localhost", "my_user", "my_password", "tabelle");
/* Verbindung prüfen */
if ($mysqli->connect_errno) {
printf("Verbindung fehlgeschlagen: %s\n", $mysqli->connect_error);
exit();
}
$result = $mysqli->query("SELECT * FROM user WHERE Name='".mysql_real_escape_string($_SESSION['Benutzername'])."'");
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
echo '<img src="images/skins/Skin_'.$row["Skin"].'.jpg">';
}
Alles anzeigen
mfg. ![]()
was können die noch?
Na, das ist doch wohl selbsterklärend.
Der Compile Button, der compilet eigentlich nur deinen Source-Code.
Der Compile & Run button, der compilet den Code und führt diesen anschließend aus...
mfg. ![]()
meine auch pikachu vielen dank nur weiß es vielleicht auch jemand sicher?
Solange du Pawno nur für SA:MP nutzt, machen beide buttons das selbe ![]()
mfg. ![]()
oder ist das dann wirklich getrennt?
Das ist wirklich getrennt ![]()
gibt es die Möglichkeit Objekte in einer anderen virtuellen Welt zu erstellen außer 0?
Ja, entweder du nutzt dafür das Streamer Plugin: http://forum.sa-mp.com/showthread.php?t=102865
oder, ich hatte auch mal dafür ein Include geschrieben (falls du keinen Streamer nutzen willst): Objekt Funktionen
mfg. ![]()
Die Funktion lautet: SetObjectMaterialText
und für die Koordinaten, nutze einen Editor: http://forum.sa-mp.com/showthread.php?t=336820
mfg. ![]()