Graal Forums  

Go Back   Graal Forums > Development Forums > NPC Scripting > Code Gallery
FAQ Members List Calendar Today's Posts

 
 
Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 12-25-2010, 04:14 AM
fowlplay4 fowlplay4 is offline
team canada
fowlplay4's Avatar
Join Date: Jul 2004
Location: Canada
Posts: 5,200
fowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond reputefowlplay4 has a reputation beyond repute
Floating Text Effect

It's a fairly simple effect that I recently remade on Zodiac and can be easily integrated into your own systems.

I've attached the effect at the bottom. Just upload it into your ganis folder.

Here's an example implementation:

-Effects_Text

PHP Code:
//#CLIENTSIDE

function onTimeout() {
  
// Check for Floating Text IDs
  
if (this.floating.size() > 0) {
    
// Loop through Floating Text IDs
    
for (temp.imgidthis.floating) {
      
// Check if ID is expired
      
if (timevar2 >= this.floating.(@imgid)) {
        
// Hide Floating Text
        
hideimg(imgid);
        
// Remove Floating Text ID Data and from Array
        
this.floating.(@imgid) = "";
        
this.floating.remove(imgid);
      }
    }
    
// Continue Looping if there's still Floating Text
    
if (this.floating.size() > 0) {
      
setTimer(0.1);
    }
  }
}

function 
onActionClientSide() {
  switch (
params[0]) {
    case 
"playerdmg":
      
showDamage(params[1]);
      break;
    case 
"npcdmg":
      
showNPCDamage(params[1], params[2], params[3]);
      break;
  }
}

public function 
showDamage(dmg) { 
  
// Determine Coordinates 
  
temp.tx player..5 random(-1,1); 
  
temp.ty player.random(-1,1); 
  
// Img ID Counter 
  
this.counter_npc = (this.counter_npc) % 20
  
// Draw Floating Text 
  
showFloatingText(this.counter_npctxtydmg100); 


public function 
showNPCDamage(txtydmg) { 
  
// Img ID Counter 
  
this.counter_npc = (this.counter_npc) % 20
  
// Draw Floating Text 
  
showFloatingText(200 this.counter_npctxtydmg100); 


public function 
showFloatingText(imgidtxtymsgrgbz) { 
  
// Hideimg just in case
  
hideimg(imgid);
  
// Add to Image Tracking Array 
  
if (!(imgid in this.floating)) this.floating.add(imgid); 
  
// Set Time to Hide 
  
this.floating.(@imgid) = timevar2 0.75
  
// Display Text 
  
showani(imgidtxty0"effect_floatingtext"msgrgbz); 
  
// Timeout 
  
setTimer(0.1); 

Then in your baddy:

PHP Code:
// Assumed Baddy Code
function onActionDamage(dmgfrom) {
  
// Tell Attacker's Client to Draw Damage Text
  
findplayer(from).triggerclient("weapon""-Effects_Text""npcdmg"this.xthis.ydmg);

Upon doing damage to the baddy it should tell your client to display the floating damage text on your screen.

If you just want to test the code out:

PHP Code:
//#CLIENTSIDE
function onCreated() {
  
setTimer(0.5);
}

function 
onTimeout() {
  
temp.dmg int(random(1,10000));
  
findweapon("-Effects_Text").showDamage(temp.dmg);
  
setTimer(0.5);

If you want to see the effect just walk outside OSL on Zodiac and there should be some PKers killing each other.
Attached Files
File Type: gani effect_floatingtext.gani (1.6 KB, 297 views)
__________________
Quote:

Last edited by Admins; 07-04-2011 at 04:44 PM..
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 07:39 AM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.