Wenn jetzt Variable1 den Wert 0 bekommen hat und Variable2 auch 0 hat... dann fragst du if(pickupid == Variable1) und das ist dann in dem Fall dasselbe wie: if(pickupid == 0) und das kann dann auch auf Variable2 zutreffen.
Beiträge von RedDragon
-
-
Kann sein, dass etwas mit deinen Variablen nicht ganz stimmt... vielleicht haben manche irgendwie den selben Wert bekommen?
Aber nachdem ein Pickup aufgenommen wurde sollte schon ein return 1 folgen:
if(pickupid == ...)
{
//...
return 1;
}
//.... -
-
-
wenn man /lock eingibt mit if(IsPlayerInAnyVehicle(playerid) == 1) prüfen, ob man in einem Fahrzeug sitzt. Danach mit GetPlayerSeat prüfen, ob man Fahrer ist, danach der Code zum ab/aufschließen:
new engine,lights,alarm,doors,bonnet,boot,objective,vid;
vid = GetPlayerVehicleID(playerid);
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
if(doors == false) return SetVehicleParamsEx(vid,1,lights,alarm,true,bonnet,boot,objective);
if(doors == true) return SetVehicleParamsEx(vid,1,lights,alarm,false,bonnet,boot,objective);Und dann soll das Fahrzeug aufgeschlossen werden, wenn man aussteigt. Das geht wie folgt:
public OnPlayerExitVehicle(playerid, vehicleid)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
if(doors == true) SetVehicleParamsEx(vehicleid,1,lights,alarm,false,bonnet,boot,objective);
SendClientMessage(playerid, 0xFFFFFFFF, "Das Fahrzeug ist nun wieder aufgeschlossen.");
return 1;
} -
Einfach auf die nächste Zeile gehen mit Shift+Enter und weitermachen.
-
SetTimer("DrogenT", 30000, 0);
ersetzen durch:
SetTimerEx("DrogenT", 30000, 0,"i",playerid);
Dadurch wird der Parameter "playerid" an den Timer weitergegeben.
-
Wenn schon so, dann
if (strcmp("/licht", cmdtext, true, 6) == 0) // fragt ob es 0 ist ist aber dasselbe wie:
if(!strcmp(cmdtext, "/licht", true, 6)) // fragt ob es nicht 1 ist also 0
Edit: verbessert
-
KillTimer(timerid); soll heißen du musst die timerid von dem Timer in einer Variable speichern und dann diese in KillTimer einsetzen.
-
Versuchs mal mit [pwn]CODE[/pwn ] (Ohne Leerstelle am Ende)
-
Komisch, das sollte eigentlich gehen, hab das vom SA-Mp-Wiki kopiert (da war es ein /me Befehl, ist aber ansich dasselbe).
-
Wenn Pawn beim Kompilieren abstürzt, kann es sein, dass du zuviele Errors drin hast. Vielleicht nur ein simpler Klammerfehler?
-
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/ac", true, 3))
{
if(IsPlayerAdmin(playerid) == 0) return SendClientMessage(playerid, 0xFF0000FF, "Du bist kein Admin.");
// der prüft nur, ob man RCON-Admin ist, musst noch von deinem Adminsystem den Code hinzufügenif(!cmdtext[3])return SendClientMessage(playerid, 0xFF0000FF, "Benutzung: /ac [Text]");
new str[128];
GetPlayerName(playerid, str, sizeof(str));
format(str, sizeof(str), "* Admin %s: %s", str, cmdtext[4]);
SendClientMessageToAll(0xFFFF00AA, str);
return 1;
}
return 0;
} -
new light[MAX_VEHICLES] = -1;
public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/licht", true))
{
if(IsPlayerInAnyVehicle(playerid) == 0) return 0;
new vehicleid = GetPlayerVehicleID(playerid);
if(GetVehicleModel(vehicleid) != 415) return 0;
if(light[vehicleid] == -1)
{
light[vehicleid] = CreateObject(18646,x, y, z, 0.0, 0.0, 96.0);
AttachObjectToVehicle(light[vehicleid], vehicleid, -0.290039062, -0.284179688, 0.631957054, 0.0, 0.0, 0.0);
return 1;
}
else
{
DestroyObject(light[vehicleid]);
}
return 1;
}
return 0;
} -
Bei CreateVehicle den letzten Parameter "respawn_delay" auf -1 setzen. Somit wird das Auto nie respawnen, außer es wird zerstört.
-
Ein Callback ist z.B.:
public OnGameModeInit()
{
return 1;
}OnGameModeInit wird, wenn das GameMode gestartet, ausgeführt. Alles, was zwischen den Klammern steht, wird ausgeführt. (In dem Beispiel noch nichts)
Wann andere Callbacks ausgeführt werden, muss man sich merken, oder im SA-Mp-Wiki nachgucken, da steht alles detailliert.Nachschlagbar hier.
-
Okay , könntest du mir vielleicht ein paar Youtube Tut links schicken ?
Wäre liebGib bei Youtube einfach "pawno tutorial german" ein. Da findet sich sicher einiges.
-
Ich kenn mich imt OCMD zwar nicht aus, aber probiere das mal.
ocmd:motor(playerid)
{
new engine,lights,alarm,doors,bonnet,boot,objective;
if(IsPlayerInAnyVehicle(playerid))
{
new vid = GetPlayerVehicleID(playerid);
if(motor[vid] == false)
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
motor[vid] = true;
SendClientMessage(playerid,0xFF0000,"Du hast den Motor gestartet!");
return 1;
}if(motor[vid] == true)
{
GetVehicleParamsEx(vid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,lights,alarm,doors,bonnet,boot,objective);
motor[vid] = false;
SendClientMessage(playerid,0xFF0000,"Du hast den Motor abgewürgt!");
return 1;
}
}
return 1;
} -
1. Ich habe mir viele Youtube Tutorials angeschaut, wie man einen Gamemode usw. bearbeitet und öffnet, das hat schon sehr geholfen.
2. Im Ordner filterscripts oder gamemodes sind viele Beispiel Scripts vorhanden, einfach mal öffnen und schauen was drin steht
3. Ein Filterscript kannst du dazu benutzen um zum Beispiel Befehle für den Server zu erstellen, und ähnliches.
4. Schon einige Monate mit 2-3 Stunden pro Woche Scriptzeit^^
5. Gute Englischkenntnisse sind für das Scripten unerlässlich. Normalerweise weiß man automatisch was das bedeutet, wenn nicht einfach mal Vokabeln lernen^^ -
1. Installier GTA in einem anderen Verzeichnis als bisher.
2. Installier den Downgrade-Patch
3. Lade dir den SA-Mp 0.3b R3 Clienten runter.Jetzt sollte es gehen.