Szerző Téma: Probléma, rendõr szerverhez  (Megtekintve 1064 alkalommal)

Probléma, rendõr szerverhez
« Dátum: 2011. Augusztus 15. - 21:22:56 »
0 Show voters
Üdv.
Éppen Balásznak próbálok megírni valamit de nem jön össze..
Az a lényeg ha a killerid civil és a playerid rendõr akkor piros legyen a játékos.
Ha a killerid rendõr és a playerid civil akkor ha piros akkor jail ha nem akkor semmi.
Ha a killerid és a playerid is rendõr akkor figyelmezteti a killerid-t.
De sajnos valami nem jó.
Kód:
 
public OnPlayerDeath(playerid, killerid, reason)
{
new szin = GetPlayerColor(killerid);
    if(IsPlayerPolice(playerid) && IsPlayerCivil(killerid))
{
SetPlayerColor(killerid, COLOR_RED);
}
if(IsPlayerPolice(killerid) && IsPlayerCivil(playerid))
{
    if(szin == COLOR_RED)
{
    SendClientMessage(playerid,COLOR_RED,\"Börtönbe kerültél, 1 percre!\");
   SetPlayerPos(playerid, 264.8763,81.9862,1001.0390);
   SetPlayerInterior(playerid, 6);
   SetTimerEx(\"jail\", 1*60000, false, \"i\", playerid);
}
else
{
}
}
 
if(IsPlayerPolice(playerid) && IsPlayerPolice(killerid))
{
if(rendorkill[killerid] == 0)
{
   rendorkill[killerid] = 1;
   SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, a következõnél kick!(1/2)\");
}
else if(rendorkill[killerid] == 1)
{
   SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, kickelve lettél!(2/2)\");
   Kick(killerid);
}
}
return 1;
}

Nem elérhető Buba

  • 540
    • Profil megtekintése
Probléma, rendõr szerverhez
« Válasz #1 Dátum: 2011. Augusztus 15. - 21:52:06 »
0 Show voters
Aha, de konkrétan mi nem mûködik ebben? Én nem látok benne bakit...

Nem elérhető Kiss

  • 1962
    • Profil megtekintése
Probléma, rendõr szerverhez
« Válasz #2 Dátum: 2011. Augusztus 15. - 21:55:05 »
0 Show voters
Idézetet írta: Buba date=1313437926\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10487\" data-ipsquote-contentclass=\"forums_Topic
Aha, de konkrétan mi nem mûködik ebben? Én nem látok benne bakit...
 
Ha civil megöli a rendõrt akkor civil nem lesz PIROS.
Ha rendõr megöli a pirost akkor piros nem kerül börtönbe.

Probléma, rendõr szerverhez
« Válasz #3 Dátum: 2011. Augusztus 15. - 21:57:20 »
0 Show voters
Idézetet írta: Buba date=1313437926\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"10487\" data-ipsquote-contentclass=\"forums_Topic
Aha, de konkrétan mi nem mûködik ebben? Én nem látok benne bakit...
 
Errõl van szó, én se látok semmi hibát. Egyébként semmi se megy..
2 stock:
 
stock IsPlayerPolice(playerid)
{
if(gTeam[playerid] == TEAM_ZSARU1) {
return 1;
}
if(gTeam[playerid] == TEAM_ZSARU2) {
return 1;
}
if(gTeam[playerid] == TEAM_ZSARU3) {
return 1;
}
if(gTeam[playerid] == TEAM_ZSARU4) {
return 1;
}
return 0;
}
stock IsPlayerCivil(playerid) {
if(gTeam[playerid] == TEAM_CIVIL1) {
return 1;
}
if(gTeam[playerid] == TEAM_CIVIL2) {
return 1;
}
if(gTeam[playerid] == TEAM_CIVIL3) {
return 1;
}
if(gTeam[playerid] == TEAM_CIVIL4) {
return 1;
}
return 0;
}

Nem elérhető Buba

  • 540
    • Profil megtekintése
Probléma, rendõr szerverhez
« Válasz #4 Dátum: 2011. Augusztus 15. - 22:04:59 »
0 Show voters
hmmmmmm.
Szerintem ezt nem színnel kellene megoldani, mert az nálam sohasem mûködött. Hanem egy változóval, mellette persze színezgethetjük ahogy tetszik. Az is furcsáll nálam egy kicsit, hogy ezek a lekérdezések nincsenek lezárva, tehát ha nem ez történik, akkor mi legyen. Nem tudok mást, próbáld meg így. A változós dologhoz értesz Gumikacsa, gondolom :)
 

public OnPlayerDeath(playerid, killerid, reason)
{
   new szin = GetPlayerColor(killerid);
    if(IsPlayerPolice(playerid) && IsPlayerCivil(killerid))
   {
      SetPlayerColor(killerid, COLOR_RED);
     
   }
   else if(IsPlayerPolice(killerid) && IsPlayerCivil(playerid))
   {
       if(szin == COLOR_RED)
      {
          SendClientMessage(playerid,COLOR_RED,\"Börtönbe kerültél, 1 percre!\");
         SetPlayerPos(playerid, 264.8763,81.9862,1001.0390);
         SetPlayerInterior(playerid, 6);
         SetTimerEx(\"jail\", 1*60000, false, \"i\", playerid);
      }
      else
      {
      }
   }
 
   else if(IsPlayerPolice(playerid) && IsPlayerPolice(killerid))
   {
      if(rendorkill[killerid] == 0)
      {
         rendorkill[killerid] = 1;
         SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, a következõnél kick!(1/2)\");
      }
      else if(rendorkill[killerid] == 1)
      {
         SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, kickelve lettél!(2/2)\");
         Kick(killerid);
      }
   }
   return 1;
}

Probléma, rendõr szerverhez
« Válasz #5 Dátum: 2011. Augusztus 15. - 22:21:02 »
0 Show voters
Megcsináltam változóval, de attól még ugyanúgy semmi sem megy..
 
public OnPlayerDeath(playerid, killerid, reason)
{
if(IsPlayerCivil(killerid)) {
SetPlayerColor(killerid, COLOR_RED);
if(!IsPlayerPolice(playerid)) return rendortolt[playerid] = 1;
}
else if(IsPlayerPolice(killerid) && IsPlayerCivil(playerid)) {
if(rendortolt[playerid] == 1)
{
   SendClientMessage(playerid,COLOR_RED,\"Börtönbe kerültél, 1 percre!\");
            SetPlayerPos(playerid, 264.8763,81.9862,1001.0390);
            SetPlayerInterior(playerid, 6);
            SetTimerEx(\"jail\", 1*60000, false, \"i\", playerid);
} else {
}
      }
else if(IsPlayerPolice(playerid) && IsPlayerPolice(killerid)) {
if(rendorkill[killerid] == 0) {
   rendorkill[killerid] = 1;
            SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, a következõnél kick!(1/2)\");
         }
         else if(rendorkill[killerid] == 1) {
   SendClientMessage(killerid,0xFFFF00AA,\"TeamKill, kickelve lettél!(2/2)\");
            Kick(killerid);
         }
   }
   return 1;
}

Probléma, rendõr szerverhez
« Válasz #6 Dátum: 2011. Augusztus 15. - 22:30:01 »
0 Show voters
Nekem azért kellene több info.
Például az a rész ahol TEAM_ZSARU1 2 3 4 / TEAM_CIVIL1 2 3 4vannak létrehozva ahol a gTeam[playerid] változó megkapja ezeket az értékeket.
És azért betennék pár printf sort hogy lássam mi is történik, az OnPlayerDeath alatt.
[pawn]   printf(\" Police: %d | Civil: %d\", IsPlayerPolice(playerid), IsPlayerCivil(killerid));
if(IsPlayerPolice(playerid) && IsPlayerCivil(killerid))
{
   SetPlayerColor(killerid, COLOR_RED);
   printf(\"szín megváltoztatva killerid: %d\", killerid);
}[/pawn]
És azért sok helyen nem értem miért szerepel playerid érték mert ugye mindig a killerid a gyilkos és azzal kellene történni-e valaminek mondjuk a gyilkost zárjuk börtönbe, kickeljük és nem azt akit megöltek.
« Utoljára szerkesztve: 2011. Augusztus 15. - 22:33:13 írta Zsolesszka »

Nem elérhető Kiss

  • 1962
    • Profil megtekintése
Probléma, rendõr szerverhez
« Válasz #7 Dátum: 2011. Augusztus 15. - 22:57:54 »
0 Show voters
Köszönjük mindenkinek a segítséget, de hála Sheet cimbora megcsinálta nekem. Témát zárhatod Gumi.

Probléma, rendõr szerverhez
« Válasz #8 Dátum: 2011. Augusztus 16. - 07:24:27 »
0 Show voters
Még mindig nem tudom mi lehetett a hiba.. Pedig mindennek klappolnia kell.
Lock.

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal