vielen Dank aber es gibt immer noch ein Problem mit dem Destroyen der Pickups,
hier wo die Pickups erstellt werden
public OnPlayerDeath(playerid, killerid, reason)
{
#define MAX_PICK 100,PickID;
new Pick[MAX_PICK];
new Float:Totx,Float:Toty,Float:Totz;
GetPlayerPos(playerid,Totx,Toty,Totz);
Pick[PickID] = CreatePickup(1254,0,Totx,Toty,Totz,-1);
PickID++;
return 1;
}
und beim Destroyen
ocmd:destroy(playerid,params[])
{
SendClientMessageToAll(COLOR_BLUE,"/DestroyPickup:O");
for(new i = 0; i <MAX_PICK; i++)
{
DestroyPickup(Pick[i]);
}
return 1;
}
der letz erstellte Pickups verschwinden nur
Beiträge von Goech
-
-
könntest du mir bitte das erklären
for(; PickID<MAX_PICK; PickID++)
kenne mich nicht indiesem Bereich aus -
und wie denn , wie kann ich den Array anwählenif(i[pickid]) ??
-
#define MAX_PICK 100
new Pick[MAX_PICK], PickID;
ocmd:create(playerid,params[])
{
if(PickID >= MAX_PICK)return SendClientMessage(playerid,-1,"Du kannst keine Pickups mehr erstellen");
new Float:Pos[3];
GetPlayerPos(playerid,Pos[0],Pos[1],Pos[2]);
Pick[PickID] = CreatePickup(1234,0,Pos[0],Pos[1],Pos[2],-1);
PickID++;
return 1;
}und wie kann ich zb alle auswählen(DestroyPickup)
-
ocmd:create(playerid,params[])
{
New Float:Posx,Float:Posx,Float:Posz;
GetPlayerPos(playerid,Posx,Posy,Posz);
Jz diesen Pickup definieren mit Pick[0]
Pick[0] = CreatePickup(1234,0,posx,posy,posz,-1);
}
dann wenn man diesen Befehl fürs zweite mal benutzt dass dan der Pickup mit Pick[1] definiert wird und immer so weiter , wenn es funktioniert bitte helfen -
welches Problem den ?
-
danke mal für ihre hilfe aber es ist nicht das richtige
wenn ich zb
Totenkopf[0] = CreatePickup(...);
Totenkopf[1] = CreatePickup(...);
dann habe ich totenkopf[0] und Totenkopf[1] definiert, aber es wiederholt sich ja auch bei Onplayerdeath
dabei wird das ja überschrieben
wie kann ich machen dass der 1 toten kopf
alsTotenkopf[0] und der 2 totenkopfTotenkopf[1] und der 3.Totenkopf[2] und so weiter
ist das möglich ??danke schon im voraus für die hilfe
-
ja danke aber wie kann ich dann so defenieren wenn [1] benutz wird dass [2] defeniert wird zb bei Onplaydeath
-
ja dass die Autos respawnen wäre ganz nochmal weil ja bei CreateVehicle ist die funktion drinne , post einmal die Erstellung der Autos dann bis morgen
-
hallo community, ich bins wieder mit einer Frage : kann man schreiben wenn zb Totenkopf[1] defeniert ist dass dann der 2. Totenkopf Totenkopf[2] definiert wird , un immer so weiter , zb bei onplayerdeath
In meinem Script werden Totenköpfe erstellt aber ich muss sie defnieren mit einem Array ich hoffe einer kann mir helfen -
Edit : Es Funktiert jz weil ich mal if(sSpieler[playerid][Gang] == 1) aus der schleife genommen danke ihr 2
-
Ingame kommt immer die Message"Kein Gegner online" auch wenn gegner online sind
if(ispassenger == 0)
{
if(vehicleid == PDVehs[1] || vehicleid == BVehs[1])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))//Hier editier !!
{
new Cops;
new Bloods;
if(IsPlayerConnected(i))
{
if(sSpieler[i][Gang] == 1)
{
Cops += 1;
}
if(sSpieler[i][Gang] == 2)
{
Bloods += 1;
}
}
if(sSpieler[playerid][Gang] == 1)
{
if(Bloods == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
if(sSpieler[playerid][Gang] == 2)
{
if(Cops == 0)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);
return 1;
}
}
}
}
}
}
diese If Abfragen sind fehlerhaft, bitte um hilfe
if(Bloods == 0)
if(Cops == 0) -
danke für die Antwort aber es hat nicht vollständig meine Frage geantwortet :/, ich wollte wissen wie man einen Gegnere definieren irgend wie so vlt
gang = sSpieler[playeri][Gang]
gegner != gangso villeicht :( bitte um hilfe
-
Also ich habe keine Iddee wie ich einen Feind kann definieren , und muss nacher kuken dass 1 oder mehr gegner online sind
if(ispassenger == 0)
{
if(vehicleid == PDVehs[1] || vehicleid == BVehs[1])
{
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new gegner,gang;
gang = sSpieler[playerid][Gang];
if(sSpieler[i][Gang] != gang)
: if(!gegner < 1)
{
SendClientMessage(playerid,COLOR_RED,"Es sind keine Gegner online");
TogglePlayerControllable(playerid,0);
TogglePlayerControllable(playerid,1);}
}
}
}
}edit: nicht wundern es sind fehler dinnen
-
ja kann einfach nimm dir einen Textdraweditor, damit macht du einen text zb LOL , dann noch textbox dass das über das ganze Bildschirm geht, dann nacher bei
SetBoxColor(FF019322) dann machst du die 2 letzten Zahlen/Buchstaben zu FF(die 2 letzen Zahlen/Buchstaben sind für die Tranzparenz gut http://wiki.sa-mp.com/wiki/Col…values_.28transparency.29 )nachher bei dem Textdraw machst du ersetzt du LOL durch 3 leerzeichen
//Edits : Schreibfehler
-
wie kann ich eine abfrage machen jeder in dieser Gang ausser playerid ?
ich geb ein beispiel
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER) // Player entered a vehicle as a driver
{
new vehicleid = GetPlayerVehicleID(playerid);
if(vehicleid == BVehs[1] || vehicleid == PDVehs[1])
{
new engine,lights,alarm,doors,bonnet,boot,objective;
GetVehicleParamsEx(vehicleid,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(vehicleid,engine,lights,1,doors,bonnet,boot,objective);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
new gang;
gang = sSpieler[playerid][Gang];
if(sSpieler[i][Gang] == gang)//hier einfügen mit && nichtplayerid
{
new string[128];
format(string,sizeof(string),"Teamkamerade %s hat es Geschafft das gegnerische Auto geklaut!",Sname(i));
SendClientMessage(i,COLOR_GREEN,string);
SendClientMessage(i,COLOR_GREEN,"Beschütz ihn vor den Gegnern!");
if(sSpieler[i][Gang] == 1)
{
CarJackpd = 1;
}
else if(sSpieler[i][Gang] == 2)
{
CarJackb = 1;
}
}
else if(sSpieler[i][Gang] != gang)
{
new string2[128];
format(string2,sizeof(string2),"Gegner %s hat es Geschafft ihr Auto zu klauen",Sname(playerid));
SendClientMessage(i,COLOR_RED,string2);
SendClientMessage(i,COLOR_RED,"Töttet ihn!");
}
}}
}
}
return 1;
}
ich hoffe einer kennt die Antwort , ich danke schon im vorauss -
so sollte es sein bei ernteweed
ocmd:ernteweed(playerid,params[])
{
if(IstSpielerPlanted,playerid,1))
{
SendClientMessage(playerid, ROT, "[Jah] Diese Pflanzen können noch nicht geerntet werden!");
}
SetPVarInt(playerid,"Gram",20);
SendClientMessage(playerid, grün, "[Jah] Du hast dein Weed geerntet und 20g erhalten!");
return 1;
} -
-1 ist eine Farbe :EIch verstehe nicht ganz, könntest du dich besser ausdrücken ??
-
DANKE!
aber muss ich das "!" nicht weglassen?nach meiner Meinung,
nein du brauchst ein !, ist zwar wegen einer negation aber,ich brauch das "!"auch bei OCMD dann denke ich dann auch strcmp
//edit Rechtschreibfehler -
du musst die Farbe der Box frestlegen ...
TextDrawBoxColor(E_Leer1,0x00000099);weil du garnicht die Farbe festgestellt hast
//edit: Fehler erkannt