Natürlich, das ganze ist ja nicht als Copy & Paste gedacht.
Sondern es soll dir eher eine vorstellung geben, wie man das ganze umsetzen kann.
new Pickup = CreatePickup(/*Totenpickup*/);
Das must du an dein Totenpickup anpassen.
Natürlich, das ganze ist ja nicht als Copy & Paste gedacht.
Sondern es soll dir eher eine vorstellung geben, wie man das ganze umsetzen kann.
new Pickup = CreatePickup(/*Totenpickup*/);
Das must du an dein Totenpickup anpassen.
dein Code ist ja mal sehr durcheinander
Teste mal das hier:
public OnPlayerUpdate(playerid)
{
new vehicleid;
vehicleid = GetPlayerVehicleID(playerid);
if(GetPlayerVehicleSeat(playerid) == 0)
{
if(GetVehicleModel(vehicleid) != 509 && GetVehicleModel(vehicleid) != 481 && GetVehicleModel(vehicleid) != 510)
{
new string[125];
if(Tank[vehicleid] <= 0) format(string,sizeof string,"~g~Tank: ~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 5)
{
format(string,sizeof string,"~w~Tank: ~y~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
PlayerPlaySound(playerid, 1085, 0.0,0.0,10.0);
}
else if(Tank[vehicleid] <= 10)
{
format(string,sizeof string,"~w~Tank: ~g~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
PlayerPlaySound(playerid, 1085, 0.0,0.0,10.0);
}
else if(Tank[vehicleid] <= 15) format(string,sizeof string,"~w~Tank: ~g~I~y~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 20) format(string,sizeof string,"~w~Tank: ~g~I~g~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 25) format(string,sizeof string,"~w~Tank: ~g~I~g~I~y~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 30) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~r~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 35) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~y~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 40) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~r~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 45) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~y~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 50) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~r~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 55) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~y~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 60) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~r~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 65) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~y~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 70) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~r~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 75) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~y~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 80) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~r~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 85) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~y~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 90) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~r~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 95) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~y~I",Tank[vehicleid]);
else if(Tank[vehicleid] <= 100) format(string,sizeof string,"~w~Tank: ~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I~g~I",Tank[vehicleid]);
TextDrawSetString(pSpeedo[playerid][2],string);
}
else
{
new string[125], Zustand[MAX_VEHICLES];
GetVehicleHealth(vehicleid,Zustand[vehicleid])
if(Zustand[vehicleid] <= 0) format(string,sizeof string,"~w~Zustand:~r~I",Zustand[vehicleid]);
else if(Zustand[vehicleid] <= 250)
{
format(string,sizeof string,"~w~Zustand:~r~I",Zustand[vehicleid]);
}
else if(Tank[vehicleid] <= 500) { format(string,sizeof string,"~w~Zustand:~y~I",Zustand[vehicleid]); }
else if(Tank[vehicleid] <= 1000) { format(string,sizeof string,"~w~Zustand:~g~I",Zustand[vehicleid]); }
TextDrawSetString(pSpeedo[playerid][3],string);
}
}
TextDrawSetString(pSpeedo[playerid][3], "~w~Zustand:~g~I");
return 1;
}
Ausserdem empfehle ich dir anstatt OnPlayerUpdate mit einem Timer zu arbeiten.
ja, allerdings ist das ganze in einer Klammer,
deshalb ist es nur innerhalb der Klammer definiert.
Zustand ist allerdings ausserhalb dieser Klammer und deshalb undefiniert.
Das CreateObject zu spät lädt könnte davon kommen, das du zu viele Objekte mit CreateObject eingebaut hast.
Zu dem CreateDynamicObject problem:
zeig mal deine server.log
Bread.pwn(898) : error 017: undefined symbol "Zustand"
Bread.pwn(898) : error 017: undefined symbol "vehicleid"
Du hast Zustand und vehicleid nicht definiert
Alles anzeigenHast du den die Checkpoints und so schon definiert?
Wenn ja füge einfach unter den/die Checkpoint/s das ein:
SetTimer("TruckerTimer",5000,0);
TogglePlayerControllable(playerid,0);
und ganz unten im Script fügst du das ein:
forward TruckerTimer(playerid);
public TruckerTimer(playerid)
{
TogglePlayerControllable(playerid,1);
return 1;
}
fast richtig, allerdings must du SetTimerEx benutzen, da er ja die playerid übernehmen muss.
SetTimer("TruckerTimer",5000,0);
zu
SetTimerEx("TruckerTimer",5000,0,"d",playerid);
ich glaube das ganze ist in dem Filterscript gl_property drin
new Geld[MAX_PICKUPS];
unter OnPlayerDeath:
new Pickup = CreatePickup(/*Totenpickup*/);
Geld[Pickup] = GetPlayerMoney(playerid);
OnPlayerPickUpPickup:
if(pickupid == Geld[pickupid])
{
GivePlayerMoney(playerid,Geld[pickupid]);
Geld[pickupid] = 0;
}
Ja, wie gesagt:
indem du das Geld in einer variable Speicherst, für jedes pickup sein eigenen Wert mit [MAX_PICKUPS] kannst du [pickupid] nutzen.
Hey, ich arbeite grad mit SetPlayerAttachedObject.
Allerdings wird die Abfrage nicht erfüllt, warum?
Ich möchte damit Abfragen ob Slot 1 belegt ist bzw ob er seine Maske trägt, oder geht das ganze garnicht damit?
if(IsPlayerAttachedObjectSlotUsed(playerid,1))
{
SetPlayerAttachedObject(playerid, 1,19472, 2,0.000000,0.131999,-0.001999,-8.300000,85.999992,107.299964,0.964999,1.000000,1.000000);
SendClientMessage(playerid,Grün,"Du hast dir deine Sauerstoffmaske angezogen.");
return 1;
}
else {
RemovePlayerAttachedObject(playerid,1);
SendClientMessage(playerid,Grün,"Du hast dir deine Sauerstoffmaske ausgezogen.");
return 1;
}
new Geld[MAX_PICKUPS];
Geld[pickupid] = ...
oder was meinst du?
hab das ganze jetzt so gemacht: (um das ganze mal zu testen)
AdmObj[playerid] = CreateObject(19472,0.0, 0.0, 0.0, 0.0, 0.0, 0.0);
SetPlayerAttachedObject(playerid, 1,AdmObj[playerid], 2, X,Y,Z,rX,rY,rZ,0,0,0,0);
allerdings wird nun garkein Objekt mehr angezeigt bzw es wird nicht zum Spieler gesetzt.
Habe es jetzt hinbekommen
Habe es anschließend mit EditAttachedObject auf die ganaue Position gesetzt,
nur wie bekomme ich von EditAttachedObject die Koordinaten, die ich doch in den Script einbauen muss...
oder muss ich das garnicht?
//Mein Code:
AdmObj[playerid] = SetPlayerAttachedObject(playerid, 1,19472, 2);
Hallöschen, ich habe eine Frage:
Ich habe ein Object mit AttachObjectToPlayer an einen Spieler gesetzt.
Allerdings sieht das ganze so aus:
viellleicht könnt ja ihr euch ja jetzt schon mein anliegen denken,
undzwar möchte ich das die Maske (in diesem fall eine Maske) quasie am Spieler hängt
und nicht in der luft fliegt
wie funktioniert das ganze? oder ist das garnicht möglich?
stock Rangeban(playerid)
{
new PIP,string[128],datei[128];
GetPlayerIP(playerid, PIP);
Strdel(PIP,strlen(PIP)-4, strlen(PIP))
format(string, 128, "%d"); //wozu den string, ausserdem hast du %d nicht zugewiesen.
format(datei, 128, "/IPBan/IPs.txt");
{
dini_FloatSet(datei,"%d\n", PIP); //empfehle dir ein \n, da du jedes mal dann eine neue Zeile hast.
}
return 1;
}
zeig mal deine Server.cfg
Wenn du die Cars bei Ongamemodeinit erstellst,kann es daran liegen:
Wie man auf deinem Screen sieht spawnen die Fahrzeuge auf gemappten Objekten.
Fallen die Fahrzeuge vielleicht durch die Objekte weil die Objekte zu spät geladen wurden?
if(Cop) { return SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop!"); }
zu
if(!Cop(playerid)) return SendClientMessage(playerid, COLOR_RED, "Du bist kein Cop!"); //Da du ja das gegenteil willst, ein !
new Waffenglück = random(100); //
if(Waffenglück == 1) { ... }
else if(Waffenglück == 2) { ... }
else if(Waffenglück == 3) { ... }
else if(Waffenglück == 4) { ... }
else if(Waffenglück == 5) { ... }
else return 1;
Wie dein Compiler bereits sagt
26 Errors (Klammerfehler), 0 Warnungen
Du hast Errors im Skript. Kompilierung abgebrochen
warum speicherst du das ganze mit PVar?
new bool:FWDuty[MAX_PLAYERS] = false;
ocmd:fwduty(playerid, params[])
{
if(!isPlayerInFrakt(playerid, 6))return SendClientMessage(playerid, ROT, "Du bist kein Mitglied der RoF Feuerwehr!");
if(FWDuty[playerid] == false)
{
new string[128];
FWDuty[playerid] = true;
if(!IsPlayerInRangeOfPoint(playerid, -2278.4277,2292.0061,4.9659,271.5123)) return SendClientMessage(playerid,ROT,"Du bist nicht am dutypunkt bei der RoF Feuerwehr Base!");
format(string,sizeof(string),"Feuerwehrmann %s hat sich zum Dienst gemeldet du kannst hn mit /sms [ID] [TEXT] erreichen.",SpielerName(playerid));
SetPlayerSkin(playerid,279);
SetPlayerArmour(playerid,100);
SetPlayerHealth(playerid, 100);
SendClientMessageToAll(ORANGE, string);
SetPlayerSkin(playerid, 279);
GivePlayerWeapon(playerid, 42, 9999999);
GivePlayerWeapon(playerid, 24, 9999999);
return 1;
}
else
{
new string[128];
FWDuty[playerid] = false;
format(string,sizeof(string),"Feuerwehrmann %s macht feierabend.",SpielerName(playerid));
ResetPlayerWeapons(playerid);
SendClientMessageToAll(ORANGE, string);
SetPlayerSkin(playerid,GetPVarInt(playerid, "Skin"));
return 1;
}
}