Beiträge von Martin08
-
-
1. gettime(stunde,minute,sekunde) (http://wiki.sa-mp.com/wiki/Function:gettime)
2. Muss es genau immer um 1uhr nachts z.b sein oder kann es auch einfach stündlich sein, sobald du das FS/die GameMode ladest? -
//EDIT: Wiekann ich amchen das wenn spieler pickup geht das er da z.B Waffen kriegt
new WaffenPickup;public OnGameModeInit()
{
WaffenPickup = CreatePickup(ModelID,spawnttype, XPos,YPos,ZPos,-1); //Modellid ist was für ein Pickup; Spawntype ist wie es spawnt, also ob es verschwinden soll, wenn du es findest. Für mehr Infos such ma in google: CreatePickup samp/wiki
return 1;
}public OnPlayerPickUpPickup(playerid, pickupid)
{
if(pickupid == WaffenPickup)
{
GivePlayerWeapon(playerid,Weaponmodellid, Ammu); //ModellID findeste auch wieder mit google, Ammu = Munition.
GivePlayerWeapon(playerid,Weaponmodellid, Ammu);//.. immer so weiter, kommt halt drauf an wie viele Waffen du vergeben willst.
//[...]
}
return 1;
}müsste eigentlich so gehen.
-
Hi hab das Problem, das mein delcar nicht richtig funzt.
public OnGameModeInit()
new str[256];
new tmp[256];
for(new count;count<MAX_VEHICLES;count++)
{
format(str, sizeof(str),"%d.ini",count);
if(dini_Exists(str))
{
new Float:x,Float:y,Float:z,Float:a,model,carid;
[...]
tmp = dini_Get(str,"CarID");
carid = strval(tmp); //hab hier nicht die carIDs von sa-mp vergebenennew Car = CreateVehicle(model,x,y,z,a,-1,-1,6000000);
Vehicles[Car][CarIDs] = carid;
}und der /delcar sieht so aus, File wird zwar gelöscht, aber IG bleibt das Auto immer drinne.
dcmd_delcar(playerid,params[])
{
new
ID;
if(sscanf(params, "d",ID))
{
return SendClientMessage(playerid,dunklesrot,"/delcar [CarID]");
}
else
{
new carid = GetPlayerVehicleID(ID);format(str, sizeof(str),"%d.ini",ID);
if(dini_Exists(str))
{
dini_Remove(str);
DestroyVehicle(Vehicles[carid][CarIDs]);
SendClientMessage(playerid, dunklesrot, "Fahrzeug gelöscht!");
}
}
}
}
return 1;
}Für Hilfe wäre ich unendlich dankbar
MfG Martin08
Ja xD dann schau dir mal an wie es soo ungefääähr aussehen muss, ich weiß leider nur nich genau wie, deswegen brauch ich ja hilfe, wie man das Car nach meinem System löscht.
/carinfo -> ID rausbekommen funktioniert, wenn ichs jez löschen will löschts nur die ini das Car IG bis zum nöchsten GMX aber net...
EDIT:
Kann mir keiner helfen -
delcar an sich geht bei mir ja^^
aber ich brauch das ja so angepasst, das es auch bei mir das Car löscht(also die Vehicles[carID][CarIDs]) im mom wird bei mir ja die file gelöscht nur halt IG ist das Car noch da. Nach m GMX isses dann natürlich weg, wäre aber trotzdem besser, wenns ig auch direkt gelöscht wäre. -
is eig. relativ simpel:
dcmd(delcar,6,cmdtext);
dcmd_delcar(playerid,params[])
{
#pragma unused params
new carID = GetPlayerVehicleID(playerid);
new str[256];
if(IsPlayerInAnyVehicle(playerid))
{
DestroyVehicle(carID);
SendClientMessage(playerid, Befehl, "Fahrzeug gelöscht!");
}
return 1;
}Müsste eigendlich so gehen
-
spielt eig. keine Rolle^^
hab da drüber noch den /delcar [ohne id], also wenn ich im Car sitze, was wunderbar funktioniert.Nur der Code hat n Fehler...
-
Hi hab das Problem, das mein delcar nicht richtig funzt.
public OnGameModeInit()
new str[256];
new tmp[256];
for(new count;count<MAX_VEHICLES;count++)
{
format(str, sizeof(str),"%d.ini",count);
if(dini_Exists(str))
{
new Float:x,Float:y,Float:z,Float:a,model,carid;
[...]
tmp = dini_Get(str,"CarID");
carid = strval(tmp); //hab hier nicht die carIDs von sa-mp vergebenennew Car = CreateVehicle(model,x,y,z,a,-1,-1,6000000);
Vehicles[Car][CarIDs] = carid;
}und der /delcar sieht so aus, File wird zwar gelöscht, aber IG bleibt das Auto immer drinne.
dcmd_delcar(playerid,params[])
{
new
ID;
if(sscanf(params, "d",ID))
{
return SendClientMessage(playerid,dunklesrot,"/delcar [CarID]");
}
else
{
new carid = GetPlayerVehicleID(ID);format(str, sizeof(str),"%d.ini",ID);
if(dini_Exists(str))
{
dini_Remove(str);
DestroyVehicle(Vehicles[carid][CarIDs]);
SendClientMessage(playerid, dunklesrot, "Fahrzeug gelöscht!");
}
}
}
}
return 1;
}Für Hilfe wäre ich unendlich dankbar
MfG Martin08
-
Hat sich erledigt, hab das mit dem partofname einfach raus, weil ich das net brauche.
danke aber
(war die Zeile wie in meine Beitrag)
-
hab jez ma
stock GetPlayerID(const playername[], partofname=0)
{
new i;
new playername1[MAX_STRING];
for (i=0;i<MAX_PLAYERS;i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i,playername1,sizeof(playername1));
if (strcmp(playername1,playername,true)==0)
{
return i;
}
}
}
new correctsigns_userid=-1;
new tmpuname[MAX_STRING];
new hasmultiple=-1;
if(partofname)
{
for (i=0;i<MAX_PLAYERS;i++)
{
if (IsPlayerConnected(i))
{
GetPlayerName(i,tmpuname,sizeof(tmpuname));
if (strfind(tmpuname,partofname,true)==0)
{
hasmultiple++;
correctsigns_userid=i;
}
if (hasmultiple>0)
{
return -2;
}
}
}
}
return correctsigns_userid;
}unten ins script reingemacht.
es kommt aber
error 035: argument type mismatch (argument 2)
zeile 26
-
Mhh und wie mache ich das, das es jez funzt? xD^^
-
warum nicht einfach
if(pickupid == funrace)
{
SendClientMessage(playerid,0x33AA33AA,"Du hast die Event Fahrzeuge gespawnt.");
CreateVehicle(434,432.1020,2483.5161,16.4573,88.1765,1,1); // Event 1
CreateVehicle(434,432.2517,2487.1040,16.4578,91.2852,1,1); // Event 2
CreateVehicle(434,432.5056,2490.6140,16.4882,92.2552,1,1); // Event 3
CreateVehicle(434,432.6092,2494.4954,16.4642,88.1814,1,1); // Event 4
CreateVehicle(434,432.8533,2497.9409,16.4602,89.9019,1,1); // Event 5
CreateVehicle(434,432.7490,2501.6838,16.4678,87.8413,1,1); // Event 6
CreateVehicle(434,432.7494,2505.6350,16.4657,95.9788,1,1); // Event 7
CreateVehicle(434,432.5109,2509.0798,16.4545,94.5771,1,1); // Event 8
CreateVehicle(434,432.4758,2512.6721,16.4544,97.5851,1,1); // Event 9
CreateVehicle(434,432.4116,2515.9670,16.4595,95.5877,1,1); // Event 10
return 1;
}?
-
Hi,
funzt das bei euch? http://wiki.sa-mp.com/wiki/GetPlayerID
bei mir kommt, dass GetPlayerID nich definiert wäre.
Hab ich da vll. ne fehlene include, also braucht man ne bestimmte dafür, oder wie siehst bei euch aus? oO
-
OMG lol, Vielen, vielen dank!
das ich darauf net selbs kam xD. ich erinner mich, vorhin hatte ich auch iwie sowas gemacht, nur hatte ich da noch iwas mit tmp = dini_Get.....
Bin auch ziemlich müde ka.
Aber vielen dank nochmal
-
ich hab das so kompliziert, weil ich nen cmd mit /givejob <name> gemacht hatte,
ich habe dann in einer File gesaved (weil mir das mit dem enum text nich bekannt war) was ich geschreiben hab (also der <name>).
dann sollte sich n menü öffnen
ich wähl den beruf aus und es sollte in die File mit dem <Name>.nur ich bekomms nicht hin, das es den Name halt speichert
so sieht der cmd aus:
dcmd_givejob(playerid,params[])
{
if(Player[playerid][Level] >= 3)
{
if(!strlen(params))
{
return SendClientMessage(playerid,dunklesrot,"/givejob [name]");
}
else
{new ThePlayer[MAX_PLAYER_NAME],
string[256];GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));
format(string,sizeof(string),Speicher,ThePlayer);
if(dini_Exists(string))
{
dini_Set(string,"Geschrieben",params);
}
// hier hatte ich eig. stehen : Player[playerid][geschriebenes] = params; was aber nicht funzte. (error 006: must be assigned to an array)
ShowMenuForPlayer(givejob,playerid);
}
}
return 1;
} -
Hi wollte mal fragen ob man vll. mit enum auch gespeichere wörter speichern und anzeigen kann.
GetPlayerName(pID,GivePlayer,sizeof(GivePlayer));
GetPlayerName(playerid,ThePlayer,sizeof(ThePlayer));format(string1,sizeof(string1),Speicher,ThePlayer);
tmp = dini_Get(string1,"Geschrieben");
geschriebenes = strval(tmp);
Player[playerid][givejobname] = geschriebenes;so speichert es es ja nur Zahlen, bzw ja oder nein, wenn ich das richtig verstanden habe.
aber ist es auch möglich, das man das "Geschriebene" auch speichern kann?
wenn ja wäre Hilfe voll cool, dankeMfG Martin08
EDIT: habe den thread nochmal n bissl geändert...
-
Habs eben nochmal versucht.
Beim connecten erstellt es ne ini mit den daten:
Name=Martin08
Ip=...
Registered=-1
Password=0
Level=0
Wired=0
Jailed=0nachm register siehts genauso aus. keine veränderung. N fehler hatte ich beim kopieren auch nicht, ganz sicher.
-
Mhh kann es sein das das Tut iwie n Fehler hat oder so will ja nichts sagen, aber es geht wirklich net.
-
Hi ich habe hier das Tutorial gefunden:
KlickWäre eigendlich Perfekt, da es dcmd is usw.
Nur irgentwie funzt das nicht ganz.Habs einmal versucht, und ein bisschen umgeschrieben, da hat gabs bugs beim Registrieren:
beim /register wurde in der .ini file nicht das -1 auf 1 geändert. es wird lediglich beim connecten die ini erstellt.Auch beim nochmal normalen copy and paste, (also alles wie im Tut) geht es nicht.
Fande das Tutorial halt perfekt, weil mit dcmd geschrieben wurde und es auch noch ausgebaut werden könnte.
Habt ihr da auch Bugs oder liegt das vll an 0.3, weil ich habs jez echt öfters versucht.
Und wenn jemand den Bug findet, bzw. warum es beim register/login usw. die .ini nicht ändert, könnte er das vll hier erklären bzw. richtig hinschreiben?Danke schonmal im Vorraus
MfG Martin08 -
Vielen Dank, das funzt so
Aber ich hab es schonmal in nem anderem Thema erwähnt (hat leider niemand geantwortet), ob es möglich wäre, die als CarID ne bestimmte ini.worauf das car gesaved is anzuzeigen:
im Moment mache ich n car so:
{
new id=strval(params);
if(!strlen(params) || !IsNumeric(params))
{
return SendClientMessage(playerid,COLOR_RED,"/createcar [carID]");
}
else
{
new Float:x, Float:y, Float:z, Float:a;
GetPlayerFacingAngle(playerid,a);
GetPlayerPos(playerid, x, y, z);
GetXYInFrontOfPlayer(playerid,x,y, 4.0);
new Car = CreateVehicle(id, x, y, z+2,a+90,1,1,0);
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//new carID = GetPlayerVehicleID(Car);
new carModelID = GetVehicleModel(Car);
new Float:carPosX, Float: carPosY, Float: carPosZ, Float: carZAngle;
new Counter = freeslot(1000);
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
GetVehiclePos(Car, carPosX, carPosY, carPosZ);
GetVehicleZAngle(Car, carZAngle);format(carFile,sizeof(carFile),"%d.ini",Counter);
//format(carFile,sizeof(carFile),"%d.ini",Car);
if(!dini_Exists(carFile))Das hier ist by [SRG]Bullet:
stock freeslot(max)
{
new str[32];
for(new i=0; i<max; i++)
{
format(str, sizeof(str), "%d.ini",i);
if(!fexist(str)) return i;
}
return 1;
}Kann man diesen filename nun auch bei /carinfo anzeigen lassen? Bzw. ist das überhaupt iwie möglich. Wenn s da ne möglichkeit gäbe, wäre ich euch ma echt richtig dankbar.