Du hast die Klammern vertauscht.
Schreibe es so:
amount = PlayerInfo[SelectedOne[playerid]][pGeld];
Beiträge von Jeffry
-
-
Sind die jeweiligen Business außerhalb des Interiors an unterschiedlichen Orten, sprich einmal ein BurgerShot in LV, dann einer in SF, etc, und nutzen eben nur das gleiche Interior?
Betrittst du das Interior über die gelben Pfeile von GTA, oder hast du eigene Pickups gemacht? -
max1907:
Lade dir die aktuellen Includes, bzw. gleich den neuen 0.3z Server herunter, du verwendest wahrscheinlich noch eine 0.2 Version, da gibt es diese 3D Labels noch nicht. -
Mit der Funktion habe ich noch nicht gearbeitet, da kann ich dir nicht sagen ob die, vor allem in der Class Selection, funktioniert.
An den Float Tags kann es eigentlich nicht liegen, das macht nichts aus. Aber kannst sie auch weg lassen, das ist relativ egal. -
Ja gut, aber wenn du zwei Business hast, die die gleiche Position haben, wie willst du dann herausfinden, an welchem Business er ist?
Welches ist das Unterschiedungskriterium?Weißt du was ich meine?
Wenn ich zwei Häuser an der gleichen Position habe, dann kann ich nicht mit der Position prüfen an welchem ich bin, da ich an beiden bin. -
Deine PlayerTextDrawTextSize haben einen negativen Y Wert. Ändere den mal jeweils zu 10 oder 20, je nach dem wie groß die Textdraws sind. Kannst ja ausprobieren.
-
Wenn es nach einer Sekunde stoppen soll 1000, nach zwei 2000, nach drei 3000, usw... Natürlich geht auch jede Zahl dazwischen. Wie lange du es laufen lassen willst bleibt dir überlassen, kannst es ja ausprobieren wie lange es passend ist.
-
Per Timer aufrufen:
PlayerPlaySound(playerid, 0, 0.0, 0.0, 0.0);Dann sollte Ruhe sein.
-
Die Objekte werden erst angezeigt wenn du deinen Spieler minimal bewegst.
Du könntest ja für die Class Selection einen zweiten Streamer nutzen, zum Beispiel einen von hier: http://forum.sa-mp.com/showthread.php?t=256447Dann würden die Objekte von dem Streamer nur angezeigt, wenn du auch dort bist, würde ja auch seinen Zweck erfüllen, außer dort ist es genau so, dass man sich bewegen muss.
-
Ich habe das bei mir mal nachgestellt, bei mir funktioniert das einwandfrei.
Kannst du mal die beiden Includes hier hochladen als Anhang, dann würde ich es mal selbst kompilieren.Kannst es mir auch in PN als Anhang schicken wenn du willst.
-
Schreibe es so, dann sollte die Meldung weg sein:
Spoiler anzeigen public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid)
{
if(issuerid != INVALID_PLAYER_ID)
{
new string[126];
if(HitSound[issuerid] == 1)
{
PlayerPlaySound(issuerid,17802,0.0,0.0,0.0);
}
format(string, sizeof(string), "%f", amount);
new sendername[MAX_PLAYER_NAME],giveplayer[MAX_PLAYER_NAME];
GetPlayerName(playerid, giveplayer, sizeof(giveplayer)); //Er Verliert HP
GetPlayerName(issuerid, sendername, sizeof(sendername)); // Er hat Geschossen
if(NoDmTimer[playerid] > 0)
{
new PunishTime, PunsihRestTime;
if(IsAHitman(issuerid) && GoChase[issuerid] == playerid)
{
PunishTime = 60;
}
else
{
PunishTime = 15;
}
PunsihRestTime = PunishTime-NoDmTimer[playerid];
if(PunsihRestTime > 0)
{
format(string, sizeof(string), "Der NO-DM schutz deines Opfers beginnt in %d Sekunden", PunsihRestTime);
SendClientMessage(issuerid,COLOR_GRAD2, string);
}
else
{
format(string, sizeof(string), "%s hat auf dich in einer NO-DM Zone geschossen !", sendername);
SendClientMessage(playerid,COLOR_GRAD2, string);
}
}
if(SpawnKillAktiv[playerid] == 1 && weaponid != 54 && weaponid != 51)
{
SendClientMessage(issuerid,COLOR_YELLOW, "[Anti Spawnkill] Unter lass das Dm auf Usern mit Spawnkill schutz !");
format(string, sizeof(string), "[Anti Spawnkill] %s hat dich Angeschossen.", sendername);
SendClientMessage(playerid,COLOR_YELLOW, string);
}
if(SpawnKillAktiv[issuerid] == 1)
{
SpawnSkillSchutz(issuerid);
}
if(weaponid == 23 && TazerCan[issuerid] == 1)
{
if(PlayerInfo[issuerid][pMember] == 7 && OnDuty[issuerid] == 1 || PlayerInfo[playerid][pAdmin] >= 3 || PlayerInfo[issuerid][pMember] == 14 && OnDuty[issuerid] == 1 || PlayerInfo[issuerid][pMember] == 16 && OnDuty[issuerid] == 1 || PlayerInfo[issuerid][pMember] == 13 && OnDuty[issuerid] == 1)
{
if(IsPlayerInAnyVehicle(issuerid))
{
return 1;
}
new suspect = playerid;
if(IsPlayerConnected(suspect))
{
if(PlayerCuffed[suspect] > 0)
{
SendClientMessage(issuerid, COLOR_ERRORTEXT, " Spieler ist schon getazert!");
return 1;
}
if(IsPlayerInAnyVehicle(suspect))
{
SendClientMessage(issuerid, COLOR_ERRORTEXT, " Ziel ist in einem Auto, es muss zuerst aussteigen!");
return 1;
}
GivePlayerWeapons(issuerid, PlayerInfo[issuerid][pGun2], PlayerInfo[issuerid][pAmmo2]);
TazerCan[issuerid] = 0;
format(string, sizeof(string), "* Du wurdest von %s elektrisiesrt für 30 sekunden.", sendername);
SendClientMessage(suspect, COLOR_LIGHTBLUE, string);
format(string, sizeof(string), "* Du elektrisierst %s für 30 sekunden.", giveplayer);
SendClientMessage(issuerid, COLOR_LIGHTBLUE, string);
if(Maske[suspect] == 1)
{
format(string, sizeof(string), "* %s schießt mit dem Tazer auf einen Unbekannten, und elektrisiert ihn.", sendername);
ProxDetector(60.0, issuerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
else
{
format(string, sizeof(string), "* %s schießt mit dem Tazer auf %s, und elektrisiert ihn.", sendername ,giveplayer);
ProxDetector(60.0, issuerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
}
GameTextForPlayer(suspect, "~r~Tazed", 5000, 3);
ApplyAnimation(suspect, "CRACK", "crckdeth2", 4.0, 1, 0, 0, 0, 0); // Dieing of Crack
PlayerCuffed[suspect] = 1;
PlayerCuffedTime[suspect] = 30;
}
}
}
}
return 1;
}
-
Naja, wie gesagt, an der Änderung die ich gemacht habe kann es nicht liegen.
Poste dann mal dein OnPlayerTakeDamage, das mit dem Tacho schauen wir uns danach an. -
Das ganze Zeugs brauchst du alles nicht, mache das weg.
Spoiler anzeigen #include <a_samp>Spoiler anzeigen public OnFilterScriptInit()
{
//AmmunationSpoiler anzeigen //Objects////////////////////////////////////////////////////////////////////////////////////////////////////////
new tmpobjid;
tmpobjid = CreateObject(18981,-308.268,828.508,237.062,0.000,90.000,90.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet1", 0);
tmpobjid = CreateObject(19377,-300.590,816.092,237.562,0.000,0.000,90.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(19377,-295.720,820.992,237.562,0.000,0.000,180.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(19377,-305.320,821.002,237.562,0.000,0.000,180.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(19377,-295.720,830.622,237.562,0.000,0.000,180.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(19377,-305.320,830.612,237.562,0.000,0.000,180.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(19377,-300.560,830.612,237.562,0.000,0.000,270.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14754, "sfhsb3", "ah_skrtmorebroon", 0);
tmpobjid = CreateObject(18981,-308.268,828.508,243.262,0.000,90.000,90.000,300.000);
SetObjectMaterial(tmpobjid, 0, 14710, "vgshm3int2", "HSV_3carpet1", 0);
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
tmpobjid = CreateObject(1533,-295.831,827.955,237.562,0.000,0.000,270.000,300.000);
return 1;
}EDIT:
@[LnD]JustMe.77: Gerne
-
Naja, eben nicht so etwas großes.
Ich weiß ja nicht was du für deinen Server alles brauchst und schon hast. Generell fängt man mal mit einem Admin System oder einem Stats System an, und dann eben kleine Features die du haben willst, je nach dem was das sein soll.Du kannst dir ja mal alles aufschreiben und dann grob durchplanen, dann erkennst du den Aufwand pro System, und kannst dann ja mit den dir am leichtesten erscheinenden Systemen anfangen. Leicht ist immer subjektiv, das muss jeder selbst entscheiden.
-
Funktioniert es, wenn du einfach direkt
PlayerPlaySound(playerid, soundid, X, Y, Z);
nutzt?Dein stock gibt ja so gesehen keinen Sinn mehr, bis auf die Abfrage ob der Spieler eingeloggt ist.
Und du bist dir sicher, dass beide Töne wirklich unterschiedlich sind? Hast du es mal mit anderen IDs versucht? -
Ja.
Ich würde einen Filterscript empfehlen, den kannst du bei Bedarf neu laden und neue Maps einfügen, ohne den Server neu zu starten.
So habe ich es bei mir.Saphire: Hä? Und die prints, kommen die sofort?
-
new string2[32];//Sollte völlig reichen
format(string2,sizeof string2,"Fahrzeug: %s",PlayerVehicle[GetVehicleModel(GetPlayerVehicleID(playerid))-400]);
PlayerTextDrawSetString(playerid, Textdraw6[playerid], string2);Oder einfach
new string2[32];
löschen. -
Was meinst du? In dem Code ist kein Textdraw.
-
http://wiki.sa-mp.com/wiki/Format
new string[145];
format(string, sizeof(string), "[DM] %s (ID: %d) hat die DM Arena betreten.", SpielerName(playerid), playerid);
SendClientMessageToAll(0xFF0000FF, string);Ganz unten im Gamemode:
stock SpielerName(playerid)
{
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, sizeof(name));
return name;
}EDIT:
H4rd_B4se: Die maximale Länge einer SendClientMessage sind 144 + 1 Zeichen (EOS). Wird hier keine Probleme machen, aber bringen wir es ihm gleich richtig bei.
-
Ist doch schon viel besser.
if(engine == VEHICLE_PARAMS_OFF)
zu:
if(engine != VEHICLE_PARAMS_ON)Das gibt manchmal -1 zurück, nutze daher die Negation von VEHICLE_PARAMS_ON, dann passt es.