Also schreib das noch das das Script auch weiß was Text ist, und darunter schreibst du den code, den ich dir eben geschickt habe.
Lg Black
Also schreib das noch das das Script auch weiß was Text ist, und darunter schreibst du den code, den ich dir eben geschickt habe.
Lg Black
Machs einfach, bzw setz das unter OnPlayerCommandText
Kopier dein Code in das callback und änder
Command: blablab
in
if(strcmp(cmdtxt,/class,true) == 0)
Lg Black
Welche errors bekommste?
Ich hab dir nur schnippsel gegeben, die callbacks hab ich nicht ausgeschrieben, kanst du selber machen, sowie das einrücken auch.
Lg Black
Wie gesagt, setz das leben bei OnPlayerSpawn auf INFINITY und nicht bei OnPlayerDeath^^
Mach das darüber noch und dann:
new str[128],Text[128];
new string[128];
format(string,sizeof(string),"** %s´s Werbung **",SpielerName(playerid));
SendClientMessageToAll(GRUEN,string);
format(str,sizeof(str),"%s",Text);
SendClientMessageToAll(GRUEN,str);
Änder mal bei OnPlayerCommandText unten das return 0; auf return 1;
Der code ist auch ein wenig falsch, warum das Leben beim sterben auf unendlich setzen? Und beim Spawnen auf 100?
OnPlayerSpawn
if(GetPVarInt(playerid,"pIstTot") == 1)
{
SetPlayerHealth(playerid,INFINITY);
DeletePVar(playerid,"pIstTot");
return 1;
}
Mal ne Frage..
Woher weiß das Script bei dir, was Text ist?
Kommt halt drauf an, ob du nen Antihealthhack system drin hast, und wie das aufgegbaut ist.
Denn manche Scripts verbieten es, das das Leben z.B. höher als 250 geht.
Lg Black
Oben:
new Rentcarpreis[5],Rentcarvar[MAX_PLAYERS],Mieter[MAX_VEHICLES]=999,checktimer,checktimervar[playerid] = 999;
OnGameModeInit
{
Rentcarpreis[0] = 4000;//auch für die anderen einstellen.
checktimer = SetTimer("Mietcheck",1000,1);
}
OnPlayerStateChange
for(new i = 0; i < sizeof(rentcar); i++)
{
if(rentcar == GetPlayerVehicleID(playerid)&& Mieter[rentcar] == playerid){ checktimervar[Mieter[rentcar]] = 999;}
if(rentcar[i] == GetPlayerVehicleID(playerid) && Mieter[GetPlayerVehicleID(playerid)] != playerid && Mieter[GetPlayerVehicleID(playerid)] == 999)
{
SendClientMessage(playerid,COLOR_WHITE,"Dieses Fahrzeug kannst du mieten.");
new string[64];
format(string,sizeof(string),"Preis: %d, benutze /mieten",Rentcarpreis[i]);
SendClientMessage(playerid,COLOR_WHITE,string);
Rentcarvar[playerid] = Rentcarpreis[i];
TogglePlayerControllable(playerid,0);
}
}
OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/mieten",true) == 0)
{
if(Rentcarvar[playerid] != 0)
{
GivePlayerMoney(playerid,-Rentcarvar[playerid];
TogglePlayerControllable(playerid,1);
Mieter[GetPlayerVehicleID(playerid)] = playerid;
}
else{SendClientMessage(playerid,COLOR_RED,"Dieses Fahrzeug kannst du nicht mieten.");}
}
}
OnPlayerExitvehicle
{
for(new i = 0; i < sizeof (rentcar); i++)
{
if(Mieter[rentcar] == playerid && GetPlayerVehicleID(playerid) == rentcar)
{
checktimervar[playerid] = 300;
}
}
}
forward Mietcheck();
public Mietcheck()
{
for(new i = 0; i < sizeof(rentcar); i++)
{
if(Mieter[rentcar[i][i]] != 999 && IsPlayerConnected(Mieter[rentcar[i][i]]) && checktimervar[Mieter[rentcar[i]]] != 999)
{
checktimervar[Mieter[rentcar[i][i]]] --;
if(checktimervar[Mieter[rentcar[i][i]]] <= 0)
{
Mieter[rentcar[i][i]] = 999;
//Fahrzeug wird Spieler weggenommen
}
}
}
}[/i][/i][/i][/i][/i]
UNGETESTET!!
Ich kann auch einiges vergessen haben, denn das ist nicht die beste Scriptzeit. Teste es einfach mal.
Lg Black[/i][/i][/i][/i][/i][/i][/i][/i][/i]
oben:
new Tot[MAX_PLAYERS];
OnPlayerDeath(playerid,killerid,reason)
{
Tot[playerid]= 1;
}
OnPlayerUpdate(playerid)
{
if(Tot[playerid] == 1)
{
SetPlayerHealth(playerid,100.0)
}
}
Dann wenn er den Friedhof verlässt Tot[playerid] = 0;
Lg
Black
Ich wette er hat das von Ping.
Du kannst das umbauen, jedoch musst du da über gewisse Grundkenntnisse verfügen.
Als erstes definierst du mal im Script, wieviel Fahrzeuge ein Spieler haben darf.
Bsp:
#define Player_Cars 2
als nächstes änderst du new Carlist[playerid][ahinfo](oder was das war) in new Carlist[playerid][Player_Cars][ahinfo];
Danach passt du die ganzen Sachen einfach an.
MfG
BlackLegend
if (!IsACop(killerid))
{
new killername[MAX_PLAYER_NAME];
GetPlayerName(killerid,killername,sizeof(killername));
GetPlayerZoneID(killerid);
WantedLevel[killerid] += 2;
SendClientMessage(killerid, COLOR_LIGHTRED,"Du hast ein Verbrechen begangen: Vorsätzlicher Mord, Zeuge: Unbekannt");
format(string,sizeof(string),"*Vergebene Wanteds: 2, Aktuelles WantedLevel: %d", WantedLevel[killerid]);
SendClientMessage(killerid,COLOR_YELLOW, string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
new vorfall[128];
format(vorfall, sizeof(vorfall), "HQ: Alle Einheiten: Reporter: Unbekannt");
SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
format(vorfall, sizeof(vorfall), "HQ: Verbrechen: %s, Gesuchter: %s","Vorsätzlicher Mord",killername);
SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
}
}
}
}
So sollts gehen^^
Zu dem 3DText: da weiß ich leider auch nicht wie man das macht das das nur für bestimmte Spieler sichtbar ist.
Du musst die Include in deinen Pawno include Ordner packen.
MfG
Black
Iwo oben im Script:
new WeaponName[][] =
{
"Keine","Schlagringe","Colfschläger","Schlagstock","Messer","Baseballschläger","Schaufel","Poolstock","Katana","Kettensege",
"Dildo","Dildo","Vibrator","Vibrator","Blumen","Gehstock","Granate","Tränengas","Molotov-Cocktail","xxxx","xxxx","xxxx","Pistole","schallgedämpfte Pistole","Desert Eagle","Schrotflinte","abgesägte Schrotflinte","automatische Schrotflinte",
"UZI","MP5","AK 47","M4","TEC9","Rifle","Sniper","Raketenwerfer","Bazuka","Flammenwerfer","Minigun","Auslöser","Rucksackbombe","Farbspray","Feuerlöscher","Kamera","XXXX","XXXX","Fallschirm"
};
Dann machste z.b.
format(string,sizeof(string),"%s mit %d Munition",WeaponName[Waffe1],Ammo1);
Na dann^^
Hier der Code:
OnPlayerDeath
WantedLevel[killerid] += 2;
SendClientMessage(killerid, COLOR_LIGHTRED,"Du hast ein Verbrechen begangen: Vorsätzlicher Mord, Zeuge: Unbekannt");
format(string,sizeof(string),"*Vergebene Wanteds: 2, Aktuelles WantedLevel: %d", WantedLevel[killerid]);
SendClientMessage(killerid,COLOR_YELLOW, string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(IsACop(i))
{
new vorfall[128];
format(vorfall, sizeof(vorfall), "HQ: Alle Einheiten: Reporter: Unbekannt");
SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
format(vorfall, sizeof(vorfall), "HQ: Verbrechen: %s, Gesuchter: %s","Vorsätzlicher Mord",killername);
SendClientMessage(i, TEAM_BLUE_COLOR, vorfall);
}
}
}
Oben im Script:
new Text3D:Wanted[MAX_PLAYERS];
OnPlayerSpawn:
if(GetPlayerWantedLevel(playerid) > 0)
{
new string[64];
format(string,sizeof(string),"Wantedlevel: %d",GetPlayerWantedLevel(playerid));
Wanted[playerid] = Create3DTextLabel(string,ROT,30.0,40.0,50.0,40.0,0);
Attach3DTextLabelToPlayer(Wanted[playerid], playerid, 0.0, 0.0, 0.4);
}
MfG
Black
Du musst new BuyFraktionsCar; ändern in new BuyFraktionsCar[MAX_PLAYERS];
und dann überall bei BuyFraktionsCar playerid hinterschreiben oder was auch immer welcher spieler halt: BuyFraktionsCar[playerid]
und hier:
if (PlayerInfo[playerid][pLeader] = 18)
fehlt ein =:
if (PlayerInfo[playerid][pLeader] == 18)
hier auch:
if(BuyFraktionsCar[playerid] = 0)
if(BuyFraktionsCar[playerid] == 0)
Machs ganz einfach so:
Du gehst zu der stelle von wo der Befehl gehen soll und holst dir von da die x,y und z coordiaten(/save)
Dann Fügst du eine if abfrage ein:
if(IsPlayerInRangeOfPoint(playerid, x,y,z,Entfernung) bei x y z fügst du einfach die koordinaten ein die du dir gespeichert hast, fertig:D
Unter welches Callback haste denn CreateObject rein geschrieben? (Ongamemodeinit usw.)