Die bessere Methode kenne Ich grad zwar nicht aber, es ist auch mit TexrDraw's möglich.
Es gibt ein Tool womit du Bilder in TextDraw's bzw. PAWN Code konvertieren kannst.
Beiträge von Levis_Escobar
-
-
Es ist nicht gestattet EPVP Benutzerkonten zu verkaufen / kaufen.
#Vote4Close. -
Wie wäre es, wenn Du auch nen Float zurück gibst?
new Float:vhp, string[128];
GetVehicleHealth(vd, vhp);
vhp = vhp-250; vhp = vhp/10; VehicleHP = vhp/75; vhp = vhp*100;
new vvhp = floatround(vhp, floatround_floor);
if(vvhp < 0){ = 0;}
if(vvhp >= 100) format(string, sizeof(string), "~w~Zustand: ~g~%f", vvhp);
else if(vvhp <= 50 && VHP > 30) format(string, sizeof(string), "~w~Zustand: ~y~%f", vvhp);
else if(vvhp <= 29) format(string, sizeof(), "~w~Zustand: ~r~%f", vvhp);
Schau dir den Code bitte mal an, ich habe es Prozentweise gerechnet sprich, Ich brauche kein Float zurückgeben.
Falls aber jemand ein Zustandanzeige hat, was funktioniert würde Ich gerne die Berechnung anschauen, weis nicht was genau falsch ist./* Problem besteht weiterhin */
-
Ich habe ein Problem mit der Anzeige meines Fahrzeugzustand's.
Wenn Ich ein Unfall mache, verschwindet manchmal die Anzeige, woran kann es liegen?
Die Berechnung sollte normalerweiße korrekt sein, da ein Fahrzeug schon mit 250 anfängt zu brennen.new Float:vhp, string[128];
GetVehicleHealth(vd, vhp);
vhp = vhp-250; vhp = vhp/10; VehicleHP = vhp/75; vhp = vhp*100;
new vvhp = floatround(vhp, floatround_floor);
if(vvhp < 0){ = 0;}
if(vvhp >= 100) format(string, sizeof(string), "~w~Zustand: ~g~%d", vvhp);
else if(vvhp <= 50 && VHP > 30) format(string, sizeof(string), "~w~Zustand: ~y~%d", vvhp);
else if(vvhp <= 29) format(string, sizeof(), "~w~Zustand: ~r~%d", vvhp); -
Habe den Code etwas erweitert bzw. neu geschrieben
public OnPlayerStateChange(playerid, newstate, oldstate)
{
if(newstate == PLAYER_STATE_DRIVER)
{
/* Führerschein */
new vid = GetPlayerVehicleID(playerid);
new vehicleid = GetVehicleModel(vid);
if(vehicleid == 410 || vehicleid == 410 || vehicleid == 419 || vehicleid == 436 || vehicleid == 439 || vehicleid == 474 || vehicleid == 491 || vehicleid == 496 || vehicleid == 517 || vehicleid == 518 || vehicleid == 526 || vehicleid == 527 || vehicleid == 533 || vehicleid == 545 || vehicleid == 549 || vehicleid == 580 || vehicleid == 589 || vehicleid == 600 || vehicleid == 602 || vehicleid == 400 || vehicleid == 599 ||
vehicleid == 404 || vehicleid == 442 || vehicleid == 458 || vehicleid == 479 || vehicleid == 489 || vehicleid == 505 || vehicleid == 579 || vehicleid == 405 || vehicleid == 409 || vehicleid == 421 || vehicleid == 426 || vehicleid == 445 || vehicleid == 466 || vehicleid == 467 || vehicleid == 492 || vehicleid == 507 || vehicleid == 516 || vehicleid == 529 || vehicleid == 540 || vehicleid == 546 || vehicleid == 601 ||
vehicleid == 547 || vehicleid == 550 || vehicleid == 551 || vehicleid == 566 || vehicleid == 585 || vehicleid == 587 || vehicleid == 402 || vehicleid == 475 || vehicleid == 542 || vehicleid == 603 || vehicleid == 558 || vehicleid == 559 || vehicleid == 560 || vehicleid == 561 || vehicleid == 562 || vehicleid == 565 || vehicleid == 441 || vehicleid == 415 || vehicleid == 429 || vehicleid == 434 ||
vehicleid == 451 || vehicleid == 477 || vehicleid == 480 || vehicleid == 480 || vehicleid == 494 || vehicleid == 502 || vehicleid == 503 || vehicleid == 506 || vehicleid == 541 || vehicleid == 555 || vehicleid == 413 || vehicleid == 418 || vehicleid == 422 || vehicleid == 440 || vehicleid == 459 || vehicleid == 478 || vehicleid == 482 || vehicleid == 530 || vehicleid == 543 || vehicleid == 554 ||
vehicleid == 572 || vehicleid == 582 || vehicleid == 583 || vehicleid == 605 || vehicleid == 412 || vehicleid == 534 || vehicleid == 535 || vehicleid == 536 || vehicleid == 567 || vehicleid == 575 || vehicleid == 576 || vehicleid == 424 || vehicleid == 444 || vehicleid == 457 || vehicleid == 471 || vehicleid == 483 || vehicleid == 495 || vehicleid == 500 || vehicleid == 504 || vehicleid == 508 ||
vehicleid == 539 || vehicleid == 556 || vehicleid == 557 || vehicleid == 568 || vehicleid == 571 || vehicleid == 408 || vehicleid == 420 || vehicleid == 431 || vehicleid == 437 || vehicleid == 438 || vehicleid == 432 || vehicleid == 433 || vehicleid == 470 || vehicleid == 490 || vehicleid == 523 || vehicleid == 528 || vehicleid == 544 || vehicleid == 596 || vehicleid == 597 || vehicleid == 598)
{
}
/* Bikeschein */
if(vehicleid == 448 || vehicleid == 461 || vehicleid == 462 || vehicleid == 463 || vehicleid == 468 || vehicleid == 521 || vehicleid == 522 || vehicleid == 581 || vehicleid == 586)
{
}
/* Flugschein */
if(vehicleid == 417 || vehicleid == 425 || vehicleid == 447 || vehicleid == 460 || vehicleid == 469 || vehicleid == 476 || vehicleid == 487 || vehicleid == 488 || vehicleid == 497 || vehicleid == 511 || vehicleid == 512 || vehicleid == 513 || vehicleid == 519 || vehicleid == 520 || vehicleid == 548 || vehicleid == 553 || vehicleid == 563 || vehicleid == 577 || vehicleid == 592 || vehicleid == 593)
{}
/* Bootschein */
if(vehicleid == 430 || vehicleid == 446 || vehicleid == 452 || vehicleid == 453 || vehicleid == 454 || vehicleid == 472 || vehicleid == 473 || vehicleid == 484 || vehicleid == 493 || vehicleid == 595)
{
}
/* Lkwschein */
if(vehicleid == 403 || vehicleid == 406 || vehicleid == 414 || vehicleid == 423 || vehicleid == 443 || vehicleid == 455 || vehicleid == 456 || vehicleid == 486 || vehicleid == 498 || vehicleid == 499 || vehicleid == 514 || vehicleid == 515 || vehicleid == 524 || vehicleid == 531 || vehicleid == 532 || vehicleid == 573 || vehicleid == 578 || vehicleid == 588 || vehicleid == 609)
{
}
}
return 1;
}
/ Fehler behoben. -
So etwas gibt es schon^^
Klick
-
Ich wusste nicht wo es rein kommt und da es vielen nützlich sein kann,
bitte Ich einen der Teammitglieder den Thread in den richtigen Bereich zu verschieben.Ich habe mir etwas Zeit genommen und alle ID's der Fahrzeuge nach der Kategorie aufgeschrieben.
Kann vielen nützlich sein, die ein Scheinsystem scripten wollen.Autos
vehicleid > 408 && vehicleid < 417 || vehicleid > 417 && vehicleid < 425 || vehicleid > 425 && vehicleid < 430 || vehicleid == 431 ||
vehicleid > 432 && vehicleid < 443 || vehicleid > 443 && vehicleid < 445 || vehicleid == 451 || vehicleid > 455 && vehicleid < 460 ||
vehicleid > 465 && vehicleid < 468 || vehicleid > 469 && vehicleid < 471 || vehicleid > 473 && vehicleid < 476 || vehicleid > 476 && vehicleid < 481 ||
vehicleid > 481 && vehicleid < 484 || vehicleid > 484 && vehicleid < 487 || vehicleid > 488 && vehicleid < 493 || vehicleid > 493 && vehicleid < 493 ||
vehicleid > 493 && vehicleid < 497 || vehicleid > 497 && vehicleid < 509 || vehicleid > 515 && vehicleid < 519 || vehicleid > 524 && vehicleid < 537 ||
vehicleid > 539 && vehicleid < 548 || vehicleid > 548 && vehicleid < 553 || vehicleid > 553 && vehicleid < 563 || vehicleid > 564 && vehicleid < 573 ||
vehicleid > 573 && < 577 || vehicleid > 578 && vehicleid < 586 || vehicleid == 586 || vehicleid > 595 && vehicleid < 611 || vehicleid > 399 && vehicleid < 403 ||
vehicleid > 303 && vehicleid < 406
Bikes
vehicleid == 448 || vehicleid > 460 && vehicleid < 464 || vehicleid == 468 || vehicleid == 471 ||
vehicleid < 521 && vehicleid < 524 || vehicleid == 581 || vehicleid == 586
Flugzeuge / Helikopter's
vehicleid == 417 || vehicleid == 425 || vehicleid == 447 || vehicleid == 460 || vehicleid == 469 ||
vehicleid == 476 || vehicleid == 487 || vehicleid == 488 || vehicleid == 497 || vehicleid == 511 ||
vehicleid == 511 || vehicleid == 512 || vehicleid == 513 || vehicleid == 519 || vehicleid == 520 ||
vehicleid == 548 || vehicleid == 553 || vehicleid == 563 || vehicleid == 577 || vehicleid == 592 ||
vehicleid == 593
Boote
vehicleid == 430 || vehicleid == 446 || vehicleid == 452 || vehicleid == 453 || vehicleid == 454 ||
vehicleid == 472 || vehicleid == 473 || vehicleid == 484 || vehicleid == 493 || vehicleid == 595 ||
vehicleid == 514 || vehicleid == 515 || vehicleid == 573
Lkw's
vehicleid == 403 || vehicleid == 443 || vehicleid == 455 || vehicleid == 573 ||
vehicleid == 578 -
Sorry, übersehen
ocmd:f(playerid,params[])
{
if(sscanf(params,"s",stringbert2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /f [Text]");
if(klasse[playerid]==1) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {FF24AF}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==2) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {00AD68}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==3) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {FFFF00}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==4) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {CCB596}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==5) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {0082FF}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
return 1;
} -
Versuch es mal so
ocmd:f(playerid,params[])
{
if(sscanf(params,"s",stringbert2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /f [Text]");
if(!IsPlayerConnected(i))continue;
if(klasse[playerid]!=klasse[i])continue;
if(klasse[playerid]==1) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {FF24AF}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==2) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {00AD68}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==3) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {FFFF00}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==4) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {CCB596}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
if(klasse[playerid]==5) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {0082FF}%s:{FFFFFF} %s ))",SpielerName(playerid),stringbert2); }
SendClientMessageToAll(PINK,stringbert);
return 1;
} -
Sollte funktionieren
ocmd:f(playerid,params[])
{
if(sscanf(params,"s",stringbert2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /f [Text]");
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i))continue;
if(klasse[playerid]!=klasse[i])continue;
if(klasse[playerid]==1) { format(stringbert,sizeof(stringbert),"{FFFFFF}(( Team Chat {FF1400}%s{FFFFFF}: %s ))",SpielerName(playerid),stringbert2); }
SendClientMessage(i,PINK,stringbert);
}
return 1;
} -
Ist viel besser, nun ist das Problem, falls jemand es doch geschafft hat in das Fahrzeug einzusteigen ist das Fahrzeug für immer abgeschlossen und keiner kommt rein.
-
ocmd:f(playerid,params[])
{
if(sscanf(params,"s",stringbert2))return SendClientMessage(playerid,HELLROT,"AdmCmd: Benutze /f [Text]");
format(stringbert,sizeof(stringbert),"(( Team Chat: {CCB596}%s{FFFFFF}: %s ))",SpielerName(playerid),stringbert2);
for(new i=0;i<MAX_PLAYERS;i++)
{
if(!IsPlayerConnected(i))continue;
if(klasse[playerid]!=klasse[i])continue;
if(klasse[playerid]==1) { SendClientMessage(i,FarbefurKlasse1,stringbert); }
if(klasse[playerid]==2) { SendClientMessage(i,FarbefurKlasse2,stringbert); }
// ..
}
return 1;
}
/Pawncode -
Morgen,
Ich habe ein Problem mit dem /lock Befehl undzwar, wenn ein Spieler auf einem Fahrzeug sitzt und das Fahrzeug abschließt, ist das Fahrzeug abgeschlossen.
Alles schön und gut doch, wenn jemand hintereinander F drückt, kommt er trozdem auf das Fahrzeug und der andere Spieler wird rausgeschmissen.Code:
public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
if(locked[vehicleid] == 1)
{
TogglePlayerControllable(playerid, 0);
TogglePlayerControllable(playerid, 1);
SendClientMessage(playerid, weiß, "Fahrzeug abgeschlossen..!");
}
....
} -
Ich glaube so müsste es funktionieren 0o
Danke funktioniert. -
Habs So & es Geht
Spoiler anzeigen if(strcmp(cmd, "/o", true) == 0 || strcmp(cmd, "/ooc", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(Spieler[playerid][Level] <= 2)
{
SendClientMessage(playerid, Grau, "Der OOC-Channel ist ab Level 2. Solltest du Fragen haben wende dich an /sup");
return 1;
}
new string[128];
if(OOCOn == 0)
{
SendClientMessage(playerid, BLAU, "Der OOC-Chat wurde von einem Administrator deaktiviert.");
return 1;
}
if(Spieler[playerid][Muted] > 0)
{
SendClientMessage(playerid, COLOR_LIGHTRED, "Du bist gemutet.");
return 1;
}
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))return SendClientMessage(playerid, BLAU, "FEHLER: /(o)oc [Nachricht]");
format(string, sizeof(string), "(( %s: %s ))" , SpielerName(playerid), result);
if(Spieler[playerid][Admin] > 0)return SendClientMessageToAll(COLOR_BLUE, string);
else if(Spieler[playerid][Admin] == 0)return SendClientMessageToAll(COLOR_WHITE, string);
}
return 1;
}
Ich benutze kein Godfather. -
Poste doch einfach den ganzen command und solltest du sscanf nutzen welche version nutzt du das plugin oder die funktion
Ich benutze sscanf + dcmd. -
ich geb dir folgenden Tipp
Frag die Länge des Strings ab, nachdem du ihn gemacht hast, und falls er länger als 144 zeichen ist, machst du 2 Messages draus.
ungefähr so:
new string[288]; // Sagen wir mal max 288 Zeichen 144 * 2
format(string,sizeof(string),"OOC %s: %s",pName,msg);
SendClientMessageToAll(weiß,string);
new len = strlen(string);
if(len > 144)
{
strdel(string,0,143);
SendClientMessageToAll(weiß,string);
}
return 1;So ungefähr
Habe es nun so:
new msg[288], string[288];
format(string, sizeof(string), "%s: %s", pName, msg);
SendClientMessageToAll(weiß, string);
new Stringlen = strlen(string);
if(stringlen > 144)
{
strdel(string, 0, 143);
SendClientMessageToAll(weiß, string);
}Mein Problem besteht weiterhin.
/eingerückt
-
Du kannst nur eine Maximaleanzahl an Zeichen im chat ausgeben wenn ich mich nicht täusche waren dies 144 zeichen.
Seid der 0.3x Version, falls Ich mich nicht irre, sind es 512. Aber auf anderen Server geht dies ja auch, wenn man etwas experementiert.
zeig mal dein pName variable und dein getPlayerName entprechend dazu
Hat damit nicht's zutun.
Der Text wird im Chat wie folgt angezeigt:ZitatLevis_Escobar: Hallo.
Und wenn der String zu lang ist, stoppt er an einer bestimmten Stelle:
ZitatLevis_Escobar: Hallo, Ich bin Lev_...
-
Ich habe mal wieder ein Problemchen.
Seid der 0.3x Version komme ich nicht ganz mit der formatierung der Strings mit.
Ich habe ein Befehl für den OOC Chat geschrieben, nun ist das Problem, dass der Text zu klein ist.Hier ist mal mein Code:
new string[512], msg[512];
format(string, sizeof(string), "%s: %s", pName, msg);
SendClientMessageToAll(blau, string); -
Danke euch zwei, mal was neues gelernt