new fInfo[][fraktEnum] ={
{"Zivilist",1106.8351,-1796.3143,16.5938,0.0, 0, 0, WEISS},
{"LSPD", 246.7810,-86.3719,2.2108,88.7786, 0, 0, HELLBLAU},
{"FBI", 203.1190,-107.7883,4.0965,83.0967, 0, 0, DUNKELBLAU}
Hoffe das es nun das richtige ist
new fInfo[][fraktEnum] ={
{"Zivilist",1106.8351,-1796.3143,16.5938,0.0, 0, 0, WEISS},
{"LSPD", 246.7810,-86.3719,2.2108,88.7786, 0, 0, HELLBLAU},
{"FBI", 203.1190,-107.7883,4.0965,83.0967, 0, 0, DUNKELBLAU}
Hoffe das es nun das richtige ist
enum fraktEnum{
f_name[128],
Float:f_x,
Float:f_y,
Float:f_z,
Float:f_r,
f_inter,
f_world,
f_color
}
Hoffe das ist das richtige
Bei mir steht halt immer: z.B Du wurdest der Fraktion 1;2;3 von z.B X zugewiesen!
aber will das dort halt steht Du wurdest der Fraktion z.B LSPD von X zugewiesen! stehen haben ich habe es,
auch mit f_name versucht aber dann kommt bei jeder fraktion:
Du wurdest der Fraktion 0 von X zugewiesen!
Ach man kann auch 1x
new string[128];
Und mehrmals in einem Befehl formatieren?! ,wusste ich noch nicht werde es nun Ausprobieren deswegen habe ich auch new sstring[128] gemacht
Nabend,
Ich bins mal wieder irgendwie peil ich das meistens nicht mit den Strings vielleicht hat ja einer Ahnung was da los ist....
//Dcmd Befehle
dcmd_setfraktion(playerid,params[])
{
#pragma unused params
if(!IstSpielerAdmin(playerid, 5)) return SendClientMessage(playerid,ROT,"Du bist kein Admin!");
new pid, frakid;
if(sscanf(params,"ud",pid,frakid)) return SendClientMessage(playerid,GELB,"Verwendung : /setfraktion [ID][Fraktions ID]");
if(!IsPlayerConnected(pid)) return SendClientMessage(playerid,ROT,"Ungültiger Spieler");
if(IstSpielerInFraktion(pid,frakid) == frakid) return SendClientMessage(playerid,ROT,"Der Spieler ist bereits in der Fraktion");
sSpieler[pid][Fraktion] = frakid;
new string[128];
format(string, sizeof(string), "Du hast dem Spieler %s (ID: %d) die Fraktion %d.", string, playerid, f_name);
new sstring[128];
format(string, sizeof(sstring), "Du wurdest der Fraktion %d von %d zugewiesen!", sstring, playerid, f_name);
SendClientMessage(pid,HELLBLAU,sstring);
SendClientMessage(playerid,HELLBLAU,sstring);
return 1;
}
Ingame sieht es so aus aber was ich mich auch frage wieso ich 4 Messages bekomme Obwohl ich nur eine kriegen sollte...
http://www.directupload.net/file/d/4532/8vky5md5_png.htm
Verstehe ich irgendwie nicht....
also wollte das halt so machen das wenn er das "Prüfungsfahrzeug" betritt die StVO regeln aufgelistet werden aber diese StVO regeln erst gesendet werden wenn er in einen der Prüfungsfahrzeuge sitzt
Nabend,
Hätte da mal eine frage bzgl. Automatisches Fahrschulsystem und zwar,
Ich will gerne machen das man in die "Prüfungsfahrzeuge" nur einsteigen kann wenn man /führerschein eingibt wie wäre das machbar? hier einfach mal der Befehl:
if(strcmp("/führerschein",cmdtext, true) == 0)
{
new AFSfahrzeug= GetPlayerVehicleID(playerid);
if(AktuellerFSCP[playerid] != INVALID_FAHRSCHULCP_CP)return SendClientMessage(playerid,ROT, "Fehler: Sie sind bereits in ihrer Fahrprüfung."); //Prüfen ob die Person nicht schon in einer Fahrstunde ist.
if(!FSSFahrzeug(AFSfahrzeug))return SendClientMessage(playerid,ROT, "Fehler: Sie befinden sich nicht in eines der Prüfungsfahrzeuge."); //Prüfen ob der Spieler im Fahrschul Fahrzeug sitzt.
AktuellerFSCP[playerid]++;
SetPlayerCheckpoint(playerid,FahrschulCPS[AktuellerFSCP[playerid]][0],FahrschulCPS[AktuellerFSCP[playerid]][1],FahrschulCPS[AktuellerFSCP[playerid]][2], 8.0);
//Das mit der SendClientMessage(playerid,GREEN, "Steige nun bitte in eines der Prüfungsfahrzeuge!"); hätte ich halt gerne wenn man den Befehl eingibt aber man bevor man /führerschein eingegeben hat nicht in eines der Fahrzeuge einsteigen kann
SendClientMessage(playerid,GREEN, "Steige nun bitte in eines der Prüfungsfahrzeuge!");
Ich würde es auch gerne haben das wenn man eines der Prüfungsfahrzeuge betritt ein Text im Chat kommt mit den ganzen StVO kram hätte da schon einen Vorschlag wäre nett wenn jmd einen "Platzhalter" erstellen würde wenn jemand weiß wie es funktioniert
Vielen Dank im vorraus!
Nabend Breadfishler,
Ich habe da mal wieder ein Problem, Und zwar geht es diesmal um das Autom. Fahrschul System kleine Hilfe von dem Farmer System:
Farmer System by DZ
Und zwar besteht folgendes Problem ich habe halt eine "kleine" Rundführung durch die Stadt gemacht und irgendwann kommt man wieder bei der FS an und bei mir ist es irgendwo in LS nähe BSN Tankstelle kann mir da einer helfen hier die Codes:
//Einstellungen (Automatische Fahrschule)
#define FahrschulCheckpoints 36 //Wie viel Fahrschul CP´s ihr addet
#define EndFahrschuleCP 36 // Der letzte CP den ihr addet.
#define FSFahrzeuge 2 // Wie viele Fahrschul Fahrzeuge ihr addet
//================================FAHRSCHUL-FAHRZEUGE==============================
new FSFahrzeug[FSFahrzeuge];
forward FSSFahrzeug(carid);
//================================FAHRSCHUL-CP-STUFF================================
#define INVALID_FAHRSCHULCP_CP -1
new AktuellerFSCP[MAX_PLAYERS]; // Diese Function liest später euren Aktuellen CP aus bzw. prüft.
new Float:FahrschulCPS[FahrschulCheckpoints][36]={
{556.9083,-1257.5756,16.8174}, //CP
{575.4866,-1238.5416,17.0707}, //CP
{659.5355,-1201.0024,17.6949}, //CP
{718.3826,-1114.1500,18.1011}, //CP
{821.6976,-1052.1379,24.6402}, //CP
{1006.5569,-970.8641,41.1327}, //CP
{1156.3335,-955.7949,42.3527}, //CP
{1307.4314,-935.4819,38.5075}, //CP
{1351.9393,-1020.4064,26.1721}, //CP
{1340.7643,-1356.1840,13.0068}, //CP
{1394.9253,-1428.8740,13.0078}, //CP
{1434.7687,-1443.5597,13.0069}, //CP
{1450.5068,-1473.0499,12.9899}, //CP
{1450.5068,-1473.0499,12.9899}, //CP
{1427.1877,-1676.4352,13.0068}, //CP
{1430.2589,-1733.0637,13.0079}, //CP
{1483.9961,-1734.5848,13.0078}, //CP
{1526.3123,-1732.9240,13.0119}, //CP
{1532.5931,-1669.0902,13.0078}, //CP
{1528.7609,-1592.0574,13.0098}, //CP
{1432.1808,-1590.3473,13.0155}, //CP
{1344.6427,-1574.9281,12.9948}, //CP
{1319.2520,-1538.3319,13.0080}, //CP
{1354.8794,-1460.9742,13.0068}, //CP
{1359.7638,-1326.3168,13.0151}, //CP
{1359.5006,-1187.6090,20.6476}, //CP
{1370.5878,-1051.9180,26.1998}, //CP
{1379.5059,-959.5242,33.7139}, //CP
{1332.7048,-924.2855,35.8069}, //CP
{1196.5386,-935.5006,42.3650}, //CP
{1081.9342,-945.8111,42.2348}, //CP
{841.8989,-1017.0716,27.2388}, //CP
{666.3561,-1176.1622,15.4601}, //CP
{531.2594,-1245.9265,16.0397}, //CP
{532.7856,-1260.3140,15.9646}, //CP
{545.1855,-1271.3132,16.8731} //CP
};
Unter OnPlayerConnect
AktuellerFSCP[playerid] = INVALID_FAHRSCHULCP_CP;
Und das habe ich irgendwo im Script wie auch gesagt wurde:
public FSSFahrzeug(carid)
{
for(new i = 0; i < sizeof(FSFahrzeug); i++)
{
if(carid == FSFahrzeug[i])
{
return 1;
}
}
return 0;
}
Falls ich was vergessen habe zu Posten bitte ich um einen Hinweis
Vielen Dank an alle im Vorraus!
Nabend Breadfishler,
Ich habe mir das Tutorial von dieser Seite angeguckt: Farmer System by DZ
Ich kriege diesen Error:
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(1052) : error 029: invalid expression, assumed zero
Das wäre diese Zeile:
AktuellerCP[playerid] = ++;
Der ganze Befehl:
}
if(strcmp("/ernten",cmdtext, true) == 0)
{
new fahrzeug= GetPlayerVehicleID(playerid);
if(AktuellerCP[playerid] != INVALID_FARMER_CP)return SendClientMessage(playerid,0xFF0000FF, "Error: Sie sind bereits in Ihren Job aktiv."); // Hiermit Prüfen sie ob die Person nicht bereits am Ernten ist.
if(!FarmerFahrzeug(fahrzeug))return SendClientMessage(playerid,0xFF0000FF, "Error: Sie befinden sich nicht auf den richtigen Fahrzeug."); //Hier Prüfen sie ob der Spieler auch auf ein Farmer Fahrzeug sitzt
AktuellerCP[playerid] = ++;
SetPlayerCheckpoint(playerid,FarmerCPS[AktuellerCP[playerid]][0],FarmerCPS[AktuellerCP[playerid]][1],FarmerCPS[AktuellerCP[playerid]][2], 8.0); // Hier wird automatisch der CP den sie oben als 1 definiert haben gesetzt.
SendClientMessage(playerid,0x00CC00FF, "Fahren sie nun die Checkpoints ab um das Feld abzuernten.");
return 1;
}
return 0;
}
das mit dem strtok oder wie das heißt funktioniert bei mir nicht trotz dem hier
es kommt halt immer already defined usw:
[list=1][*]strtok(const string[], &index)
[*]{
[*]new length = strlen(string);
[*]while ((index < length) && (string[index] <= ' '))
[*]{
[*]index++;
[*]}
[*]
[*]new offset = index;
[*]new result[20];
[*]while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
[*]{
[*]result[index - offset] = string[index];
[*]index++;
[*]}
[*]result[index - offset] = EOS;
[*]return result;
[*]}
[/list]
Danke hat geklappt!
Alles Klar wenn ich z.B /m test mache kommt SERVER: Unknown Command
und wenn ich nur /m mache kommt im chat KinGRaPTiiC o<:/m
Kriege diesen Error:
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(980) : error 017: undefined symbol "params"
Zeile:
if(sscanf(params, "s", result))return SendClientMessage(playerid, 0xEBFF00FF, "benutze:{FFFFFF} /m [Nachricht]");
/edit @datgame so habe ich es
public OnPlayerCommandText(playerid, cmdtext[]){
new cmd[128], idx;
cmd = strtok(cmdtext, idx); //Betroffene Zeile (818)
und der Befehl:
new text[128];
text = strtok(cmdtext, idx); //Betroffene Zeile (980)
if (strcmp("/m", cmd, true, 10) == 0)
{
new mText[145], name[MAX_PLAYER_NAME], Float:x, Float:y, Float:z;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
GetPlayerPos(playerid, x, y, z);
format(mText, sizeof (mText), "Officer %s o<: %s", name, text);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,60.0, x, y, z))
{
SendClientMessage(i, 0xEBFF00FF, mText);
}
}
return 0;
}
}
Und ich kriege nun diese Errors und Warnings:
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(818) : error 047: array sizes do not match, or destination array is too small
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(980) : error 047: array sizes do not match, or destination array is too small
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(997) : warning 209: function "ocmdOnPlayerCommandText" should return a value
habe es nun so:
if (strcmp("/m", cmd, true, 10) == 0)
{
new text[128];
text = strtok(cmdtext, idx);
new mText[145], name[MAX_PLAYER_NAME], Float:x, Float:y, Float:z;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
GetPlayerPos(playerid, x, y, z);
format(mText, sizeof (mText), "Officer %s o<: %s", name, text);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,60.0, x, y, z))
{
SendClientMessage(i, 0xEBFF00FF, mText);
}
}
return 0;
}
}
Und kriege diese Errors:
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(977) : error 017: undefined symbol "cmd"
C:\Users\User\Desktop\SAMP SERVER\gamemodes\Selfmade.pwn(980) : error 017: undefined symbol "idx"
Wo drunter denn? am ende??
unter den ganzen stocks?
/edit @datgame
ich glaub ich hab es schon es kamen grad errors mit strtok already defined usw
Wie und wo soll ich das einfügen wäre nett wenn du mir ein kleines Bisschen unter die Arme greifst
Nabend Breadfishler,
Ich habe da mal eine frage an euch und wollte euch fragen wie man ein Megaphone System erstellt ich hätte gedacht das ich es so mache (OnPlayerCommand):
if (strcmp("/m", cmdtext, true, 10) == 0)
{
new mText[145], name[MAX_PLAYER_NAME], Float:x, Float:y, Float:z;
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
GetPlayerPos(playerid, x, y, z);
format(mText, sizeof (mText), "%s o<: %s", name, text);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && IsPlayerInRangeOfPoint(i,60.0, x, y, z))
{
SendClientMessage(i, 0xEBFF00FF, mText);
}
}
return 0;
}
Oder wie soll ich das sonst machen?