Hallo
wollt mal fragen wie es geht das man durch einen befehl sich etwas in der dini um 1 erhöht.
Hallo
wollt mal fragen wie es geht das man durch einen befehl sich etwas in der dini um 1 erhöht.
Also dini? Mhh du meinst nicht mit PVar?
dini_IntSet(String, "Variable", dini_Int(String, "Variable") +1);
Und PVar:
SetPVarInt(playerid,"Variable",GetPVarInt(playerid,"Variable")+1);
jo PVar könnt auch sein
bin neu
und weißte auch wie man ein Lager für alle machen kann , und enn man da was raus nimmt wird es 1 weniger?
Ein Lager? Wie meinst du das genau? Für was? Mehr infos
Will einen Zombie Server machen. die letzten Überlebenden wohnen in einer kleinen Stadt , diese hat ein Lager wo sich jeder etwas rausnehmen kann (Essen, Medikamente , Waffen)
wenn jmd etwas rausnimmt dann ist im Lager -1.
Möchtest du das mit einen Dialog oder Command machen?
Benutzt du OCMD? (wenn nein, was benutzt du?)
ja ich benutze OCMD und will das mit einem Command machen.
//edit: habs geschafft ! ich muss es jetzt nurnoch schaffen das wenn ich den Befehl ausführe das Lager .1 wird.
Ich würde es so ungf. machen:
UNGETESTET
ocmd:nehmen(playerid,params[])
{
new Gegenstand[32],Lager[64],Menge,string[128];
if(sscanf(params,"si",Gegenstand,Menge)) return SendClientMessage(playerid,COLOR_GREY,"Befehl: /nehmen [Waffen/Medikit][Menge]");
{
if(strcmp(Gegenstand,"Medikit",true)==0)
{
format(Lager,sizeof(Lager), "/Lager.txt");
if(dini_Int(Lager, "Medikamente") <= Menge) return SendClientMessage(playerid, COLOR_ROT, "Lager hat nicht so viele Medikamente");
dini_IntSet(Lager, "Medikamente", dini_Int(Lager, "Medikamente") -Menge);
SetPVarInt(playerid,"Medikamente",GetPVarInt(playerid,"Medikamente")+Menge);
format(string,sizeof(string),"Du hast %d Medikamente aus dem Lager genommen!",Menge);
SendClientMessage(playerid,COLOR_GREY,string);
return 1;
}
}
return 1;
}
cool ! und wie kann ich machen das da so irgendwo steht wieviel noch im Lager ist ?
Mit:
dini_Int(Lager, "Medikamente")
Also:
ocmd:nehmen(playerid,params[])
{
new Gegenstand[32],Lager[64],Menge,string[128];
if(sscanf(params,"si",Gegenstand,Menge)) return SendClientMessage(playerid,COLOR_GREY,"Befehl: /nehmen [Waffen/Medikit][Menge]");
{
if(strcmp(Gegenstand,"Medikit",true)==0)
{
format(Lager,sizeof(Lager), "/Lager.txt");
if(dini_Int(Lager, "Medikamente") <= Menge) return SendClientMessage(playerid, COLOR_ROT, "Lager hat nicht so viele Medikamente");
dini_IntSet(Lager, "Medikamente", dini_Int(Lager, "Medikamente") -Menge);
SetPVarInt(playerid,"Medikamente",GetPVarInt(playerid,"Medikamente")+Menge);
format(string,sizeof(string),"Du hast %d Medikamente aus dem Lager genommen! Im Lager: %d Medikamente!",Menge,dini_Int(Lager, "Medikamente"));
SendClientMessage(playerid,COLOR_GREY,string);
return 1;
}
}
return 1;
}
könnteste das nochma mit Essen und Waffen machen ?
Also das wenn man /nehmen Essen 1 macht man ein Essen bekommt.
und mit /nehmen Deagle eine deagle mit 50 mun. bekommt
wäre nett weil ich das nicht so richtig hinbekomme.
Jaa das könnte ich, aber warum machst du das nicht?
Schau dir MrMonat-Videos an und wirst das selber hinkriegen
guck ich ja aber der erklärt sowas nicht richtig (find ich).
Und ich habs schon versucht , aber da klappt nie was !
Dann poste doch mal was du grad hast bzw. bei was du Problemen hast
Ich weiß nicht wie man es noch mit Essen und Waffen macht. Oder so das nur Sanitäter Medikamente nehmen können.
Das mit Fraktionen (Sanitäter) erklärt MrMonat sehr genau. Das mit der Waffe eig. auch. Und das mit Essen geben, hab ich dir ein Beispiel gescriptet, schau dir das Script an ( siehe oben das Script)
Außerdem findest du sehr viele Funktionen mit natürlich eine erklärung auf SA:MP Wiki!
-> Link Click !
Uploaded with ImageShack.us
nene ich meine das man durch das Lager Waffen und Essen holen kann.
Haja wo ist das Problem?
habs jetzt mal ausprobiert.mit das man ak , deagle und essen nehmen kann.
aber !
wo kann man entscheiden wieviel im lager drin sein soll ? weil es ist ja noch nicht im lager