sscanf ist wie gesagt besser, da es sonst auch wenn du "HALLO" eingibst er es als "0" erkennt.
Soweit ich weiß sagt die sscanf ganz genau obs eine Zahl ist oder nicht. und noch mehr, kannst ja bisschen mehr abfragen als nur eine Zahl.
[SAMMELTHREAD] Kleine Scripting Fragen
- Rafelder
- Unerledigt
Dein Problem konnte durch einen User gelöst werden? Bedank dich bei ihm indem du seinen Beitrag als Hilfreich markierst sowie einen Daumen oben dalässt
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!
Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
-
-
Blackace, wie schlägst du das via sscanf vor, wäre nett wenn du 1 kurzes Beispiel liefern könntest.
/edit sry war auf der Leitung
-
Mal ne Frage:
Wie kann ich eine Nachricht an einen Spieler in einer vorher gewählten Farbe senden?
SendClientMessage(giveplayerid,colorcode,stringtogiveplayerid);
Kommt aber:
tag mismatchColorcode ist ein String (new colorcode[12])
Wie soll ich es denn sonst machen?
mit defines?//edit: ein beispiel mit sscanf:
new zahl;
if(sscanf(inputtext,"d", zahl)) return SendClientMessage(playerid,farbe,"Du musst eine Zahl angeben!");du kannst auch mehrere parameter benutzen. ne Zahl und ein String, oder eine ID..
-
Nehm doch einfach SendPlayerMessageToPlayer(playerid, senderid, const message[]);
-
-
Mal ne Frage:
Wie kann ich eine Nachricht an einen Spieler in einer vorher gewählten Farbe senden?
SendClientMessage(giveplayerid,colorcode,stringtogiveplayerid);
Kommt aber:
tag mismatchColorcode ist ein String (new colorcode[12])
Wie soll ich es denn sonst machen?
ganz Oben
#define COLOR_RED 0xFF0000FFdann irgendwo
SendClientMessage(playerid, COLOR_RED, string); -
Mir Farben wärs aber schöner
Dann machs soSendPlayerMessageToPlayer(playerid,empfanger,"{FF0000} Ich bin Rot");
-
-
Der Public public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid) wird aufgerufen wenn ein spielr z.B. angeschossen wird und schaden nimmt. Jetzt kannst du darin eine abfrage erstellen. Ich zeigs dr mal anhand von deinem Beispiel!
Public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
new Float:Armour;
GetPlayerArmour(playerid, Armour);
if(Armour >= 1)// Auch möglich ist glaube ich (Armour - amount >= 1) Dann würde der schuss schon mit abgezogen!
{
//leer, es soll alles so bleiben wie SA es vor sieht!
}
else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE && GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )//die Waffen die eingesetzt werden dürfen für den 'ONEHIT'
{
SetPlayerHealth(playerid, 0)//Player ist sofort Tod!
}
return 1;
}
[size=5]untested by Lego[/size]Tya das wäre meine Idee!
Hm Wenn er runter fällt (halt ein sturz wo man 1-5 HP verliert oder so) verliert er ganzes Leben
Kann man dasirgendwie ändern ? -
du fragst einfach ab ob die waffenid gleich 54 ist
und dann schreibst du deinen Code drunter -
-
du fragst einfach ab ob die waffenid gleich 54 ist
und dann schreibst du deinen Code drunter
Wie ? -
if(weaponid == 54)
{
//mach hier etwas
} -
Kann mir grad einer sagen was dieser Operator bedeutet: +=
-
Das bedeutet das du einen wert + dazugibst
BSP:
du hast 5 Teile willst aber 3 dazu haben
das macht 5+3= +=
-
Beispiel:
new x=1;
x+=1;
ergibt 2 -> x=x+1; -> x=1+1;heißt das was vor += steht wird mit zu der Rechnung hinzugefügt
-
Super, danke ihr beiden
-
Code:
Public OnPlayerTakeDamage(playerid, issuerid, Float: amount, weaponid)
{
new Float:Armour;
GetPlayerArmour(playerid, Armour);
if(Armour >= 1)// Auch möglich ist glaube ich (Armour - amount >= 1) Dann würde der schuss schon mit abgezogen!
{
//leer, es soll alles so bleiben wie SA es vor sieht!
}
else if(GetPlayerTeam(playerid) == TEAM_RED && GetPlayerTeam(issuerid) == TEAM_BLUE && GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )//die Waffen die eingesetzt werden dürfen für den 'ONEHIT'
{
SetPlayerHealth(playerid, 0)//Player ist sofort Tod!
}
return 1;
}Wenn er runterfällt (wo man z.b 5 hp verliert), verliert er ALLES why?
if(weaponid == 54)
{
//mach hier etwas
}Habs so gelassen damit es wie beim normalem GTA SA ist.
Aber es geth nicht.. :sKann mir jemand helfen?
-
diese Abfrage wird auch IMMER wahr sein
GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )
kann nicht hinhauen -
diese Abfrage wird auch IMMER wahr sein
GetPlayerWeapon(issuerid) == 0 || 1 || 2 || 3 )
kann nicht hinhauen
Wie meinst du das=
Kannst dus evll so erklären das es ein noob versteht? :s -
Ich habe in meinem Selfmade Fun Script Lizenzen und hab bei
PLAYER_STATE_CHANGE auch meiner Meinung nach alles rein ewas rein muss .Mein Problem : Wenn ich nun zb den Autoschein habe und den Motorradschei
nicht kommt wenn ich in ein Auto einsteige Du hast kein Motorradschein .if(newstate==PLAYER_STATE_DRIVER)//Motorradschein abfrage
{
if(GetPlayerVehicleID(playerid) == 468 || 463 || 471 || 462 || 461 || 521 || 522 || 523 || 581 || 448)
{
if(GetPVarInt(playerid,"Motorradschein")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Motorradführerschein.");
}
}
}
if(newstate==PLAYER_STATE_DRIVER)//Autoschein abfrage
{
if(GetPlayerVehicleID(playerid) == 400 || 401 || 402 || 403 || 404 || 405 || 406 || 407 || 408
|| 409 || 410 || 411 || 412 || 413 || 412 || 413 || 414 || 415 || 416 || 418 || 419 || 420
|| 421 || 423 || 427 || 428 || 429 || 431 || 434 || 437 || 438 || 442 || 443 || 444 || 451
|| 455 || 456 || 457 || 458 || 459 || 466 || 467 || 470 || 474 || 475 || 477 || 482 || 483
|| 489 || 490 || 491 || 494 || 495 || 496 || 502 || 503 || 504 || 505 || 506 || 508 || 534
|| 535 || 541 || 545 || 556 || 557 || 558 || 559 || 560 || 567 || 568 || 573 || 574 || 575
|| 579 || 589 || 596 || 597 || 598 || 599 || 600 || 601 || 602 || 603 || 604)
{
if(GetPVarInt(playerid,"Autoschein")!=1)
{
RemovePlayerFromVehicle(playerid);
SendClientMessage(playerid,Grau,"Du hast keinen Autoführerschein.");
}
}
}