Du kannst natürlich auch bei "OnVehicleDeath" die Position abfragen und den Wagen beim respawnen wieder dahin setzen mit 250HP ( ab 249 HP brennen Fahrzeuge [ Flugzeuge bin ich mir gerade nicht sicher ] )
MfG
Du kannst natürlich auch bei "OnVehicleDeath" die Position abfragen und den Wagen beim respawnen wieder dahin setzen mit 250HP ( ab 249 HP brennen Fahrzeuge [ Flugzeuge bin ich mir gerade nicht sicher ] )
MfG
Hallo Leute,
ich habe aufgrund von Azure's Include also das Tuning System bzw die erleichterung habe ich noch vom ähnlichen Prinzip eine eigene geschrieben.
Hier ist der Pastebin: http://pastebin.com/RpGis4pP
[tabmenu]
[tab='Vorhande Funktionen']
[subtab='Befehle']
stock AddWheels(vehicleid,rad[])
stock AddNitro(vehicleid,nos[])
stock AddAuspuff(vehicleid,typ[])
stock AddHydraulik(vehicleid)
stock AddSpoiler(vehicleid,spoiler[])
[subtab='Einzelheiten']
Räder:
shadow
mega
rimshine
wires
classic
twist
cutter
switch
grove
import
dollar
trance
atomic
ahab
virtual
access
Nitro:
2x,5x,10x
Auspuff: ( Bisher nur die Standart d.h. nicht für besondere tuning's wie Charmin etc )
upswept
twin
large
medium
small
Spoiler: ( Bisher nur alle für X-Flow&Alien [ Also Sultan etc ] )
x-flow
alien
[tab='Vorgesehene Updates']
- Alle Spoiler einbauen die existieren
- Alle Auspuffe einbauen
- Alle Front sowie Rear Bumper einbauen ( Stoßstangen )
- Alle Sideskirts ( Seitenteile ) einbauen
- Alle Lampen
- Alle Hoods & Roof Sachen einbauen
[tab='Beispiel Verwendung']
[subtab='Räder']
dcmd_tunewheels(playerid,params[])
{
new rad[8];
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_WHITE,"Du bist in keinem Fahrzeug");
if(sscanf(params,"s",rad)) {
SendClientMessage(playerid,COLOR_WHITE,"Räder aufgelistet .... ");
return SendClientMessage(playerid,COLOR_WHITE,"Befehl: /tunewheels [Rad]"); }
AddWheels(GetPlayerVehicleID(playerid),rad);
}
[/tabmenu]
Ich hoffe es hilft euch weiter.
Fragen oder Probleme einfach im Thread schreiben oder über eine Private Nachricht.
Mit freundlichen Grüßen,
SpySpy
Habe es geschafft dank Dralox. Danke für deine Hilfe und die kleine Erklärung.
MfG
edit: Text neu geschrieben im Post
Danke DraloX so kann ich mir damit was vorstellen
Du könntest jeweils immer 3 Zahlen benutzen.
Also so:
new string[100];
format(string,sizeof(string),"%i.%i.%i",Zahl1,zahl2,zahl3);
Dadrüber habe ich auch bereits nachgedacht aber ich weiß nicht was man berechnen muss bzw nicht mit welcher Formel um diese Zahlen rauszubekommen.
Eine kleine Erklärung wäre mir lieb da ich mit Valstr mit garnichts vorstellen kann grade.
Hallo,
erstmal Sorry das der Titel nicht eindeutig ist aber mir ist nicht bekannt wie man dies sonst nennen sollte. Ich meine das Geld so angezeigt wird:
Halt ab 1000 mit einem Punkt zwischen den Berreich. - Mir reicht es auch aus wenn mir gesagt wird mit welchen Befehlen gearbeitet werden muss und was ungefähr gemacht werden muss.
Danke im vorraus !
MfG
nameplayerid[MAX_PLAYER_NAME], namepID[MAX_PLAYER_NAME]
Wenn ich mich jetzt nicht Irre ... dann geht die Namens anzeige
Hier ist ein kleiner Fehler :
public OnPlayerDisconnect(playerid
{
pCar[playerid] = INVALID_VEHICLE_ID; // Das muss eine Zeile runter
DestroyVehicle(pCar[playerid]);
return 1;
}
Ansonsten wird das pCar[playerid] nicht gelöscht^^ also das damit verlinkte Fahrzeug
Der Thread passt ja zu meiner Frage & ist nicht allzu alt daher frage ich mal: Wie kriegt man die Geld anzeige so hin?
MfG
Ich gebe es zu, ich habe mir 3 Systeme von GRP - angeschaut und nach Gescriptet, verhaftet mich doch
Bin ein Erfolgreicher Ideenklauer, und Ideenübersetzer
Gangfight System von [My]Kevin, ebenso das Fraktionsautohaus. Das Autohaus ist DT_Car oder DynamicCar
Also bitte darauf achten das du nicht bekanntere Sachen für deine ausgibst.
So sollte es gehen:
public CheckGas()
{
new string[256];
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i))
{
if(GetPlayerState(i) == PLAYER_STATE_DRIVER)
{
new vehicle = GetPlayerVehicleID(i);
if(Gas[vehicle] >= 1)
{
if(IsAPlane(vehicle) || IsABoat(vehicle)) { }
else {
if(Gas[vehicle] <= 10) { PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0); }
if(gGas[i] == 1) {
format(string, sizeof(string), "",Gas[vehicle]);
GameTextForPlayer(i,string,15500,3); }
Gas[vehicle]--;
}
}
else
{
NoFuel[i] = 1;
TogglePlayerControllable(i, 0);
GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~Kein Treibstoff im Fahrzeug~n~Benutze /exit",1500,3);
}
}
}
}
return 1;
}
Hoffe es klappt so ist ungetestet.
MfG
[pwn='Ungetestet']
// Zu deinen New's
new Orten[MAX_PLAYERS],ortentimer;
// Zu Gamemodeinit
SetTimer("Orte",2000,1); // das wären alle 2 sekunden ( optional umstellen )
//======== ORTEN ==========//
if(strcmp(cmd, "/orten", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(!IsACop(playerid))
{
SendClientMessage(playerid, COLOR_GREY, "Du bist kein Polizist!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(Orten[playerid] == 1) {
KillTimer(ortentimer);
SendClientMessage(playerid,COLOR_GREY,"Du hast das Orten beendet.");
return 1;
}
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "Benutzung: /orten [Spieler ID]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
new Float:X,Float:Y,Float:Z;
GetPlayerPos(giveplayerid, X,Y,Z);
SetPlayerCheckpoint(playerid, X,Y,Z, 6);
Orten[playerid] = giveplayerid;
}
}
else
{
SendClientMessage(playerid, COLOR_GREY, "Falsche ID!");
}
}
return 1;
}
forward Orte();
public Orte()
{
for(new i=0;i<GetMaxPlayers();i++)
{
if(Orten[i] == 1) {
#define giveplayerid Orten[i]
new Float:X,Float:Y,Float:Z;
GetPlayerPos(giveplayerid, X,Y,Z);
SetPlayerCheckpoint(i, X,Y,Z, 6);
#undef giveplayerid
}
}
return 1;
}
[/pwn]
Alles ungetestet
Ich hoffe es funktioniert dennoch.
Mfg
Frage zum Decrypton: Was ist das überhaupt ? Vielleicht bin ich ganz blöd aber mich interessiert grade was das ist. Ich hoffe diese Frage ist genehmigt. Ansonsten bitte mich Informieren dann lösche ich den Post.
Schöne Seite geworden und ich hoffe die Seite wird gut an Tutorials dienen die gefragt sind. 10/10 denn das Forum ist in jedem Fall 1A.
Function IsACopCar(carid)
{
for(new fc;fc<sizeof(FactionCars);fc++){
if(FactionCars[fc][fFaction][0] == 1) // Auf Cop Fraktion anpassen
{
return 1;
}
}
return 0;
}
Sollte so gehn
Hallo,
ich wollte euch mal fragen - sofern das jemand beantworten kann - ob und wie man eine MySQL Datenbank durchlaufen kann. Ich will alle Spieler durchlaufen lassen um abfragen an den Account zu stellen. Aber wie mache ich eine "schleife" für Offline Spieler im MySQL System ? Zudem was braucht ihr damit mir geholfen werden kann ? [ Wg verschiedenen MySQL Systemen ]
MfG
[table='4']
[*]Parameter
[*]Name
[*]Erklärung
[*]Beispiel
[*]i, d
[*]Integer
[*]Eine einfache Zahl.
[*]-314, -1, 0, 1, 2, 5, 8765345
[*]I, D
[*]Integer (Optional)
[*]Eine einfache Zahl.
[*]-314, -1, 0, 1, 2, 5, 8765345
[*]c
[*]Character
[*]Ein einzelner Character bzw Bustabe.
[*]a, o, *
[*]C
[*]Character (Optional)
[*]Ein einzelner Character bzw Bustabe.
[*]a, o, *
[*]l
[*]Logical
[*]Ein Logischer wert wie true (wahr) oder false (falsch).
[*]true, false
[*]L
[*]Logical (Optional)
[*]Ein Logischer wert wie true (wahr) oder false (falsch).
[*]true, false
[*]b
[*]Binary
[*]Eine Binärzahl.
[*]01001, 0b1100
[*]B
[*]Binary (Optional)
[*]Eine Binärzahl.
[*]01001, 0b1100
[*]h, x
[*]Hex
[*]Eine Hexadezimalzahl.
[*]1A, 0x23
[*]H
[*]Hex (Optional)
[*]Eine Hexadezimalzahl.
[*]1A, 0x23
[*]o
[*]Octal
[*]Ein Oktalwert.
[*]045 12
[*]O
[*]Octal (Optional)
[*]Ein Oktalwert.
[*]045 12
[*]n
[*]Number
[*]Eine einfache Zahl (Sowohl integer, als auch Binär,Hexadezimal, etc. Wert).
[*]42, 0b010, 0xAC, 045
[*]N
[*]Number (Optional)
[*]Eine einfache Zahl (Sowohl integer, als auch Binär,Hexadezimal, etc. Wert).
[*]42, 0b010, 0xAC, 045
[*]f
[*]Float
[*]Eine Gleitkommazahl.
[*]0.7, -99.5
[*]F
[*]Float (Optional)
[*]Eine Gleitkommazahl.
[*]0.7, -99.5
[*]g
[*]IEEE Float
[*]Eine IEEE Gleitkommazahl.
[*]0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
[*]G
[*]IEEE Float (Optional)
[*]Eine IEEE Gleitkommazahl.
[*]0.7, -99.5, INFINITY, -INFINITY, NAN, NAN_E
[*]u
[*]User name/id (bots und spieler)
[*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich.
[*]Maddin, Hans, Bot1, Bot2, 0, 1
[*]U
[*]User name/id (bots und spieler) (Optional)
[*]Ein Spieler-/Botname oder eine player-/botid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich.
[*]Maddin, Hans, Bot1, Bot2, 0, 1
[*]q
[*]Bot name/id
[*]Ein Botname oder eine botid. Also sowohl z.b /kick Beispielbot als auch /kick 0 sind möglich. Hier werden allerdings nur Bots beachtet, keine Spieler!
[*]Bot1, Bot2, 0, 1
[*]Q
[*]Bot name/id (Optional)
[*]Ein Botname oder eine botid. Also sowohl z.b /kick Beispielbot als auch /kick 0 sind möglich. Hier werden allerdings nur Bots beachtet, keine Spieler!
[*]Bot1, Bot2, 0, 1
[*]r
[*]Player name/id
[*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich. Hier werden allerdings nur Spieler beachtet, keine Bots!
[*]Maddin, Hans, 0, 1
[*]R
[*]Player name/id (Optional)
[*]Ein Spielername oder eine playerid. Also sowohl z.b /kick Maddin als auch /kick 0 sind möglich. Hier werden allerdings nur Spieler beachtet, keine Bots!
[*]Maddin, Hans, 0, 1
[*]{, }
[*]Quit section
[*]{ } Wird verwendet wenn in einem parameter zwar bestimmte zeichen vohanden sind, diese aber nicht weiter verarbeitet werden solle.
[*]{iis[128]}
[*]P
[*]Trennzeichen
[*]Ein angegebenen trennzeichen, an dem sscanf erkennt was die einzelnen werte voneinander trennt. Standartmäßigm ist es das Leerzeichen.
[*]P<|>iiii Ersetzt ungültige Trennzeichen mit einem "|"
[*]p
[*]Trennzeichen
[*]Ein angegebenen trennzeichen, an dem sscanf erkennt was die einzelnen werte voneinander trennt. Standartmäßigm ist es das Leerzeichen.
[*]p<|>iiii Ersetzt Trennzeichen mit einem "|"
[*]Z(string)[länge]
[*]Ungültiger Optionaler String
[*]Ein Ungültiger Optionaler String.
[*]-
[*]z(string)[länge]
[*]Verworfener Optionaler String
[*]Ein Verworfener Optionaler String.
[*]-
[*](string)[länge]
[*]Optionaler String
[*]Eine zeichenkette (string) mit angegebener länge. Hierbei wird die länge des strings angegeben, an den der wert übergeben werden soll.
[*]-
[*]s[länge]
[*]String
[*]Eine zeichenkette (string) mit angegebener länge. Hierbei wird die länge des strings angegeben, an den der wert übergeben werden soll.
[*]-
[*]A(default)[länge]
[*]Optionales Array des Angegebenen types
[*]Ein Optionales Array des Angegebenen types.
[*]-
[*]a[länge]
[*]Array des Angegebenen types
[*]Ein Array des Angegebenen types.
[*]-
[*]e
[*]Enum
[*]Ein Parameter, der verwendet werden kann um alle werte die sich zwischen den beiden < > befinden an ein Enum weiter zu geben.
[*]-
[*]E(default)
[*]Enum (Optional)
[*]Ein Parameter, der verwendet werden kann um alle werte die sich zwischen den beiden < > befinden an ein Enum weiter zu geben.
[*]-
[*]'string'
[*]Suchbegriff
[*]Ein Begriff nachdem im angegebenen Parameter gesucht werden soll
[*]-
[*]%
[*]Deprecated optional specifier prefix
[*]Ganz ehrlich, ich habe keine ahnung xD Wenns jemand weiss PN an mich und ich trag es nach.
[*]-
[/table]
Maddin's Tabelle nochmal ordentlich gemacht.
Super Tutorial maddin
format(rangname, sizeof(rangname), "lspdrangname%d", GetPVarInt(playerid, "Rank")); // Hier deine Rank Definition einsetzen
format(text,sizeof(text),"%s %s: %s",rangname, SpielerName(playerid),text);
Sollte so funktionieren... ( ungetestet )
Wenn es nur um die Sniper geht sollte es so funktionieren:
public OnPlayerGiveDamage(playerid, damagedid, Float: amount, weaponid)
{
if(weaponid == 34)
{
SetPlayerHealth(damagedid, 0);
}
return 1;
}
Damit ginge es dann aber auch überall - nicht nur am Kopf.
sscanf war nie dazu gedacht es in CMDs zu benutzen, eigentlich splitet es nur strings in die Einzelteile auf.
Damit wäre die frage eigentlich auch geklärt^^
Okay gut zu wissen. Danke BlackAce das wenigstens du meine Frage beantwortet hast.