Wie mache ich 2 befehle für 1 script, so wie bei
strcmp:
if(strcmp(cmdtext, "/scheine", true) == 0 || strcmp(cmdtext, "/s", true) == 0)
MFG Martinez
Wie mache ich 2 befehle für 1 script, so wie bei
strcmp:
if(strcmp(cmdtext, "/scheine", true) == 0 || strcmp(cmdtext, "/s", true) == 0)
MFG Martinez
Wenn ich bei der Frage eine falsche antwort nehme passiert nix.
if(dialogid == DIALOG_FRAGE3)
{
if(response == 1)
{
if(listitem == 0 && listitem == 1 && listitem == 3)
{
ShowPlayerDialog(playerid,DIALOG_Tutorial2,DIALOG_STYLE_MSGBOX,"{FFFFFF}Police Department","{FFFFFF}Hier ist das LSPD\nhier kannst du dich Freikaufen\nTickets bezahlen\noder dich stellen\nwenn du bei der Flucht erwischt wirst kommst du in den Knast","Weiter","");
}
if(listitem == 2)
{
ShowPlayerDialog(playerid,DIALOG_RICHTIG3,DIALOG_STYLE_MSGBOX,"{00FF1E}+","{00FF1E}Die Antwort war richtig","Weiter","");
}
}
else
{
ShowPlayerDialog(playerid,DIALOG_FRAGE3,DIALOG_STYLE_LIST,"{FFFFFF}Antworte","bekomme ich einen Waffenschein\nIch werde gelobt\nIch komme in den Knast\nIch bekomme 300 Euro","Weiter","");
}
}
Hallo,
Wie kann ich machen das man bei einen OCMD befehl die playerid und oder ein
teil des Namens eingeben kann.
Hallo,
Wie könnte ich meine Errors beheben, ich finde den fehler nicht.
C:\Users\***\Desktop\Selfmade\*.pwn(242) : warning 213: tag mismatch
C:\Users\***\Desktop\Selfmade\*.pwn(242) : error 032: array index out of bounds (variable "Autohaus")
for(new i = 0; i < sizeof Autohaus; i++)
{
---->CreatePickup(1239,1,Autohaus[i][PosX],Autohaus[i][PosY],Autohaus[i][PosZ],0);
}
C:\Users\***\Desktop\Selfmade\*.pwn(290) : error 033: array must be indexed (variable "AutosZumVerkauf")
---->for(new i=0; i<AutosZumVerkauf; i++)
{
DestroyVehicle(kaufauto[i]);
}
C:\Users\***\Desktop\Selfmade\*.pwn(344) : warning 213: tag mismatch
C:\Users\***\Desktop\Selfmade\*.pwn(344) : warning 215: expression has no effect
C:\Users\***\Desktop\Selfmade\*.pwn(344) : error 001: expected token: ";", but found "["
C:\Users\***\Desktop\Selfmade\*.pwn(344) : error 029: invalid expression, assumed zero
C:\Users\***\Desktop\Selfmade\*.pwn(344) : warning 215: expression has no effect
C:\Users\***\Desktop\Selfmade\*.pwn(344) : error 001: expected token: ";", but found "]"
C:\Users\***\Desktop\Selfmade\*.pwn(344) : fatal error 107: too many error messages on one line
for(new i= 0; i < 3; i++)
{
new Autodatei[80];
format(Autodatei,sizeof(Autodatei),"/Autos/%sAuto&d.ini",SpielerName(playerid),i);
if(dini_Exists(Autodatei))
{
---->Autos[playerid][i][modelid] = dini_Int(Autodatei,"modelid");
Autos[playerid][i][Farbe1] = dini_Int(Autodatei,"Farbe1");
Autos[playerid][i][Farbe2] = dini_Int(Autodatei,"Farbe2");
Autos[playerid][i][HP] = dini_Int(Autodatei,"HP");
Autos[playerid][i][Paintjob] = dini_Int(Autodatei,"Paintjob");
Autos[playerid][i][Nummernschild] = dini_Int(Autodatei,"Nummernschild");
Autos[playerid][i][PosX] = dini_Int(Autodatei,"PosX");
Autos[playerid][i][PosY] = dini_Int(Autodatei,"PosY");
Autos[playerid][i][PosZ] = dini_Int(Autodatei,"PosZ");
Autos[playerid][i][PosA] = dini_Int(Autodatei,"PosA");
Autos[playerid][i][Spoiler] = dini_Int(Autodatei,"Spoiler");
Autos[playerid][i][Wheels] = dini_Int(Autodatei,"Wheels");
Autos[playerid][i][Nitro] = dini_Int(Autodatei,"Nitro");
Autos[playerid][i][Stereo] = dini_Int(Autodatei,"Stereo");
Autos[playerid][i][Hydraulics] = dini_Int(Autodatei,"Hydraulics");
Autos[playerid][i][FrontBumber] = dini_Int(Autodatei,"FrontBumber");
Autos[playerid][i][RearBumber] = dini_Int(Autodatei,"RearBumber");
Autos[playerid][i][VentLeft] = dini_Int(Autodatei,"VentLeft");
Autos[playerid][i][VentRight] = dini_Int(Autodatei,"VentRight");
Autos[playerid][i][Roof] = dini_Int(Autodatei,"Roof");
Autos[playerid][i][Hood] = dini_Int(Autodatei,"Hood");
Autos[playerid][i][Sideskirt] = dini_Int(Autodatei,"Sideskirt");
Autos[playerid][i][Lamps] = dini_Int(Autodatei,"Lamps");
Autos[playerid][i][Exhaust] = dini_Int(Autodatei,"Exhaust");
Spielercar[playerid][i] = CreateVehicle(Autos[playerid][i][modelid],Autos[playerid][i][PosX],Autos[playerid][i][PosY],Autos[playerid][i][PosZ],Autos[playerid][i][PosA],Autos[playerid][i][Farbe1],Autos[playerid][i][Farbe2]);
SetVehicleNumerPlate(Spielercar[playerid][i].dini_Int(Autodatei,"Nummernschild"));
SetVehicleParamsForPlayer(Spielercar[playerid][i],playerid,0,0);
if(Autos[playerid][i][Paintjob] > 0)
{
ChangeVehiclePaintjob(Spielercar[playerid][i][Paintjob]);
}
if(Autos[playerid][i][Spoiler] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Spoiler]);
}
if(Autos[playerid][i][Hood] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Hood]);
}
if(Autos[playerid][i][Roof] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Roof]);
}
if(Autos[playerid][i][Sideskirt] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Sideskirt]);
}
if(Autos[playerid][i][Lamps] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Lamps]);
}
if(Autos[playerid][i][Nitro] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Nitro]);
}
if(Autos[playerid][i][Wheels] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Wheels]);
}
if(Autos[playerid][i][Stereo] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Stereo]);
}
if(Autos[playerid][i][Exhaust] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Exhaust]);
}
if(Autos[playerid][i][Hydraulics] >= 1000)
{
AddVehicleComponent(Spielercar[playerid][i][Hydraulics]);
}
}
}
MFG Martinez
Warum erstellst du es dir nicht selbst, sondern vertraust auf irgendeine Implementierung, die evt. total in die Hosen gehen wird und später kaum bearbeitet werden kann? Wir sind hier doch in einer Scripting Base, oder habe ich mich da verschaut?
eigentlich sagte ich ob es ein tutorial gibts oder was für funktionen man für so ein privat car script braucht.
Krieg ich den Link?
Hallo,
Wie stell ich Private Autos her, die beim connecten laden
und beim disconnecten abspeichert und entfernt.
Gibts es dafür ein Tutorial?
MFG Martinez
Alles anzeigenIch glaube ich hab einen Fehler gemacht, du müsstest es anders herum machen, vom kleinen zum größeren Abstand.
€: So sollte es richtig sein:
stock SendMeChat(string[],playerid) //DIe Funktion wird aufgerufen, wenn wir etwas ohne Befehl schreiben.
{
for(new i = 0;i < MAX_PLAYERS; i++) //Er durchläuft alle Spieler
{
if(GetDistanceBetweenPlayers(i,playerid) <= 5) // 0-5 Meter
{
SendClientMessage(i,Grau,string); //Klar eure Farbe ^^
}
else if(GetDistanceBetweenPlayers(i,playerid) <= 10) // 6-10 Meter
{
SendClientMessage(i,Grau,string); //dunklere farbe
}
else if(GetDistanceBetweenPlayers(i,playerid) <= 15) // 11-15 Meter
{
SendClientMessage(i,Grau,string); //noch dunklere farbe
}
else if(GetDistanceBetweenPlayers(i,playerid) <= 20) // 16-20 Meter
{
SendClientMessage(i,Grau,string); //noch dunklere farbe
}
}
return 1;
}
Joa geht.
Alles anzeigen
stock SendMeChat(string[],playerid) //DIe Funktion wird aufgerufen, wenn wir etwas ohne Befehl schreiben.
{
for(new i = 0;i < MAX_PLAYERS; i++) //Er durchläuft alle Spieler
{
if(GetDistanceBetweenPlayers(i,playerid) <= 25) //Die Funktion wird unten erklärt ;) Die 25 heißt, wie viel Meter soll man das Lesen können.
{
SendClientMessage(i,Grau,string); //Klar eure Farbe ^^
}
else if(GetDistanceBetweenPlayers(i,playerid) <= 20)
{
SendClientMessage(i,Grau,string); //andere farbe
}
}
return 1;
}
Ja wenn es nicht 2 nachrichten absendet?, ich will ja so haben so weiter er entfernt ist so dunkel wird die farbe
Hallo,
Ich hab im Sufu ein tutorial zum chat erstellen gefunden,
wie kann ich machen das so mehr radius so dunkel wird die nachricht die er schreib.
Ich will das z.b
25 bis 20 = Weiß
20 bis 15 = Grau
....
Gibts ein wert das sowas kann?
if(GetDistanceBetweenPlayers(i,playerid) <= 25)
stock SendMeChat(string[],playerid) //DIe Funktion wird aufgerufen, wenn wir etwas ohne Befehl schreiben.
{
for(new i = 0;i < MAX_PLAYERS; i++) //Er durchläuft alle Spieler
{
if(GetDistanceBetweenPlayers(i,playerid) <= 25) //Die Funktion wird unten erklärt ;) Die 25 heißt, wie viel Meter soll man das Lesen können.
{
SendClientMessage(i,Grau,string); //Klar eure Farbe ^^
}
}
return 1;
}
MFG Martinez
Textdraw Limit überschritten?
Danke, jetzt frag ich mich aber warum sa-mp wiki so ein Textdraw Position veröffentlicht hat.
Ja wird es, sonst würden ja die Debugnachrichten nicht gehen.
SetTimer("nodm",1000,1);
Hallo,
Ich hab ein problem wenn ich in NODM rein gehe, der Text "NO-DM" wird
garnicht angezeigt.
Könntet ihr mir bitte helfen?
Oben
new PlayerText:Textdrawnodm[MAX_PLAYERS];
OnPlayerConnect
Textdrawnodm[playerid] = CreatePlayerTextDraw(playerid,240.0,580.0,"NO-DM");
public nodm(playerid)
{
if(IsPlayerInArea(playerid, 1162.821, -1863.458, 1314.935, -1634.489))//Funktioniert (wurde mit debugtexten getestet)
{
PlayerTextDrawShow(playerid,Textdrawnodm[playerid]);
}
else
{
PlayerTextDrawHide(playerid,Textdrawnodm[playerid]);
}
}
MFG Martinez
Hallo,
Wenn ich sterbe und mit der Kamera Positioniert bin Sterb ich immer wieder
und werde dazu noch zum normal spawnpunkt teleportiert bis ein sa-mp crash kommt.
Was ist dran falsch?
public OnPlayerRequestClass(playerid, classid)
{
if(GetPVarInt(playerid,"Tutorial") == 0)
{//Falls ja
SetSpawnInfo(playerid,0,GetPVarInt(playerid,"SSkin"),330.6825, 163.6688, 1014.1875,280,GetPVarInt(playerid,"SWaffe"),GetPVarInt(playerid,"SWaffeAmmo"),GetPVarInt(playerid,"SWaffe2"),GetPVarInt(playerid,"SWaffeAmmo2"),GetPVarInt(playerid,"SWaffe3"),GetPVarInt(playerid,"SWaffeAmmo3"));
SpawnPlayer(playerid);//Spawnt spieler sofort ohne spawn button
SetPlayerInterior(playerid, 3);//Setzt den interior
TogglePlayerControllable(playerid,0);//schaltet tastatur aus
ShowPlayerDialog(playerid,DIALOG_TUT_GESCHLECHT,DIALOG_STYLE_MSGBOX,"Frage","Was bist du?\n Wähle dein Geschlecht aus","Männlich","Weiblich");
}
SetSpawnInfo(playerid,0,GetPVarInt(playerid,"SSkin"),1178.824829, -1325.804077, 13.284119,280,GetPVarInt(playerid,"SWaffe"),GetPVarInt(playerid,"SWaffeAmmo"),GetPVarInt(playerid,"SWaffe2"),GetPVarInt(playerid,"SWaffeAmmo2"),GetPVarInt(playerid,"SWaffe3"),GetPVarInt(playerid,"SWaffeAmmo3"));
SpawnPlayer(playerid);
return 1;
}
public OnPlayerSpawn(playerid)
{
if(IsPlayerNPC(playerid)) return 1;
if(Krankenhaus[playerid] == 1)
{
SetPlayerHealth(playerid,20);
SpawnPlayer(playerid);
TogglePlayerControllable(playerid, 0);//Freezet den Spieler
SetPlayerPos(playerid,1162.871704, -1339.109619, 14.297291);//Portet den Spieler unter das Krankenhaus
SetPlayerCameraPos(playerid, 1223.379028, -1333.354126, 33.809105);//Setzt die Camera Position
SetPlayerCameraLookAt(playerid, 1178.824829, -1325.804077, 13.284119);//Setzt die Camera Position
SetPlayerInterior(playerid, 0);//Setzt den Interior vom Spieler auf 0 damit er was sehen kann
}
if(ErsterSpawn[playerid] == 0)//Falls der Spieler noch nicht seinen ersten Spawn hatte => Kein Krankenhaus...
{//Falls ja...
ErsterSpawn[playerid]=1;//Setzt die Spieler Variable auf 1 => Erster Spawn gehabt
return 1;
}
LoadWeapon(playerid);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
if(ErsterSpawn[playerid] == 1)//Fragt ab ob der Erste Spawn bereits war.
{//Falls ja...
KillTimer(healtimerkiller[playerid]);
SendClientMessage(playerid, HELLGRÜN ," ");//Damit wird der Chat gecleart
// ResetPlayerWeapons(playerid);//Nimmt dem Spieler seine Waffen weg
SendClientMessage(playerid, HELLROT ," * Du bist im Krankenhaus!");//Nachricht
SetTimerEx("KrankenhausTimer",60000,0,"i",playerid);//Spieler Timer wird gestartet
healtimerkiller[playerid] = SetTimerEx("HealTimer",1000,1,"i",playerid);
Krankenhaus[playerid] = 1;//Setzt die Variable auf 0
return 1;
}
return 1;
}
MFG Martinez
//------------------[SpielerSpeichern-Stock]------------------------
stock SpielerSpeichern(playerid)
{
printf("Debug 1/19");
//--------[Fragt ob Spieler noch auf Server ist ab]-------
if(GetPVarInt(playerid,"eingeloggt") == 1)
{
printf("Debug 2/19");
//--------[Veriablien/Formate]-------
new Spielerdatei[64];
printf("Debug 3/19");
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
printf("Debug 4/19");
//--------[Account]-------
dini_IntSet(Spielerdatei,"Tutorial",GetPVarInt(playerid,"Tutorial"));
printf("Debug 5/19");
dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
printf("Debug 6/19");
dini_IntSet(Spielerdatei,"SWaffe",GetPVarInt(playerid,"SWaffe"));
printf("Debug 7/19");
dini_IntSet(Spielerdatei,"SWaffe2",GetPVarInt(playerid,"SWaffe2"));
printf("Debug 8/19");
dini_IntSet(Spielerdatei,"SWaffe3",GetPVarInt(playerid,"SWaffe3"));
printf("Debug 9/19");
dini_IntSet(Spielerdatei,"SWaffeAmmo",GetPVarInt(playerid,"SWaffeAmmo"));
printf("Debug 10/19");
dini_IntSet(Spielerdatei,"SWaffeAmmo2",GetPVarInt(playerid,"SWaffeAmmo2"));
printf("Debug 11/19");
dini_IntSet(Spielerdatei,"SWaffeAmmo3",GetPVarInt(playerid,"SWaffeAmmo3"));
printf("Debug 12/19");
//--------[Fraktion/Job]-------
dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
printf("Debug 13/19");
//--------[Admin System]--------
dini_IntSet(Spielerdatei,"Adminrang",GetPVarInt(playerid,"Adminrang"));
printf("Debug 14/19");
//--------[Alles über Geld]--------
dini_IntSet(Spielerdatei,"Geld",GetPVarInt(playerid,"Geld"));
printf("Debug 15/19");
dini_IntSet(Spielerdatei,"Bank",GetPVarInt(playerid,"Bank"));
printf("Debug 16/19");
//--------[RegisterDatum/RegisterIp]-------
dini_IntSet(Spielerdatei,"GeburtsMonat",GetPVarInt(playerid,"GeburtsMonat"));
printf("Debug 17/19");
dini_IntSet(Spielerdatei,"GeburtsTag",GetPVarInt(playerid,"GeburtsTag"));
printf("Debug 18/19");
dini_IntSet(Spielerdatei,"Woher?",GetPVarInt(playerid,"Woher?"));
printf("Debug 19/19");
}
return 1;
}
in der Konsole kommt
[15:12:25] [join] Martinez has joined the server (0:217.50.156.202)
[15:12:55] Debug 1/19
[15:12:55] Debug 2/19
[15:12:55] Debug 3/19
[15:12:55] Debug 4/19
[15:13:00] Debug 1/19
[15:13:00] Debug 2/19
[15:13:00] Debug 3/19
[15:13:00] Debug 4/19
[15:13:00] [part] Martinez has left the server (0:1)
Ja hab ich.
if(GetPVarInt(playerid,"eingeloggt") == 1)
{
SpielerSpeichern(playerid);//Speichert alles ab vor dem Disconnecten
SaveWeapon(playerid);
}
//------------------[SpielerSpeichern-Stock]------------------------
stock SpielerSpeichern(playerid)
{
//--------[Fragt ob Spieler noch auf Server ist ab]-------
if(GetPVarInt(playerid,"eingeloggt") == 1)
{
//--------[Veriablien/Formate]-------
new Spielerdatei[64];
format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",SpielerName(playerid));
//--------[Account]-------
dini_IntSet(Spielerdatei,"Tutorial",GetPVarInt(playerid,"Tutorial"));
dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
dini_IntSet(Spielerdatei,"SWaffe",GetPVarInt(playerid,"SWaffe"));
dini_IntSet(Spielerdatei,"SWaffe2",GetPVarInt(playerid,"SWaffe2"));
dini_IntSet(Spielerdatei,"SWaffe3",GetPVarInt(playerid,"SWaffe3"));
dini_IntSet(Spielerdatei,"SWaffeAmmo",GetPVarInt(playerid,"SWaffeAmmo"));
dini_IntSet(Spielerdatei,"SWaffeAmmo2",GetPVarInt(playerid,"SWaffeAmmo2"));
dini_IntSet(Spielerdatei,"SWaffeAmmo3",GetPVarInt(playerid,"SWaffeAmmo3"));
//--------[Fraktion/Job]-------
dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
//--------[Admin System]--------
dini_IntSet(Spielerdatei,"Adminrang",GetPVarInt(playerid,"Adminrang"));
//--------[Alles über Geld]--------
dini_IntSet(Spielerdatei,"Geld",GetPVarInt(playerid,"Geld"));
dini_IntSet(Spielerdatei,"Bank",GetPVarInt(playerid,"Bank"));
//--------[RegisterDatum/RegisterIp]-------
dini_IntSet(Spielerdatei,"GeburtsMonat",GetPVarInt(playerid,"GeburtsMonat"));
dini_IntSet(Spielerdatei,"GeburtsTag",GetPVarInt(playerid,"GeburtsTag"));
dini_IntSet(Spielerdatei,"Woher?",GetPVarInt(playerid,"Woher?"));
}
return 1;
}
Hallo,
Ich hab ein Problem mit mein dini_System,wenn ich rein joine
und die werte im gamemode sich ändern(SetPVarInt) wird dies
vor dem disconnect nicht gespeichert und die datei Name.ini.part
bleibt weiterhin offen.Könnt ihr sagen woran es liegt?
dini_IntSet wird ausgeführt so(dini_IntSet(playerid,"....",GetPVarInt(playerid,"....")))
beim Registrieren wird die Registrierungsdatum und ip eingetragen.
MFG Martinez
Alles geklärt, ich brauch das für mein
tutorial script wo nur das "Weiter" button gibst.
Danke
MFG Martinez
und mit
if(response == 1)
{
ShowPlayer...
}
else
{
ShowPlayerDialog(playerid,......
}
?
MFG Martinez