Du musst die Variable auch auf 0 setzen,
Ich denke mehr muss Ich dazu nicht sagen
Du meinst zusätzlich zu DetroyObject Neonlichter{vehicleid] = 0; oder meinst du z.B
rot1[vehicleid] = 0;?
edit:: // geht nun danke euch allen
Du musst die Variable auch auf 0 setzen,
Ich denke mehr muss Ich dazu nicht sagen
Du meinst zusätzlich zu DetroyObject Neonlichter{vehicleid] = 0; oder meinst du z.B
rot1[vehicleid] = 0;?
edit:: // geht nun danke euch allen
Einfach Objekte löschen
DestroyObject(rot1[vehicleid]);
DestroyObject(rot2[vehicleid]);
Inwiefern "setzt" es sich wieder dran?
erst entfernen die neonröhren sich dann wenn ich wd fahre gehen sie wd dran
else if(strcmp(Option, "off", true) == 0)
{
if(Neonlichter[vehicleid] < 1)return SendClientMessage(playerid, Rot, "Fehler: Du hast keine Neonröhren abgebracht.");
DestroyObject(rot1[vehicleid]);
DestroyObject(rot2[vehicleid]);
DestroyObject(blau1[vehicleid]);
DestroyObject(blau2[vehicleid]);
DestroyObject(gelb1[vehicleid]);
DestroyObject(gelb2[vehicleid]);
DestroyObject(weis1[vehicleid]);
DestroyObject(weis2[vehicleid]);
DestroyObject(pinke1[vehicleid]);
DestroyObject(pinke2[vehicleid]);
DestroyObject(grun1[vehicleid]);
DestroyObject(grun2[vehicleid]);
}
So hab ichs versucht.
aber das objekt setzt sich nach dem fahren wd dran
if(Neonlichter[vehicleid] == 1)
{
rot1[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
rot2[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
AttachObjectToVehicle(rot1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(rot2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 1;
}
So lasse ich sie anbringen, wie wieder abbauen?
Hier zu dem sieht man das der stock register ausgeführt wird.
if(dialogid == DIALOG_REGISTER)
{
if(response == 0)return Kick(playerid);
if(response == 1)
{
if(!strlen(inputtext))
{
SendClientMessage(playerid, Rot, "Fehler: Du hast nichts eingegben.");
new string[600];
format(string, 600, "{FFFFFF}Willkommen auf GermanTrucking\n\nDu hast hier noch keinen Account.\n\nRegestriere dich bitte mit einem biligen Passwort ein.\n\n{00FF1E}Benutzername{FFFFFF}: {CDFF00}%s\n\n{FFFFFF}Deine IP:{1400FF}%s",GetName(playerid),GetIp(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "GermanTrucking - Register",string,"reg","abbrechen");
return 1;
}
if(strlen(inputtext) < 6)
{
SendClientMessage(playerid, Rot, "Fehler: Du musst mindesten 6 zeichen verwenden.");
new string[600];
format(string, 600, "{FFFFFF}Willkommen auf GermanTrucking\n\nDu hast hier noch keinen Account.\n\nRegestriere dich bitte mit einem biligen Passwort ein.\n\n{00FF1E}Benutzername{FFFFFF}: {CDFF00}%s\n\n{FFFFFF}Deine IP:{1400FF}%s",GetName(playerid),GetIp(playerid));
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "GermanTrucking - Register",string,"reg","abbrechen");
return 1;
}
Register(playerid, MD5_Hash(inputtext));
}
}
//REgister stock
stock Register(playerid, key[])
{
format(spielerdatei, sizeof(spielerdatei), "/DB/SpielerAccounts/%s.ini",GetName(playerid));
dini_Create(spielerdatei);
dini_Set(spielerdatei,"Key",key);
SpawnPlayer(playerid);
SetPlayerPos(playerid, -78.3933, -1169.8947, 2.1360);
SetPlayerCameraPos(playerid, -81.3954,-1168.3391,2.2187);
SetPlayerCameraLookAt(playerid,-78.3933,-1169.8947,2.1360);
TogglePlayerControllable(playerid,0);
SkinAuswahl[playerid] = 1;
SendClientMessage(playerid, Weis, "Gebe nun [{00EBFF}Weiter] {FFFFFF} zum switchen und [{00EBFF}Fertig]{FFFFFF} ein um auszuwählen!");
return 1;
}
Hier sieht man das eine Pos gesetzt wird und das SkinAuswahl[playerid] = 1; ist
public OnPlayerText(playerid, text[])
{
if(strcmp(text, "weiter", true) == 0 && SkinAuswahl[playerid] == 1)return switchSkin(playerid);
new string[128],name[24];
GetPlayerName(playerid, name, 24);
format(string, sizeof(name), "%s sagt: %s",name,text);
Say(playerid, 10.0, 0xFFFFFFFF, string);
return SetPVarInt(playerid, "Test", 1);
}
So , hier sieht man, if(strcmp(text, "weiter", true) == 0 && SkinAuswahl[playerid] == 1)return switchSkin(playerid); // das soll wenn man weiter eingibt und SkinAuswahl[playerid] == 1; ist dann soll der stock swtchskin ausgeführt werden und kein anderer
So, nur das sollte dann passieren
Dann hab ich noch
return SetPVarInt(playerid, "Test", 1);
Das soll verhindern das der öff chat verwendet wird.
So nun wird der local chat und der öff chat verwendet.
stock switchSkin(playerid)
{
switch(Skin[playerid])
{
case 0:
{
SetPlayerSkin(playerid, 1);
Skin[playerid] = 1;
}
case 1:
{
SetPlayerSkin(playerid, 2);
Skin[playerid] = 2;
}
case 2:
{
SetPlayerSkin(playerid, 3);
Skin[playerid] = 3;
}
case 3:
{
SetPlayerSkin(playerid, 4);
Skin[playerid] = 4;
}
case 4:
{
SetPlayerSkin(playerid, 5);
Skin[playerid] = 5;
}
case 5:
{
SetPlayerSkin(playerid, 6);
Skin[playerid] = 6;
}
case 6:
{
SetPlayerSkin(playerid, 7);
Skin[playerid] = 7;
}
case 7:
{
SetPlayerSkin(playerid, 8);
Skin[playerid] = 8;
}
}
return 1;
}
Hier ist der stock switchskin
zudem kann er nicht gescheit ausgeführt werden da, öhm
Der local+ öff chat da stören, und zudem wird ja nicht mal der spieler auf die stelle gesetzt,
Also die 2 fehler sind,
1. Das der spieler nicht auf die pos gesetzt wird.
2. das wenn man weiter und in der sauswahl ist das er dann local#öff chat verwendet.
Kann mir jemand helfen?
Was mich viel mehr verwirrt...du bekommst bei diesem Code...keine Errors?
Jup....
Ist kein Wunder
edit: es geht nun dank jeffry
dcmd_neon(playerid, params[])
{
new vehicleid = GetPlayerVehicleID(playerid);
new Option[30];
if(sscanf(params,"s",Option))return SendClientMessage(playerid,Rot,"Befehl: /neon [neonfarbe]") && SendClientMessage(playerid, Weis, "Optionen: Rot,Blau,Gelb,Weis,Pink,Gruen");
if(strcmp(Option, "Rot", true) == 0){ Neonlichter[vehicleid] = 1 && DestroyObject(rot1[vehicleid]) && DestroyObject(rot2[vehicleid]); }
if(strcmp(Option, "Blau", true) == 0){ Neonlichter[vehicleid] = 2 && DestroyObject(blau1[vehicleid]) && DestroyObject(blau2[vehicleid]); }
if(strcmp(Option, "Gelb", true) == 0){ Neonlichter[vehicleid] = 3 && DestroyObject(gelb1[vehicleid]) && DestroyObject(gelb2[vehicleid]); }
if(strcmp(Option, "Weis", true) == 0){ Neonlichter[vehicleid] = 4 && DestroyObject(weis1[vehicleid]) && DestroyObject(weis2[vehicleid]); }
if(strcmp(Option, "Pink", true) == 0){ Neonlichter[vehicleid] = 5 && DestroyObject(pinke1[vehicleid]) && DestroyObject(pinke2[vehicleid]); }
if(strcmp(Option, "Gruen", true) == 0){ Neonlichter[vehicleid] = 6 && DestroyObject(grun1[vehicleid]) && DestroyObject(grun2[vehicleid]); }
if(Neonlichter[vehicleid] > 0)
{
if(Neonlichter[vehicleid] == 1)
{
rot1[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
rot2[vehicleid] = CreateObject(18647,0,0,0,0,0,0);
AttachObjectToVehicle(rot1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(rot2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 1;
}
if(Neonlichter[vehicleid] == 2)
{
blau1[vehicleid] = CreateObject(18648,0,0,0,0,0,0);
blau2[vehicleid] = CreateObject(18648,0,0,0,0,0,0);
AttachObjectToVehicle(blau1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(blau2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 2;
}
if(Neonlichter[vehicleid] == 3)
{
gelb1[vehicleid] = CreateObject(18650,0,0,0,0,0,0);
gelb2[vehicleid] = CreateObject(18650,0,0,0,0,0,0);
AttachObjectToVehicle(gelb1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(gelb2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 3;
}
if(Neonlichter[vehicleid] == 4)
{
weis1[vehicleid] = CreateObject(18652,0,0,0,0,0,0);
weis2[vehicleid] = CreateObject(18652,0,0,0,0,0,0);
AttachObjectToVehicle(weis1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(weis2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 4;
}
if(Neonlichter[vehicleid] == 5)
{
pinke1[vehicleid] = CreateObject(18651,0,0,0,0,0,0);
pinke2[vehicleid] = CreateObject(18651,0,0,0,0,0,0);
AttachObjectToVehicle(pinke1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(pinke2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 5;
}
if(Neonlichter[vehicleid] == 6)
{
grun1[vehicleid] = CreateObject(18649,0,0,0,0,0,0);
grun2[vehicleid] = CreateObject(18649,0,0,0,0,0,0);
AttachObjectToVehicle(grun1[vehicleid], vehicleid, -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
AttachObjectToVehicle(grun2[vehicleid], vehicleid, 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
Neonlichter[vehicleid] = 6;
}
}
return 1;
}
Das ist mein1. NeonSystem
Seit dem ich es oben versucht habe zu verhindern das mehrene röhren auf 1x erstellt werden , wird überhaupt keine mehr erstellt.
if(strcmp(Option, "Rot", true) == 0){ Neonlicher[vehicleid] = 1; }
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(685) : warning 203: symbol is never used: "params"
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(685) : warning 203: symbol is never used: "playerid"
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(775) : error 017: undefined symbol "Neonlicher"
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(775) : warning 215: expression has no effect
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(775) : error 001: expected token: ";", but found "]"
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(775) : error 029: invalid expression, assumed zero
C:\Users\SAMP\Desktop\germanpartyserver\gamemodes\party.pwn(775) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase
4 Errors.
Alles anzeigen
Wo liegt der Fehler
edit neonlichter falsch geschribenen
Ist dein MAX_PLAYERS noch auf 500? Wenn ja setz das auf 50 und kompiliere erneut. Dein Tachometer alleine überschreitet ja wie gesagt schon das Limit.
Ey jetzt gehts vielen dank ![]()
Gleiches Spiel wie vorhin. Was passiert bzw. was passiert nicht? Kannst du ein Bild machen wie es aussieht?
textdraw wird nicht angezeigt
Moin.
//Uhrzeit
PTD[1] = TextDrawCreate(566.000000, 8.296318, "uhrzeit");
TextDrawLetterSize(PTD[1], 0.449999, 1.600000);
TextDrawAlignment(PTD[1], 1);
TextDrawColor(PTD[1], 41215);
TextDrawSetShadow(PTD[1], -1);
TextDrawSetOutline(PTD[1], 0);
TextDrawBackgroundColor(PTD[1], 51);
TextDrawFont(PTD[1], 3);
TextDrawSetProportional(PTD[1], 1);
SetTimer("UpdateClock",1000,true);
public UpdateClock()
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
new playerid = i;
new Hour,Minute,Second,Year,Month,Day,string[130];
gettime(Hour,Minute,Second);
getdate(Year,Month,Day);
format(string, 130, "%02d:%02d:%02d~n~~g~%d.%d.%d",Hour,Minute,Second,Day,Month,Year);
TextDrawSetString(PTD[1],string);
TextDrawShowForPlayer(playerid,PTD[1]);
}
return 1;
}
Sehe keinen Fehler
Alles anzeigenAch ja, verdammt:
format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
zu:
format(string, 128, "%s",VehicleNames[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
Du hast ja aber auch extrem viele Fehler da rein gehauen.
![]()
Jetzt sollte es gehen.
Jup, danke dir
Ich hab den Code oben nochmal verbessert, da waren noch 2 Fehler auf die ich nicht geachtet habe. Probiers jetzt nochmal.
Geht schon besser nur der zustand und der typ laden nicht
Alles anzeigen
1.) 500x5 Textdraws = 2500 Textdraws, da Limit liegt bei 2000. Am besten du erstellst die Textdraws bei OnPlayerConnect und löschst sie wieder bei OnPlayerDisconnect, bzw. setzt MAX_PLAYERS auf 50. Zudem brauchst du die zwei Hintergründe, die bei jedem gleich sind, nicht als [playerid] Textdraw machen, so sparst du schonmal (2xMAX_PLAYERS)-2 Textdraws.
2.)
public UpdateTacho(playerid)
{
new speed = floatround(GetVehicleSpeed(GetPlayerVehicleID(playerid),0));
new string[128];
format(string, 128, "KM/H: %0.f",speed);
TextDrawSetString(Tacho4[playerid],string);
format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(playerid)-400]);
TextDrawSetString(Tacho3[playerid],string);
new Float:VHealth = GetVehicleHealth(GetPlayerVehicleID(playerid),VHealth);
format(string, 128,"Zustand: %0.f",VHealth);
TextDrawSetString(Tacho5[playerid],string);
return 1;
}
Die Schleife hat da nichts zu suchen gehabt.
geht trotzdem nicxht hast du vll tv?
Alles anzeigenHey Breadfish-Community,
Was ist an diesem Befehl falsch?
enum EInfo
{
Start,
};
new EventInfo[6][EInfo];
if(strcmp(cmdtext,"/startevent", true) == 0)
{
if(PlayerInfo[playerid][pAdmin]>=1)
{
if(EventInfo[1][Start]==0)
{
EventInfo[1][Start]=1;
SendClientMessageToAll(COLOR_LIGHTGREEN,"Ein Event wurde gestartet. Nutzen sie /event um daran teilzunehmen.");
GetPlayerPos(playerid, ex, ey, ez);
}
else
{
SendClientMessage(playerid,COLOR_RED,"Es wurde bereits ein Event gestartet.");
}
}
}
if(strcmp(cmdtext,"/event", true) == 0)
{
if(EventInfo[1][Start]==1)
{
SetPlayerPos(playerid,ex,ey,ez);
SendClientMessage(playerid,COLOR_GREEN,"Sie nehmen nun an dem Event teil.");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Es wurde kein Event gestartet.");
}
}
if(strcmp(cmdtext,"/stopevent", true) == 0)
{
if(PlayerInfo[playerid][pAdmin]>=1)
{
if(EventInfo[1][Start]==1)
{
EventInfo[1][Start]=0;
SendClientMessageToAll(COLOR_LIGHTGREEN,"Das Event wurde beendet.");
}
else
{
SendClientMessage(playerid,COLOR_RED,"Es wurde kein Event gestartet.");
}
}
}
Und ich bekomme dann diese Errors
C:\Users\***\Desktop\***\gamemodes\Gamemode.pwn(47101) : error 017: undefined symbol "ex
C:\Users\***\Desktop\***\gamemodes\Gamemode.pwn(47113) : error 017: undefined symbol "ex"
Kann mir wer erklären wie ich es fixe oder es mir gefixxt drunter posten
MfG. Luis
was genau geht denn nicht?
Er wäre gut wenn du uns sagst was nicht geht.
Frage: Welchen Wert hat MAX_PLAYERS (siehe /pawno/includes/a_samp.inc)?
#define MAX_PLAYERS (500)
Moin leute, iwi geht mein tacho nicht.
Tacho:
new Text:Tacho1[MAX_PLAYERS];
new Text:Tacho2[MAX_PLAYERS];
new Text:Tacho3[MAX_PLAYERS];
new Text:Tacho4[MAX_PLAYERS];
new Text:Tacho5[MAX_PLAYERS];
//UpdateTacho
new SpielerTacho[MAX_PLAYERS];
forward UpdateTacho(playerid);
#define UPDATE_T_TIME 1000
//Fahrzeugnamen
new VehicleNames[212][] =
{
"400 - Landstalker", "401 - Bravura", "402 - Buffalo", "403 - Linerunner", "404 - Pereniel", "405 - Sentinel", "406 - Dumper", "407 - Firetruck", "408 - Trashmaster", "409 - Limosine",
"410 - Manana", "411 - Infernus", "412 - Voodoo", "413 - Pony", "414 - Mule", "415 - Cheetah", "416 - Ambulance", "417 - Leviathan", "418 - Moonbeam", "419 - Esperanto", "420 - Taxi",
"421 - Washington", "422 - Bobcat", "423 - Mr Whoopee", "424 - BF Injection", "425 - Hunter", "426 - Premier", "427 - Enforcer", "428 - Securicar", "429 - Banshee", "430 - Predator",
"431 - Bus", "432 - Rhino", "433 - Barracks", "434 - Hotknife", "435 - Trailer", "436 - Previon", "437 - Coach", "438 - Cabbie", "439 - Stallion", "440 - Rumpo", "441 - RC Bandit", "442 - Romero",
"443 - Packer", "444 - Monster", "445- Admiral", "446 - Squalo", "447 - Seasparrow", "448 - Pizzaboy", "449 - Tram", "450 - Trailer", "451 - Turismo", "452 - Speeder", "453 - Reefer", "454 - Tropic", "455 - Flatbed",
"456 - Yankee", "457 - Caddy", "458 - Solair", "459 - Berkley's RC Van", "460 - Skimmer", "461 - PCJ-600", "462 - Faggio", "463 - Freeway", "464 - RC Baron", "465 - RC Raider",
"466 - Glendale", "467 - Oceanic", "468 - Sanchez", "469 - Sparrow", "470 - Patriot", "471 - Quad", "472 - Coastguard", "473 - Dinghy", "474 - Hermes", "475 - Sabre", "476 - Rustler",
"477 - ZR350", "478 - Walton", "479 - Regina", "480 - Comet", "481 - BMX", "482 - Burrito", "483 - Camper", "484 - Marquis", "485 - Baggage", "486 - Dozer", "487 - Maverick", "488 - News Chopper",
"489 - Rancher", "490 - FBI Rancher", "491 - Virgo", "492 - Greenwood", "493 - Jetmax", "494 - Hotring", "495 - Sandking", "496 - Blista Compact", "497 - Police Maverick",
"498 - Boxville", "499 - Benson", "500 - Mesa", "501 - RC Goblin", "502 - Hotring Racer", "503 - Hotring Racer", "504 - Bloodring Banger", "505 - Rancher", "506 - Super GT",
"507 - Elegant", "508 - Journey", "509 - Bike", "510 - Mountain Bike", "511 - Beagle", "512 - Cropdust", "513 - Stunt", "514 - Tanker", "515 - RoadTrain", "516 - Nebula", "517 - Majestic",
"518 - Buccaneer", "519 - Shamal", "520 - Hydra", "521 - FCR-900", "522 - NRG-500", "523 - HPV1000", "524 - Cement Truck", "525 - Tow Truck", "526 - Fortune", "527 - Cadrona", "528 - FBI Truck",
"529 - Willard", "530 - Forklift", "531 - Tractor", "532 - Combine", "533 - Feltzer", "534 - Remington", "535 - Slamvan", "536 - Blade", "537 - Freight", "538 - Streak", "539 - Vortex", "540 - Vincent",
"541 - Bullet", "542 - Clover", "543 - Sadler", "544 - Firetruck", "545 - Hustler", "546 - Intruder", "547 - Primo", "548 - Cargobob", "549 - Tampa", "550 - Sunrise", "551 - Merit", "552 - Utility",
"553 - Nevada", "554 - Yosemite", "555 - Windsor", "556 - Monster", "557 - Monster", "558 - Uranus", "559 - Jester", "560 - Sultan", "561 - Stratum", "562 - Elegy", "563 - Raindance", "564 - RC Tiger",
"565 - Flash", "566 - Tahoma", "567 - Savanna", "568 - Bandito", "569 - Freight", "570 - Trailer", "571 - Kart", "572 - Mower", "573 - Duneride", "574 - Sweeper", "575 - Broadway",
"576 - Tornado", "577 - AT-400", "578 - DFT-30", "579 - Huntley", "580 - Stafford", "581 - BF-400", "582 - Newsvan", "583 - Tug", "584 - Trailer", "585 - Emperor", "586 - Wayfarer",
"587 - Euros", "588 - Hotdog", "589 - Club", "590 - Trailer", "591 - Trailer", "592 - Andromada", "593 - Dodo", "594 - RC Cam", "595 - Launch", "596 - Police Car (LSPD)", "597 - Police Car (SFPD)",
"598 - Police Car (LVPD)", "599 - Police Ranger", "600 - Picador", "601 - S.W.A.T. Van", "602 - Alpha", "603 - Phoenix", "604 - Glendale", "605 - Sadler", "606 - Luggage Trailer A",
"607 - Luggage Trailer B", "608 - Stair Trailer", "609 - Boxville", "610 - Farm Plow", "611 - Utility Trailer"
};
//Textdraws(MAX_PLAYERS)
for(new i = 0;i<MAX_PLAYERS; i++)
{
new playerid = i;
Tacho1[playerid] = TextDrawCreate(622.666687, 347.040740, "usebox");
TextDrawLetterSize(Tacho1[playerid], 0.000000, 8.100207);
TextDrawTextSize(Tacho1[playerid], 463.333312, 0.000000);
TextDrawAlignment(Tacho1[playerid], 1);
TextDrawColor(Tacho1[playerid], 0);
TextDrawUseBox(Tacho1[playerid], true);
TextDrawBoxColor(Tacho1[playerid], 102);
TextDrawSetShadow(Tacho1[playerid], 0);
TextDrawSetOutline(Tacho1[playerid], 0);
TextDrawFont(Tacho1[playerid], 0);
Tacho2[playerid] = TextDrawCreate(473.000000, 354.251831, "LD_SPAC:white");
TextDrawLetterSize(Tacho2[playerid], 0.000000, 0.000000);
TextDrawTextSize(Tacho2[playerid], 142.666625, 57.244476);
TextDrawAlignment(Tacho2[playerid], 1);
TextDrawColor(Tacho2[playerid], 65535);
TextDrawSetShadow(Tacho2[playerid], 0);
TextDrawSetOutline(Tacho2[playerid], 0);
TextDrawFont(Tacho2[playerid], 4);
Tacho3[playerid] = TextDrawCreate(475.666534, 352.177795, "Typ:");
TextDrawLetterSize(Tacho3[playerid], 0.449999, 1.600000);
TextDrawAlignment(Tacho3[playerid], 1);
TextDrawColor(Tacho3[playerid], -1);
TextDrawSetShadow(Tacho3[playerid], 0);
TextDrawSetOutline(Tacho3[playerid], 1);
TextDrawBackgroundColor(Tacho3[playerid], 51);
TextDrawFont(Tacho3[playerid], 1);
TextDrawSetProportional(Tacho3[playerid], 1);
Tacho4[playerid] = TextDrawCreate(475.333160, 365.866699, "KM/H:");
TextDrawLetterSize(Tacho4[playerid], 0.324999, 1.517037);
TextDrawAlignment(Tacho4[playerid], 1);
TextDrawColor(Tacho4[playerid], -1);
TextDrawSetShadow(Tacho4[playerid], 0);
TextDrawSetOutline(Tacho4[playerid], 1);
TextDrawBackgroundColor(Tacho4[playerid], 51);
TextDrawFont(Tacho4[playerid], 1);
TextDrawSetProportional(Tacho4[playerid], 1);
Tacho5[playerid] = TextDrawCreate(474.333282, 375.407409, "Zustand:");
TextDrawLetterSize(Tacho5[playerid], 0.449999, 1.600000);
TextDrawAlignment(Tacho5[playerid], 1);
TextDrawColor(Tacho5[playerid], -1);
TextDrawSetShadow(Tacho5[playerid], 0);
TextDrawSetOutline(Tacho5[playerid], 1);
TextDrawBackgroundColor(Tacho5[playerid], 51);
TextDrawFont(Tacho5[playerid], 1);
TextDrawSetProportional(Tacho5[playerid], 1);
}
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
{
TextDrawHideForPlayer(playerid,Tacho1[playerid]);
TextDrawHideForPlayer(playerid,Tacho2[playerid]);
TextDrawHideForPlayer(playerid,Tacho3[playerid]);
TextDrawHideForPlayer(playerid,Tacho4[playerid]);
TextDrawHideForPlayer(playerid,Tacho5[playerid]);
KillTimer(SpielerTacho[playerid]);
return 1;
}
if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
{
TextDrawShowForPlayer(playerid,Tacho1[playerid]);
TextDrawShowForPlayer(playerid,Tacho2[playerid]);
TextDrawShowForPlayer(playerid,Tacho3[playerid]);
TextDrawShowForPlayer(playerid,Tacho4[playerid]);
TextDrawShowForPlayer(playerid,Tacho5[playerid]);
SpielerTacho[playerid] = SetTimerEx("UpdateTacho",UPDATE_T_TIME,true,"i",playerid);
return 1;
}
return 1;
}
//GetVehcicleSpeed
stock Float:GetVehicleSpeed(vehicleid,UseMPH = 0)
{
new Float:speed_x,Float:speed_y,Float:speed_z,Float:temp_speed;
GetVehicleVelocity(vehicleid,speed_x,speed_y,speed_z);
if(UseMPH == 0)
{
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*136.666667;
} else {
temp_speed = floatsqroot(((speed_x*speed_x)+(speed_y*speed_y))+(speed_z*speed_z))*85.4166672;
}
floatround(temp_speed,floatround_round);return temp_speed;
}
public UpdateTacho(playerid)
{
for(new i = 0;i<MAX_PLAYERS;i++)
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i))
{
new speed = floatround(GetVehicleSpeed(GetPlayerVehicleID(playerid),0));
new string[128];
format(string, 128, "KM/H: %0.f",speed);
TextDrawSetString(Tacho4[playerid],string);
format(string, 128, "%s",VehicleNames[GetPlayerVehicleID(i)-400]);
TextDrawSetString(Tacho3[playerid],string);
new Float:VHealth = GetVehicleHealth(GetPlayerVehicleID(i),VHealth);
format(string, 128,"Zustand: %0.f",VHealth);
TextDrawSetString(Tacho5[playerid],string);
}
}
return 1;
}
Kann mir einer helfen?
Du könntest auch ein Automatisches Ban System machen.
Wenn "FacingAngle" genau die gleiche wie die Pos vom Anvisiert ist = Kick.
Zeig mal deinen Public mit dem Timer bitte
Es klappt ja alles ,nur ich möchte die pos wissen, also das die player id die /at [id] eingegeben hat hinter den rücken geportet wird, SetPlayerPos(playerid,X,Y,Z); //das muss man aber noch ergänzen
public:
public attimer(playerid)
{
SetPlayerPos(playerid, Atx[playerid], Aty[playerid], Atz[playerid]);
return 1;
}
Hallo ,
Habe einen aimbottest gescriptet...
Und öhm leider wird der spieler nicht direkt hinter den rücken des anderesn spieler geportet.
//at
dcmd_at(playerid, params[])
{
new id,string[128],playername[24],idname[24];
GetPlayerName(playerid, playername, 24);
if(sscanf(params,"u",id))return SendClientMessage(playerid, 0xFFFFFFFF, "Befehl: /at [Spielername/Spielerid]");
if(!IsPlayerConnected(id))return SendClientMessage(playerid, 0xFFFFFFFFF, "Dieser Spieler ist nicht online!");
new Float:X,Float:Y,Float:Z;
GetPlayerPos(id, X, Y, Z);
if(!IsPlayerInRangeOfPoint(playerid,10.0,X,Y,Z))return SendClientMessage(playerid, 0xFFFFFFFF, "Dieser Spieler ist nicht in deiner nähe!");
SetPlayerPos(playerid,X,Y-1.0,Z);
GetPlayerName(id, idname, 24);
format(string, 128, "Du testes %s auf AIMBOT!",idname);
SendClientMessage(playerid, 0xFFFFFFFF, string);
format(string, 128, "%s testet dich auf aimbot!",playername);
SendClientMessage(id, 0xFFFFFFFF, string);
GetPlayerPos(playerid, X, Y, Z);
Atx[playerid] = X;
Aty[playerid] = Y;
Atz[playerid] = Z;
SetTimerEx("attimer",1500,false,"i",playerid);
return 1;
}
Er wird zwar daneben geportet aber nicht hinter den rücken.
wie mach ich das?
...
Wieso so Kompliziert?!
dini_IntSet(SD(playerid),"Money",dini_Int(SD(playerid),"Money")+150);//Gibt 150 dazu
dini_IntSet(SD(playerid),"Money",dini_Int(SD(playerid),"Money")-150);//Zieht 150 ab
Genau, da muss man ihm recht geben
wennschon so:
dini_IntSet(SD(playerid),"Money",dini_Int(SD(playerid),"Money"));
Aber damit kann ich ihm ja kein Geld geben/abziehen..
Was du da schreibst stimmt nicht, du hast 2 fehler drinne erstens das du m hinten hast und nen klammer fehler .....