Mit "main()" ist das gemeint, was beim Serverhochfahren angezeigt und auch geladen wird.
Post mal bitte deinen kompletten "main()" Teil.
Mit "main()" ist das gemeint, was beim Serverhochfahren angezeigt und auch geladen wird.
Post mal bitte deinen kompletten "main()" Teil.
Ich verstehe gerade nicht was du willst...
Du willst mit einem CMD den Preis, Besitzer und Co des Hauses ändern können?
Wenn ja, post mal bitte den CMD.
Nein, das ist quatsch.
Die returns sind richtig.
Post mir mal bitte die forward-Funktion "RemoveAllBlendrauch();" und "RemoveAllNagelBand();".
Also du willst per CMD (Beispielsweise: /hausbesitzer [Name]) den Besitzer des Hauses festlegen?
Wenn du keinen Objekt Streamer benutzt (der womöglich defekt ist) und du dich in der gleichen virtuellen Welt befindest, kann es nur am Objekt liegen.
Und das ist möglich!
Es gibt viele Objekte (vor allem bei den Stuntobjekten bzw. den Straßen) die manchmal unsichtbar sind, manchmal nicht (je nach dem wie man die Kamera dreht) und einfach ein wenig buggen.
Du musst includes nicht compilen, um sie verwenden zu können.
Es reicht, wenn du sie abspeicherst und im Mainscript (also gamemode) dann mitcompilst.
Ich habe schon seit Monaten in meinen Includes, wenn ich diese compile Error.
Das ist aber egal...
Versuchs mal bitte mit folgenden zwei Varianten:
if ((oldkeys & KEY_WALK) && !(newkeys & KEY_WALK))
{
ClearAnimations(playerid);
}
if ((newkeys & KEY_WALK) && !(oldkeys & KEY_WALK))
{
ApplyAnimation(playerid,"PED","woman_walknorm",4.1,1,1,1,1,1);
}
2.:
if ((oldkeys & KEY_WALK) && !(newkeys & KEY_WALK))
{
ClearAnimations(playerid);
}
else if ((newkeys & KEY_WALK) && !(oldkeys & KEY_WALK))
{
ApplyAnimation(playerid,"PED","woman_walknorm",4.1,1,1,1,1,1);
}
Probier mal den hier.
http://www.jhxp.net/personal/mta/MTASA-1.0.3.exe
PS: Wenn du Vista hast, als Administrator ausführen, sonst wird er die Maps nicht speichern.
Er meint, dass im Prinzip jeder Skin seine eigene Laufart hat. (Z.b. der Rollschuhfahrer auf Rollschuhen fährt.)
Er empfiehlt dir, UsePlayerPedAnims unter "OnGameModeInit" zu entfernen, und dann einfach einen Frauenskin zu nehmen, der dann ja in der von dir gewünschten Art läuft.
Hol dir Teamviewer und meld dich mal in ICQ bei mir.
Ich mach dir das.
Unter "OnPlayerKeyStateChange" folgendes einfügen:
if((newkeys==KEY_ACTION)&&(IsPlayerInAnyVehicle(playerid))&&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
{
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
SendClientMessage(playerid,0xFFFF00AA,"Versuch ein Auto abzuschleppen");
new Float:pX,Float:pY,Float:pZ;
GetPlayerPos(playerid,pX,pY,pZ);
new Float:vX,Float:vY,Float:vZ;
new Found=0;
new vid=0;
while((vid<MAX_VEHICLES)&&(!Found))
{
vid++;
GetVehiclePos(vid,vX,vY,vZ);
if ((floatabs(pX-vX)<7.0)&&(floatabs(pY-vY)<7.0)&&(floatabs(pZ-vZ)<7.0)&&(vid!=GetPlayerVehicleID(playerid)))
{
Found=1;
if(IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid)))
{
DetachTrailerFromVehicle(GetPlayerVehicleID(playerid));
}
AttachTrailerToVehicle(vid,GetPlayerVehicleID(playerid));
SendClientMessage(playerid,0xFFFF00AA,"Auto abgeschleppt!");
}
}
if(!Found)
{
SendClientMessage(playerid,0xFFFF00AA,"Es ist kein Auto in der Nähe.");
}
}
}
Unter "OnPlayerStateChange" und dann unter "if(newstate == PLAYER_STATE_DRIVER)" folgendes einfügen:
if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 525)
{
IsTowTrucker[playerid]=1;
TowTruckers++;
SendClientMessage(playerid,0xFFFF00AA,"Drücke STRG zum abschleppen!");
}
else
{
if(TowTruckers>0)
{
SendClientMessage(playerid,0xFFFF00AA,"Wenn du ein Problem hast tippe /service Ordnungsamt!");
}
}
if((newstate==PLAYER_STATE_ONFOOT)&&(IsTowTrucker[playerid]==1))
{
IsTowTrucker[playerid]=0;
TowTruckers--;
}
if((newstate==PLAYER_STATE_PASSENGER)&&(TowTruckers>0))
{
SendClientMessage(playerid,0xFFFF00AA,"Wenn du ein Problem hast tippe /service Ordnungsamt!");
}
Viel Spaß damit!
Kann schon sein.
Bei mir wars halt damals so, dass sich das Problem dann erledigt hat.
Edit: Ich versuch euch trotzdem mal zu helfen.
Das beschriebene Problem tritt immer auf, wenn man bei OnPlayerText nicht mit 0 sondern mit 1 returnt.
Deshalb bräuchte ich von euch das komplette OnPlayerText (und das von allen Scripts, also includes, gamemode und filterscripts) damit ich das beheben kann.
Ich schau dann mal, wo der Fehler liegt.
Ich hätte es spontan so gemacht:
if ((newkeys & KEY_WALK) && !(oldkeys & KEY_WALK))
{
ApplyAnimation(playerid,"PED","woman_walknorm",4.1,1,1,1,1,1);
}
if ((oldkeys & KEY_WALK) && !(newkeys & KEY_WALK))
{
ClearAnimations(playerid);
}
Wenn das nicht funktioniert versuch es mal so:
if ((newkeys & KEY_WALK) && !(oldkeys & KEY_WALK))
{
ApplyAnimation(playerid,"PED","woman_walknorm",4.1,1,1,1,1,1);
}
else if ((oldkeys & KEY_WALK) && !(newkeys & KEY_WALK))
{
ClearAnimations(playerid);
}
Ich hatte früher genau das selbe Problem und habe es dann auf ein Hack Tool zurück geführt.
Denn als ich die Firewall unseres RootServers gegen Hacks programmiert habe (damit keine Pings, Floods oder Chrashes möglich sind) war das Problem nicht mehr da.
Ich dachte mir dann dabei, dass wohl der Spieler, der on kommt das Hack Tool startet.
Anders kann ichs mir bis heute nicht erklären.
Wenn ihr keine Ahnung habt, wie ihr ne Firewall programmiert bzw. so macht, dass das nicht mehr möglich ist, holt euch einen Root für 5€ bei http://www.go2nova.de.
Die haben einen sehr guten Firewallschutz, den ich nur weiterempfehlen kann!
Ah, sry, ich dachte, dass der, der den Blitzer aufstellt beim AUFSTELLEN eine Nachricht und Geld bekommen soll, auch wenn das keinen Sinn ergeben würde.
Du meinst aber wahrscheinlich, wenn ein Spieler dann geblitzt wird und ihm das Geld abgezogen wird.
Das Problem dabei ist, dass das Script ja nicht weiß, wer den Blitzer aufgestellt hat wenn man geblitzt wird.
Also musst du in die Funktion, wenn er den Blitzer erstellt den Namen des Cops bzw. des Blitzerstellers binden, um nachher zu schauen ob er a) online ist und b) auch wirklich der ist und nicht nur die ID von ihm "geerbt" hat.
Aber um dir das zu machen brauche ich den public und den forward von "AddBlitzer" ;).
Mit freundlichen Grüßen
Illex
Bekommst du beim compilen irgendwelche warnings oder Errors?
Yo habe ich
Dann post diesen Mal bitte, sonst kann ich dir nicht helfen...^^
Kann hier leider gerade gar nicht erkennen, wann er den Blitzer aufstellt.
Hast du das in einem CMD oder wie?
Ich fand deine tmp Abfrage auch ziemlich komisch, aber dachte du hättest die überall so und das würde funktionieren.
Anscheinend nicht, also versuchs so:
if(strcmp(cmd,"/checkweapons",true)==0)
{
if(IsPlayerInFrakt(playerid,1)||IsPlayerInFrakt(playerid,6)||IsPlayerAnAdmin(playerid,3))
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid,COLOR_WHITE,"INFO: /checkweapons [id]");
return 1;
}
new playa = ReturnUser(tmp);
new string[1024];
new weapon[512];
new weapon1[512];
new weapon2[512];
new weapon3[512];
new weapon4[512];
new weapon5[512];
new weapon6[512];
new weapon7[512];
new weapon8[512];
new weapon9[512];
new weapon10[512];
new weapon11[512];
new weapon12[512];
new waffe1, waffe2, waffe3, waffe4, waffe5, waffe6, waffe7, waffe8, waffe9, waffe10, waffe11, waffe12, waffe13;
new ammo1, ammo2, ammo3, ammo4, ammo5, ammo6, ammo7, ammo8, ammo9, ammo10, ammo11, ammo12, ammo13;
GetPlayerWeaponData(playa, 0, waffe1,ammo1);
GetPlayerWeaponData(playa, 1, waffe2,ammo2);
GetPlayerWeaponData(playa, 2, waffe3,ammo3);
GetPlayerWeaponData(playa, 3, waffe4,ammo4);
GetPlayerWeaponData(playa, 4, waffe5,ammo5);
GetPlayerWeaponData(playa, 5, waffe6,ammo6);
GetPlayerWeaponData(playa, 6, waffe7,ammo7);
GetPlayerWeaponData(playa, 7, waffe8,ammo8);
GetPlayerWeaponData(playa, 8, waffe9,ammo9);
GetPlayerWeaponData(playa, 9, waffe10,ammo10);
GetPlayerWeaponData(playa, 10, waffe11,ammo11);
GetPlayerWeaponData(playa, 11, waffe12,ammo12);
GetPlayerWeaponData(playa, 12, waffe13,ammo13);
GetWeaponName(waffe,weapon,sizeof(weapon));
GetWeaponName(waffe1,weapon1,sizeof(weapon1));
GetWeaponName(waffe2,weapon2,sizeof(weapon2));
GetWeaponName(waffe3,weapon3,sizeof(weapon3));
GetWeaponName(waffe4,weapon4,sizeof(weapon4));
GetWeaponName(waffe5,weapon5,sizeof(weapon5));
GetWeaponName(waffe6,weapon6,sizeof(weapon6));
GetWeaponName(waffe7,weapon7,sizeof(weapon7));
GetWeaponName(waffe8,weapon8,sizeof(weapon8));
GetWeaponName(waffe9,weapon9,sizeof(weapon9));
GetWeaponName(waffe10,weapon10,sizeof(weapon10));
GetWeaponName(waffe11,weapon11,sizeof(weapon11));
GetWeaponName(waffe12,weapon12,sizeof(weapon12));
format(string,sizeof(string),"%s hat folgende Waffen:\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d\n%s Munition: %d"
,SpielerName(playa),weapon,ammo1,weapon1,ammo2,weapon2,ammo3,weapon3,ammo4,weapon4,ammo5,weapon5,ammo6,weapon6,ammo7,weapon7,ammo8,weapon8,ammo9,weapon9,ammo10,weapon10,ammo11,weapon11,ammo12,weapon12,ammo13);
ShowPlayerDialog(playerid,DIALOG_INFO,DIALOG_STYLE_MSGBOX,"Checkweapons",string,"OK","Schließen");
return 1;
}
return 1;
}
Jo, da haste recht.
Aber bevor ich ihm da so einen unverständlichen Code reindrücke, mach ich's für ihn einfach und verständlich.
Es bringt ihm ja am Anfang nichts, mit so schleifen rumzuexperimentieren, wenn er das Andere noch nicht kann.
Wenn ers auf jeden Fall anders will, kann ichs gerne nochmal neu posten.